如何解决Websphere中wsjar的问题
2010-09-27 08:17:32 来源:WEB开发网解决wsjar的问题
通过上面的描述,我们已经明白,wsjar的URL格式是Websphere自己特殊的URL格式,解决wsjar的问题,我们需要从几个方面入手对于我们自己的应用。我们自己在写与URL相关的代码时,将wsjar的格式考虑进去,例如我们可以提供一个URL转换类
public class URLPatternResolver {
/** URL protocol for an entry from a jar file: "jar" */
private static final String URL_PROTOCOL_JAR = "jar";
/** URL protocol for an entry from a zip file: "zip" */
private static final String URL_PROTOCOL_ZIP = "zip";
/** URL protocol for an entry from a WebSphere jar file: "wsjar" */
private static final String URL_PROTOCOL_WSJAR = "wsjar";
/** Separator between JAR URL and file path within the JAR */
private static final String JAR_URL_SEPARATOR = "!/";
private static Log logger = LogFactory.getLog(URLPatternResolver.class);
public URLPatternResolver() {
super();
}
/**
* TODO 增加对zip的转换
*
* @param url
* 输入的url
* @return
*/
public static URL getStandardURL(String url) {
if (url == null) {
return null;
}
if (logger.isDebugEnabled()) {
logger.debug("解析URL:" + url);
}
URL urlObj = null;
if (url.startsWith(URL_PROTOCOL_WSJAR)) {
if (logger.isDebugEnabled()) {
logger.debug("当前使用的是WAS的classloader");
}
try {
url = url.substring(2);
urlObj = new URL(url);
} catch (Exception e) {
logger.error("URL转换出错!");
return null;
}
} else if (url.startsWith(URL_PROTOCOL_JAR)) {
if (logger.isDebugEnabled()) {
logger.debug("当前使用的是普通的classloader");
}
try {
urlObj = new URL(url);
} catch (Exception e) {
logger.error("URL转换出错!");
return null;
}
} else {
if (logger.isDebugEnabled()) {
logger.debug("当前使用的是普通的classloader");
}
try {
urlObj = new URL(url);
} catch (Exception e) {
logger.error("URL转换出错!");
return null;
}
}
return urlObj;
}
}
编缉推荐阅读以下文章
- 使用 WebSphere Process Server 修复流程
- 设置并置 WebSphere Application Server 负载均衡器和内容主机
- 利用 WebSphere Application Server 6.1 构建 SIP 集群应用环境及其性能调优
- WebSphere Process Server V6.0.2 集群,第 1 部分:了解拓扑
- 如何实现WebSphere Application Server 6集群环境下的定时服务
- 迁移集群环境中的 WebSphere Commerce
- WebSphere Process Server V6.0.2 集群,第 2 部分:安装和配置 WebSphere Process Server 集群
- Websphere MQ v6集群的负载均衡新功能
- 将 JUnit 插件集成到 WebSphere Studio 中
- 使用 IBM WebSphere MQ JMS 提供程序
更多精彩
赞助商链接