【问题标题】:Wildfly JNDI datasource not found未找到 Wildfly JNDI 数据源
【发布时间】:2015-04-21 00:30:14
【问题描述】:

我有一个带有 java:jdbc/xyz 嵌入式 jndi 资源的应用程序(仅限战争二进制文件)

我尝试在 xyz-ds.xml 文件中表达,但找不到正确的语法。

Wildfly 坚持在 jndi 名称的开头使用 java:/java:/jboss,但似乎两者都不匹配..

<datasource jndi-name="java:/jdbc/xyz" poolname="xyz" enabled="true" use-java-context="true">
   ....
</datasource>

有人知道怎么做吗?

【问题讨论】:

  • 你可能想在这里查看我的答案stackoverflow.com/questions/12049882/…
  • 我做到了。没有对 jndi 映射做任何事情。我已经有了我需要的驱动程序。
  • 如果你没看错,你需要使用 java:jboss/ 而不是 java:/jboss :)
  • 是的,抱歉,这是我的错字。我不知道 java:jboss/datasources/ 将等同于 java:/jdbc ,@Zhedar 解释了。
  • 没问题,我仍然建议使用我的回答中解释的网络控制台。您的案例是手动添加数据源时常见问题的一个很好的例子。我也在回答中解释了这一点。

标签: java jndi wildfly


【解决方案1】:

这适用于我的 Wildfly 8 Standalone.xml 配置:
jndi-name="java:jboss/datasources/xyz"

这反映到
&lt;jta-data-source&gt;java:/jdbc/xyz&lt;/jta-data-source&gt;
虽然在 persistence.xml 中。

这有点混乱,感觉不直观,但根据documentation,这是正确的方法。

【讨论】:

  • 我明白你的意思。我试图将它移动到 java:jboss/datasources/xyz,但我仍然无法从代码中检索它,它只有一个 java:jdbc/xyz(没有前导斜杠)
  • @NielsBechNielsen 你不能修改persistence.xml 中的jndi 吗?
  • 我明白了,我不确定java:jdbc/xyz 是否曾经是 JBoss 服务器的正确 jndi,所以此时您可能不走运。
  • @Zhedar 我在您指向的文档中没有看到对java:/jdbc 的任何引用。
猜你喜欢
  • 2011-12-07
  • 2017-05-03
  • 1970-01-01
  • 2011-09-17
  • 1970-01-01
  • 2015-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多