在启动Jetty

时间:2016-08-02 08:37:40

标签: java transactions jetty

启动我的Jetty服务器时遇到以下异常。 java.lang.IllegalStateException:没有合适的构造函数:

<New id="tx" class="org.eclipse.jetty.plus.jndi.Transaction">| ?  <Arg>utxn</Arg>|?  <Arg>|?    <New class="com.atomikos.icatch.jta.J2eeUserTransaction"/>|?  </Arg>|?</New>

我在下面的pom.xml中包含了这些内容。

<dependency>
    <groupId>com.atomikos</groupId>
    <artifactId>transactions-jta</artifactId>
    <version>3.7.0</version>
</dependency>

我的web.xml中也有以下内容。

<resource-ref>
    <res-ref-name>utxn</res-ref-name>
    <res-type>javax.transaction.UserTransaction</res-type>
    <res-auth>Container</res-auth>
</resource-ref>

在jetty-env.xml中,我指定了以下内容。

<New id="tx" class="org.eclipse.jetty.plus.jndi.Transaction">
    <Arg>utxn</Arg>
    <Arg>
        <New class="com.atomikos.icatch.jta.J2eeUserTransaction"/>
    </Arg>
</New>

有什么可能导致异常的想法?

1 个答案:

答案 0 :(得分:1)

在您的配置中,您尝试使用两个参数创建类org.eclipse.jetty.plus.jndi.Transaction的实例:字符串utxn和类com.atomikos.icatch.jta.J2eeUserTransaction的实例。 但是类Transaction没有这种构造函数,请查看其规范here