我正在尝试使用JBOSS EAP 6.4上的数据源运行应用程序 在standalone.xml文件中,我的数据源定义良好。 当我尝试:
Context context = new InitialContext();
NamingEnumeration<NameClassPair> list = context.list("");
while (list.hasMore())
{
String name = list.next().getName();
System.out.println(name);
}
我只得到TransactionManager,而我期望我在standalone.xml中命名的数据源为jndi-name =“java:jboss / datasources / OracleDS”。
为什么我的数据源没有在jndi环境中定义?我错过了一些配置吗?
答案 0 :(得分:0)
Context.list(Name)
不包含子上下文。换句话说,您无法使用context.list("")
遍历所有已注册的名称。如果要列出数据源,则需要使用context.list("java:jboss/datasources)
。
您只获得/TransactionManager
的原因是因为它是在根命名空间下定义的唯一一个。