是否有人尝试使用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>
答案 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
的更多信息