2016-03-22 7 views
0

私はトランザクション管理のために私のプロジェクトでatomikos essentialsを使用しています。プロジェクトを展開した後、次の例外が発生します。私はそれに固執し、それを解決することができませんでした。これを解決するのに誰も助けてくれますか?AbstractMethodError in AtomikosDataSourceBean.getMaxLifetime()

Exception in thread "Atomikos:0" java.lang.AbstractMethodError: com.atomikos.jdbc.AtomikosDataSourceBean.getMaxLifetime()I at com.atomikos.datasource.pool.ConnectionPool.removeConnectionsThatExceededMaxLifetime(ConnectionPool.java:286) at com.atomikos.datasource.pool.ConnectionPool.access$000(ConnectionPool.java:47) at com.atomikos.datasource.pool.ConnectionPool$1.alarm(ConnectionPool.java:92) at com.atomikos.timing.PooledAlarmTimer.notifyListeners(PooledAlarmTimer.java:112) at com.atomikos.timing.PooledAlarmTimer.run(PooledAlarmTimer.java:99) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)

はここatomikos-JDBC V3.7を使用して

<?xml version="1.0" encoding="UTF-8"?> 

<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:util="http://www.springframework.org/schema/util" 
    xmlns:jee="http://www.springframework.org/schema/jee" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd 
     http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd 
     http://www.springframework.org/schema/jee 
     http://www.springframework.org/schema/jee/spring-jee-3.0.xsd"> 


<!-- Optional: add a log administrator - To view Active Transaction--> 
<!-- <bean id="localLogAdministrator" 
class="com.atomikos.icatch.admin.imp.LocalLogAdministrator"/> --> 

<bean id="userTransactionService" 
    class="com.atomikos.icatch.config.UserTransactionServiceImp" 
    init-method="init" destroy-method="shutdownForce"> 
    <constructor-arg> 
     <!-- IMPORTANT: specify all Atomikos properties here --> 
     <props> 
      <prop key="com.atomikos.icatch.service"> 
       com.atomikos.icatch.standalone.UserTransactionServiceFactory 
      </prop> 
     </props> 
    </constructor-arg> 

    <!-- Uncomment to see the java Applet Program to view the active transaction --> 
    <!-- <property name="initialLogAdministrators"> 
     <list> 
      <ref bean="localLogAdministrator"/> 
     </list> 
    </property> --> 
</bean> 

<!-- 
    Construct Atomikos UserTransactionManager to manage XA datasources 
--> 
<bean id="AtomikosTransactionManager" 
     class="com.atomikos.icatch.jta.UserTransactionManager" 
     init-method="init" destroy-method="close" 
     depends-on="userTransactionService"> 

    <!-- IMPORTANT: disable startup because the userTransactionService above does this --> 
    <property name="startupTransactionService" value="false"/> 

    <!-- 
     Decide when close is called, 
     should we force transactions to terminate or not? 
    --> 
    <property name="forceShutdown" value="false" /> 
</bean> 

<!-- 
    Atomikos User transaction to set transactionTimeout 
--> 
<bean id="AtomikosUserTransaction" 
     class="com.atomikos.icatch.jta.UserTransactionImp" 
     depends-on="userTransactionService"> 
    <property name="transactionTimeout" value="1000" /> 
</bean> 


<!-- To fetch datasource properties from JNDI --> 
<bean id="xadatasourceprops" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
     <property name="properties"> 
      <bean class="java.util.Properties"> 
       <constructor-arg> 
        <map> 
         <entry key="xaDataSourceClassName"> 
          <jee:jndi-lookup jndi-name="java:comp/env/xaDataSourceClassName"/> 
         </entry> 
         <entry key="user"> 
          <jee:jndi-lookup jndi-name="java:comp/env/user"/> 
         </entry> 
         <entry key="password"> 
          <jee:jndi-lookup jndi-name="java:comp/env/password"/> 
         </entry> 
         <entry key="url"> 
          <jee:jndi-lookup jndi-name="java:comp/env/url"/> 
         </entry> 
         <entry key="poolsize"> 
          <jee:jndi-lookup jndi-name="java:comp/env/poolsize"/> 
         </entry> 
        </map> 
       </constructor-arg> 
      </bean> 
     </property> 
</bean> 


<!-- Configuring Atomikos DataSource Bean for Database--> 

<bean id="atomikosDataSourceBean" class="com.atomikos.jdbc.AtomikosDataSourceBean" init-method="init" destroy-method="close">   
    <!-- set an arbitrary but unique name for the datasource -->  
    <property name="uniqueResourceName"><value>XADBResource</value></property> 

    <!-- set the underlying driver class to use -->  
    <property name="xaDataSourceClassName">   
     <value>${xaDataSourceClassName}</value>  
    </property>  
    <property name="xaProperties">   
     <!-- set the driver-specific XADataSource properties -->     
     <props>       
      <prop key="user">${user}</prop>       
      <prop key="password">${password}</prop>       
      <prop key="URL">${url}</prop>     
     </props>  
    </property>   
    <!-- how many connections in the pool? -->  
    <property name="poolSize" value="${poolsize}"/> 
</bean> 


<!-- Configuring Atomikos Connection Factory for JMS - ActiveMQ --> 

    <bean id="connectionFactory" 
     class="org.apache.activemq.spring.ActiveMQXAConnectionFactory"> 
     <property name="brokerURL" value="tcp://localhost:61616" /> 
     <property name="objectMessageSerializationDefered"> 
      <value>true</value> 
      </property>  
    </bean> 

     <bean id="jmsListenerContainerFactory" 
    class="org.springframework.jms.config.DefaultJmsListenerContainerFactory"> 
    <property name="connectionFactory" ref="connectionFactory" /> 
    </bean> 


     <!-- 
       Configure the JMS connector; 
       call init to register for recovery! 
     --> 
    <bean id="atomikosConnectionFactoryBean" 
       class="com.atomikos.jms.AtomikosConnectionFactoryBean" 
       init-method="init" destroy-method="close"> 
     <property name="uniqueResourceName" value="amq_jms" /> 
     <property name="xaConnectionFactory" ref="connectionFactory" /> 
     <property name="poolSize" value="5" /> 
    </bean> 

    <bean id="listenerContainerFactory" 
     class="org.springframework.jms.config.DefaultJmsListenerContainerFactory"> 
     <property name="connectionFactory" ref="connectionFactory" /> 
    </bean> 


</beans> 
+0

問題を解決するのに十分な情報がないと思います。アプリケーション内でAtomikosをどのように設定したかを示す設定をいくつか提供できますか? – pczeus

+0

@pczeus:アトミック設定を追加しました。確認してください。 – user3615185

+0

どのバージョンのAtomikosを使用していますか? – pczeus

答えて

1

、私atomikos構成であると前に、何のmaxLifeTime方法はありません。 後のバージョンにはメソッドがあります。したがって、あなたの問題を引き起こす同じバージョンではない2つのatomikosライブラリジャーの問題であるように見えます。

Atomikosライブラリを最新バージョンで更新してください。

関連する問題