DeltaSpike与JTA数据源

时间:2014-01-09 19:53:49

标签: hibernate jpa cdi jta deltaspike

是否有人尝试使用Apache的DeltaSpike在Jetty中设置事务性? 我有一个webapp,我试图在Jetty中运行使用CDI并具有JTA数据源。我的事务管理器没有被注入,它是null,因此导致错误。我包括deltaspike jpa jar并按照下面给出的链接中的说明进行操作,但到目前为止它还没有工作。我可以看到当我在hibernate类内部进行深度调试时,我的配置默认为NOJTAPlatform,就像没有配置JTA一样。

任何想法都会受到赞赏。

    <dependency>
    <groupId>org.apache.deltaspike.modules</groupId>
    <artifactId>deltaspike-jpa-module-impl</artifactId>
    <version>0.5</version>
</dependency>

DeltaSpike配置链接:

http://deltaspike.apache.org/jpa.html

我在persistence.xml中指定的数据源:

<persistence-unit name="database" transaction-type="JTA">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <jta-data-source>jdbc/myDS</jta-data-source>
    <properties>
        <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
        <property name="hibernate.archive.autodetection" value="class"/>
        <property name="hibernate.id.new_generator_mappings" value="true"/>
    </properties>
</persistence-unit>

1 个答案:

答案 0 :(得分:1)

您在Jetty中使用哪种CDI实现,是否配置正确?

通过尝试一些简单的注射确保通用CDI注射正常吗?

确保包含核心delta spike依赖项deltaspike-core-api和deltaspike-core-impl

取决于您设置CDI的方式,您可能还需要deltaspike-cdictrl-api和特定的cdictrl api。

http://deltaspike.apache.org/documentation.html#configuration-of-deltaspike-core

的更多信息