1

JmsTemplateを使用してメッセージを送信するたびに、例外がスローされます。(私はSpring 3.0.5.RELEASEを使用しました)。互換性のないクラスが見つかりません!

クラスパスのSpringjar:

クラスパスのSpringjar

エラーログ:

springframework.transaction.support.TransactionSynchronizationUtils.invokeAfterCompletion(136) | TransactionSynchronization.afterCompletion threw exception
java.lang.IncompatibleClassChangeError: Class org.springframework.jms.connection.JmsResourceHolder does not implement the requested interface org.springframework.transaction.support.ResourceHolder
    at org.springframework.transaction.support.ResourceHolderSynchronization.afterCompletion(ResourceHolderSynchronization.java:105)
    at org.springframework.transaction.support.TransactionSynchronizationUtils.invokeAfterCompletion(TransactionSynchronizationUtils.java:133)
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.invokeAfterCompletion(AbstractPlatformTransactionManager.java:904)
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerAfterCompletion(AbstractPlatformTransactionManager.java:879)
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:707)
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:632)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:314)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:116)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:621)
    at ...
4

2 に答える 2

1

JmsResourceHandlerorg.springframework.transaction.support.ResourceHolderSupportを拡張します。ResourceHolderSupportはResourceHolderを実装します。

ResourceHolderSupportは2つのjarファイルに含まれていました。

  • Spring-dao-2.0.8
  • Spring-tx-3.0.5.Release

spring-hibernate3-2.0.8の代わりにSpring-orm-3.0.5.Releaseを使用して問題を解決しました。

于 2013-04-06T07:24:30.577 に答える
0

この種の問題は通常、互換性のないバージョンのサードパーティがある場合に発生します。

この場合、スプリングジャーを「整列」させてみてください。同じスプリングバージョンを使用してください。これで問題が解決するはずです。

お役に立てれば。

于 2013-03-24T11:47:15.257 に答える