【问题标题】:JNDI Issues: Jboss 4.2.2 Spring 2.5 and hibernate ejbJNDI 问题:Jboss 4.2.2 Spring 2.5 和休眠 ejb
【发布时间】:2011-02-10 09:54:59
【问题描述】:

我有一个奇怪的问题,这让我有些悲伤。如果以下 jar 在我的类路径中:

<dependency>
<groupId>org.hibernate</groupId>
<artifactId>org.hibernate.ejb</artifactId>
<version>3.3.2.GA</version>
</dependency>

我对数据源的 JNDI 查找返回 null。这是我用来进行查找的基本代码:

InitialDirContext ctx = new InitialDirContext(env);
DataSource dataSource = (DataSource)ctx.lookup("java:dataContent");

否则,DataSource 从上下文中返回正常。不幸的是,我需要 jar 以避免 Jboss 4.2.2 中的 ClassCastExceptions。

感谢任何帮助。

<datasources>
<local-tx-datasource>
<jndi-name>dataContent</jndi-name>
<connection-url>jdbc:oracle:thin:@server.net:1521:XXX</connection-url>
<min-pool-size>1</min-pool-size>
<max-pool-size>5</max-pool-size>
<user-name>dbuser</user-name>
<valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker</valid-connection-checker-class-name>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
<password>dbpasswd</password>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
</local-tx-datasource>
</datasources>

【问题讨论】:

  • 你是什么意思它返回null但返回正常?罐子和问题有什么关系?
  • 返回罚款意味着非空数据源。我不确定 jar 与它有什么关系,但我想知道它是否是 hibernate 3 vs jboss 4.2.2 问题。我尝试升级服务器上的休眠 jar,但没有帮助。
  • 你能把数据源定义贴在-ds.xml文件里吗?
  • 已发布。感谢您的帮助。
  • 听起来很奇怪,您需要在 JBoss 中捆绑休眠以避免 ClassCastExceptions。你能描述一下你得到的错误吗?

标签: java jboss datasource


【解决方案1】:

我记得 JBoss 4.2 与 EJB3/JPA 兼容,因此休眠持久性实现只能用于编译。以下 maven 依赖项应完成此操作:

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>org.hibernate.ejb</artifactId>
    <version>3.3.2.GA</version>
    <scope>provided</scope>
</dependency>

如果您只使用 JPA 部分,您可能会进一步缩减,仅取决于 javax.persistence api。

【讨论】:

    【解决方案2】:

    看起来包含该依赖项也会传递一些其他罐子。确保您的应用程序打包 JBoss 特定的 jar 文件。在这种情况下,我认为可能是您的应用程序中存在 jboss-common-core.jar 导致了这个问题。删除那个 jar(以及任何其他 JBoss 特定的 jar 文件)——您可以在 maven 依赖项中添加一个。

    【讨论】:

    • Jaikiran,它的出现是“你可以在 maven 依赖项中添加一个”;正如另一个答案所示,您的意思是“您可以在 Maven 依赖项中添加 'provided'”?
    猜你喜欢
    • 2013-06-27
    • 2020-03-02
    • 2012-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-09
    • 2011-01-31
    • 2015-11-19
    相关资源
    最近更新 更多