数据源未在JNDI环境中定义(JBOSS EAP 6)

时间:2016-08-02 14:20:15

标签: jboss datasource jndi jboss-eap-6

我正在尝试使用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环境中定义?我错过了一些配置吗?

1 个答案:

答案 0 :(得分:0)

Context.list(Name)不包含子上下文。换句话说,您无法使用context.list("")遍历所有已注册的名称。如果要列出数据源,则需要使用context.list("java:jboss/datasources)

您只获得/TransactionManager的原因是因为它是在根命名空间下定义的唯一一个。