我的domain.xml中的JNDI名称是
Context.lookup的定义如下:
dsName =" java:comp / env&#34 ;;
Context ctx =(Context)new javax.naming.InitialContext();
上下文envCtx =(上下文)ctx.lookup(dsName);
DataSource ds =(DataSource)envCtx.lookup(" jdbc / DataSource");
conn = ds.getConnection();
当使用以下配置连接到SQLserver时,我得到以下异常,因为它可以正常使用Oracle。查找名称不能正确验证,连接对象变为空。
javax.naming.NameNotFoundException:env / jdbc / DataSource
org.jboss.as.naming.ServiceBasedNamingStore.lookup(ServiceBasedNamingStore.java:104)中的错误[stderr](ServerService线程池 - 78)
org.jboss.as.naming.NamingContext.lookup(NamingContext.java:197)中的错误[stderr](ServerService线程池 - 78) 显示java.lang.NullPointerException
甚至尝试过像
这样的事情DataSource ds =(DataSource)envCtx.lookup(" java:comp / env / jdbc / DataSource");
有人可以建议吗。
由于
答案 0 :(得分:1)
检查管理控制台中的日志和/或JNDI树。
试试这些:
"java:DataSource"
"java:jboss/datasources/DataSource"
如果没有,请在此处粘贴配置文件中的数据源配置部分(例如standalone.xml)