2014-09-04 74 views
0

我有Websphere AS运行项目,我正在迁移到JBoss ESP 6.2。但在JBoss部署时,它给出的问题涉及初始化数据源的上下文。问题与JBOSS initializeContext()

我使用下面的代码进行数据源查找从上下文

Context ctx = null; 
DataSource dataSource = null; 
Properties p = new Properties(); 
    try { 

     ctx = new InitialContext(); 
     return dataSource = (DataSource) ctx.lookup("jdbc/" + dataSourceStr); 
    } catch (Exception e) { 
     System.out.println(e.toString()); 
    } 

异常在控制台:

23:15:56,959 WARNING [javax.enterprise.resource.webcontainer.jsf.config] (ServerService Thread Pool -- 48) javax.naming.NamingException: JBAS011843: Failed instantiate InitialContextFactory com.ibm.ejs.ns.jndi.CNInitialContextFactory from classloader ModuleClassLoader for Module "deployment.SmartEAR.ear.Smarti.war:main" from Service Module Loader: javax.naming.NamingException: JBAS011843: Failed instantiate InitialContextFactory com.ibm.ejs.ns.jndi.CNInitialContextFactory from classloader ModuleClassLoader for Module "deployment.SmartEAR.ear.Smarti.war:main" from Service Module Loader 
at org.jboss.as.naming.InitialContextFactoryBuilder.createInitialContextFactory(InitialContextFactoryBuilder.java:64) 
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source) [rt.jar:1.7.0_21] 
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source) [rt.jar:1.7.0_21] 
at javax.naming.InitialContext.init(Unknown Source) [rt.jar:1.7.0_21] 
at javax.naming.InitialContext.<init>(Unknown Source) [rt.jar:1.7.0_21] 
at com.sun.faces.config.WebConfiguration.processJndiEntries(WebConfiguration.java:683) [jsf-impl-2.1.19-redhat-2.jar:2.1.19-redhat-2] 
at com.sun.faces.config.WebConfiguration.<init>(WebConfiguration.java:134) [jsf-impl-2.1.19-redhat-2.jar:2.1.19-redhat-2] 
at com.sun.faces.config.WebConfiguration.getInstance(WebConfiguration.java:194) [jsf-impl-2.1.19-redhat-2.jar:2.1.19-redhat-2] 
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:158) [jsf-impl-2.1.19-redhat-2.jar:2.1.19-redhat-2] 
at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3339) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] 
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3777) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] 
at org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:156) [jboss-as-web-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14] 
at org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:60) [jboss-as-web-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14] 
at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:93) [jboss-as-web-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14] 
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [rt.jar:1.7.0_21] 
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) [rt.jar:1.7.0_21] 
at java.util.concurrent.FutureTask.run(Unknown Source) [rt.jar:1.7.0_21] 
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [rt.jar:1.7.0_21] 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.7.0_21] 
at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_21] 
at org.jboss.threads.JBossThread.run(JBossThread.java:122) 

任何一个有什么我在JBOSS是缺少想法?

+0

你在JBoss中配置数据源?请参阅[this](https://docs.jboss.org/author/display/AS71/DataSource+configuration?_sscc=t)。 – Adi 2014-09-04 18:05:59

+0

是的我使用名称java配置:jboss/datasources/securityDS – user416120 2014-09-04 18:15:39

回答

0

失败实例化的InitialContextFactory com.ibm.ejs.ns.jndi.CNInitialContextFactory

这似乎是com.ibm.ejs.ns.jndi.CNInitialContextFactory由WebSphere使用的工厂类。

也许,使用这条线

CTX =新的InitialContext()的JNDI绑定配置;

仍然适用于Websphere,但不适用于JBoss。

你应该提供到JBoss正确的配置,这就是:

java.naming.factory.initial的= org.jnp.interfaces.NamingContextFactory java.naming.provider.url的= JNP://本地主机:1099 java.naming.factory.url.pkgs = org.jboss.naming:org.jnp.interfaces