【问题标题】:Cannot find jndi data source找不到 jndi 数据源
【发布时间】:2014-05-20 09:58:01
【问题描述】:

我试图将我在 netbeans 中的 J2EE 项目从 windows 移动到 linux。我在 Windows 中的项目功能,但是当我在 Ubuntu 中启动它时,它给了我

"Exception while preparing the app : Invalid resource : jndi_ubuntu__pm
com.sun.appserv.connectors.internal.api.ConnectorRuntimeException: 
Invalid resource : jndi_ubuntu__pm"

我创建了数据源 jndi_ubuntu 但我去了 服务 -> 服务器 -> Glassfish -> 资源 -> JDBC -> JDBC 资源 我看不见!! 看起来我创建了新的数据源,但它没有看到它们。

persistence.xml:

<persistence-unit name="csm-catering-ejbPU" transaction-type="JTA"> 
 <jta-data-source>jndi_ubuntu</jta-data-source> 
 <exclude-unlisted-classes>false</exclude-unlisted-classes> 
 <properties/> 
</persistence-unit>

我该如何解决这个问题?

【问题讨论】:

  • 什么?您是想告诉我们您的 GlassFish 中没有数据源,并且您希望它可以找到数据源吗?
  • Resources下没有我创建的数据源jndi_ubuntu。
  • 您的应用程序正在尝试连接名为 jndi_ubuntu__pm 的数据源。您是否在 GlassFish 中创建了此数据源?
  • 我在 percistence.xml 文件中创建它并选择数据源:-> 新数据源..
  • 你是如何在persistence.xml中定义的?你能在这里复制/粘贴吗

标签: jakarta-ee netbeans glassfish jndi


【解决方案1】:

根据错误,应用程序正在尝试连接名为 jndi_ubuntu__pm 的数据源,而不是 jndi_ubuntu 。您需要修改 persistence.xml 中的 jta-data-source 标签为了匹配 dataSource JNDI 名称:

<jta-data-source>jndi_ubuntu__pm</jta-data-source>

【讨论】:

  • 我觉得没有那么简单的解决办法
  • 你可以试试
  • 同样的错误?您在 GlassFish 管理控制台中看到的 JDBC 资源的 JNDI 名称是什么(浏览 (localhost:4848))?
  • 我不明白我必须看到什么
  • 命令是glassfish-4.1/glassfish/bin/asadmin list-jdbc-resources,至少在 Ubuntu 上是这样。您也可以只执行glassfish-4.1/glassfish/bin/asadmin,然后运行各种命令。
【解决方案2】:

我解决了在 HOME/GLASSFISH/CONFIG/DOMAINS/DOMAIN1 中修改文件 domain.xml 的问题,就像在 Windows 上的同一个文件中一样。

【讨论】:

    猜你喜欢
    • 2011-09-17
    • 1970-01-01
    • 2015-04-21
    • 2011-12-07
    • 2017-05-21
    • 1970-01-01
    • 1970-01-01
    • 2020-07-19
    • 2014-11-11
    相关资源
    最近更新 更多