我正在将 WebSphere 6 项目迁移到 JBoss EAP 6.4。这样做我正在更改数据源和连接参数。
在其中一个问题上,我面临着一个奇怪的问题。 即使我将 INITIAL_CONTEXT_FACTORY 设置为 jboss 的
INITIAL_CONTEXT_FACTORY,
"org.jboss.naming.remote.client.InitialContextFactory"
仍然
env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"org.jboss.naming.remote.client.InitialContextFactory");
initialContext = new InitialContext();
这个初始上下文用于其他函数(如下):
DSReferenceFactory factory =
DSReferenceFactory.getInstance();
newconn = ((DataSource)
factory.initialContext.lookup(DATASOURCENAME)).getConnection();
log.debug("Connection taken");
上线
factory.initialContext.lookup(DATASOURCENAME)).getConnection();
我抛出以下错误:
java.lang.ClassNotFoundException:
com.ibm.websphere.naming.WsnInitialContextFactory
我没有在代码中使用 WebSphere 的任何内容。我正在手动设置 jboss,正如您在代码中看到的那样。但不知何故它仍然抛出这个错误,我无法真正将逻辑与之联系起来。
有谁可以帮助我吗?
谢谢
最佳答案
在我删除初始上下文工厂并使用 Maven 重新构建后,问题已解决。
而且在我从库中删除了 ws-runtime.jar 之后。
谢谢
关于java - 我设置了 INITIAL_CONTEXT_FACTORY, "org.jboss.naming.remote.client.InitialContextFactory"但它仍然寻找 websphere,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56933477/