2017-09-13 15 views
0

現在、我々はweblogic serverを使用しています。したがって、以下に示すようにwebLogicJtaTransactionManagerを使用しています。WebLogicJtaTransactionManagerをtomcatでサポートされているTransactionManagerに変換する方法

<bean id="transaction manager" class="org.springframework.transaction.jta.WebLogicJtaTransactionManager" > 
<parameter="transactionManagerName" value="javax.transaction.TransactionManger" /> 
</bean> 

上記のXMLをtomcat対応のtransactionMangerに変更したいと思います。これを変更する方法を教えてください。私はTomcatサーバにデプロイしようとしましたが、これを変更するには、私は以下のエラーが発生しています。

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is org.springframework.transaction.TransactionSystemException: Could not initialize WebLogicJtaTransactionManager because WebLogic API classes are not available; nested exception is java.lang.ClassNotFoundException: weblogic.transaction.TransactionHelper 
+0

回答を受け入れるか、古い質問に戻ることを検討できます。あなたは彼らの多くが横たわっているようです。 – eis

答えて

1

たとえば、DataSourceTransactionManagerはプラットフォームに依存しません。 Javaの設定で

:XML設定で

import org.springframework.transaction.PlatformTransactionManager; 
import org.springframework.jdbc.datasource.DataSourceTransactionManager; 
import javax.sql.DataSource; 

// snip other stuff 

@Bean 
public PlatformTransactionManager transactionManager() { 
    return new DataSourceTransactionManager(dataSource()); 
} 
@Bean 
public DataSource dataSource() { 
    // create and return a new JDBC DataSource ... 
} 

<bean id="transactionManager" 
    class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> 
    <property name="dataSource" ref="datasource" /> 
</bean> 

て、WebLogicの例では、JTA対応のトランザクションマネージャを持っているので、それは分散トランザクションをサポートし、クロスプラットフォームJTAがありますSpringのトランザクションマネージャーJtaTransactionManager。しかし、TomcatはすぐにJTAをサポートしていないので、使用することはできません。上記の例を使用すると、データソースのトランザクションだけが得られます。

関連する問題