Results 1 to 5 of 5

Thread: Spring 3.0 upgrade

  1. #1
    Join Date
    Aug 2007
    Posts
    8

    Default Spring 3.0 upgrade

    Hi, I'm upgrading from spring 2.5.6 to spring 3.0 and I get the following exception:
    Code:
    10:00:19,323 WARN  [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator_2] TwoPhaseCoordinator.beforeCompletion - failed for com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple@5c5e85d3
    java.lang.NoSuchMethodError: org.springframework.transaction.support.TransactionSynchronizationManager.unbindResourceIfPossible(Ljava/lang/Object;)Ljava/lang/Object;
    	at org.springframework.orm.hibernate3.SpringSessionSynchronization.beforeCompletion(SpringSessionSynchronization.java:171)
    	at org.springframework.transaction.jta.SpringJtaSynchronizationAdapter.beforeCompletion(SpringJtaSynchronizationAdapter.java:134)
    	at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:101)
    	at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:269)
    	at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:89)
    	at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:177)
    	at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1423)
    	at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:137)
    	at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)
    	at org.jboss.aspects.tx.TxPolicy.endTransaction(TxPolicy.java:170)
    	at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:87)
    	at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:190)
    	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
    	at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
    	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
    	at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42)
    	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
    	at org.jboss.ejb3.security.Ejb3AuthenticationInterceptorv2.invoke(Ejb3AuthenticationInterceptorv2.java:186)
    	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
    	at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:41)
    	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
    	at org.jboss.ejb3.BlockContainerShutdownInterceptor.invoke(BlockContainerShutdownInterceptor.java:67)
    	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
    	at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67)
    	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
    	at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:421)
    	at org.jboss.ejb3.remoting.IsLocalInterceptor.invokeLocal(IsLocalInterceptor.java:85)
    	at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:72)
    	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
    	at org.jboss.aspects.remoting.PojiProxy.invoke(PojiProxy.java:62)
    	at $Proxy361.invoke(Unknown Source)
    	at org.jboss.ejb3.proxy.impl.handler.session.SessionProxyInvocationHandlerBase.invoke(SessionProxyInvocationHandlerBase.java:207)
    	at org.jboss.ejb3.proxy.impl.handler.session.SessionProxyInvocationHandlerBase.invoke(SessionProxyInvocationHandlerBase.java:164)
    	at $Proxy354.getAdtractionUserFromUserName(Unknown Source)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:597)
    	at org.springframework.remoting.rmi.RmiClientInterceptorUtils.invokeRemoteMethod(RmiClientInterceptorUtils.java:110)
    	at
     ...
    Using:
    JBoss AS 5.1
    Hibernate 3.3

    And cofiguration:
    Code:
    <beans>
    	<bean id="hibernateEntityInterceptor" class="net.adtraction.core.interceptor.LastUpdatedInterceptor"/>
    	<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">		
    		<property name="entityInterceptor">
    			<ref bean="hibernateEntityInterceptor" />
    		</property>
    
    		<property name="hibernateProperties">
    			<props>
    				<prop key="hibernate.jdbc.batch_size">30</prop>
    				<prop key="hibernate.connection.datasource">java:jdbc/AdtractionDS</prop>				
    				<prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
    				<prop key="hibernate.query.substitutions">true '1', false '0'</prop>
    				<prop key="hibernate.show_sql">true</prop>
    				<prop key="hibernate.transaction.factory_class">org.hibernate.transaction.CMTTransactionFactory</prop>
    				<prop key="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</prop>
    				
           	<prop key="hibernate.cache.provider_class">net.sf.ehcache.hibernate.SingletonEhCacheProvider</prop>
           	<prop key="hibernate.cache.use_second_level_cache">true</prop>
    	        									
    				<prop key="hibernate.cache.use_minimal_puts">true</prop> <!-- use in cluster environment -->
    				<prop key="hibernate.cache.use_query_cache">true</prop>
    			</props>
    		</property>
    		<property name="mappingResources">
    			<list>
    				<value>...</value>
    			</list>
    		</property>
    	</bean>
    </beans>
    And the following spring dependencies:
    Code:
    		<!-- Spring -->
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-core</artifactId>
    			<version>3.0.5.RELEASE</version>
    		</dependency>
    		<dependency>
    		    <groupId>org.springframework</groupId>
    		    <artifactId>spring-orm</artifactId>
    		    <version>3.0.5.RELEASE</version>
    		</dependency>
    		<dependency>
    		    <groupId>org.springframework</groupId>
    		    <artifactId>spring-context</artifactId>
    		    <version>3.0.5.RELEASE</version>
    		</dependency>
    		<dependency>
    		    <groupId>org.springframework</groupId>
    		    <artifactId>spring-context-support</artifactId>
    		    <version>3.0.5.RELEASE</version>
    		</dependency>
    		<dependency>
    		    <groupId>org.springframework</groupId>
    		    <artifactId>spring-jms</artifactId>
    		    <version>3.0.5.RELEASE</version>
    		</dependency>
    		<dependency>
    		    <groupId>org.springframework</groupId>
    		    <artifactId>spring-beans</artifactId>
    		    <version>3.0.5.RELEASE</version>
    		</dependency>
    		<dependency>
    		    <groupId>org.springframework</groupId>
    		    <artifactId>spring-asm</artifactId>
    		    <version>3.0.5.RELEASE</version>
    		</dependency>
    		<dependency>
    		    <groupId>org.springframework</groupId>
    		    <artifactId>spring-expression</artifactId>
    		    <version>3.0.5.RELEASE</version>
    		</dependency>
    		<dependency>
    		    <groupId>org.springframework</groupId>
    		    <artifactId>spring-aop</artifactId>
    		    <version>3.0.5.RELEASE</version>
    		</dependency>
    		<dependency>
    		    <groupId>org.springframework</groupId>
    		    <artifactId>spring-dao</artifactId>
    		    <version>2.0.8</version>
    		</dependency>
    		<dependency>
    		    <groupId>org.springframework</groupId>
    		    <artifactId>spring-jdbc</artifactId>
    		    <version>3.0.5.RELEASE</version>
    		</dependency>
    		<dependency>
    		    <groupId>org.springframework</groupId>
    		    <artifactId>spring-tx</artifactId>
    		    <version>3.0.5.RELEASE</version>
    		</dependency>
    		<!-- /Spring -->
    		<dependency>
    		    <groupId>aopalliance</groupId>
    		    <artifactId>aopalliance</artifactId>
    		    <version>1.0</version>
    		</dependency>
    Any ideas? Thx!

  2. #2
    Join Date
    Jun 2006
    Location
    The Netherlands
    Posts
    13,625

    Default

    You are mixing spring versions (3.0.5 and 2.0.8) NEVER mix different versions.
    Marten Deinum
    Java Consultant / Pragmatist / Open Source Enthousiast / Author


    Pro Spring MVC: With Web Flow
    Conspect

    Have you read the reference guide.
    Use the [ code ] tags, young padawan

  3. #3
    Join Date
    Aug 2007
    Posts
    8

    Default

    Thank you for spotting that, totally missed that one!

  4. #4

    Default Does Spring-dao hase 3.x version ?

    Quote Originally Posted by Marten Deinum View Post
    You are mixing spring versions (3.0.5 and 2.0.8) NEVER mix different versions.
    I stuck with same problem ...
    Not using spring-dao directly ...

    15:16:34,206 ERROR [org.springframework.transaction.support.Transactio nSynchronizationUtils] (pool-19-thread-1) TransactionSynchronization.afterCompletion threw exception: java.lang.NoSuchMethodError: org.springframework.transaction.support.Transactio nSynchronizationManager.unbindResourceIfPossible(L java/lang/ObjectLjava/lang/Object;
    at org.springframework.jdbc.datasource.DataSourceUtil s$ConnectionSynchronization.afterCompletion(DataSo urceUtils.java:473) [spring-jdbc-3.2.0.RELEASE.jar:3.2.0.RELEASE]
    at org.springframework.transaction.support.Transactio nSynchronizationUtils.invokeAfterCompletion(Transa ctionSynchronizationUtils.java:133) [spring-dao-2.0.8.jar:2.0.8]
    at org.springframework.transaction.support.AbstractPl atformTransactionManager.invokeAfterCompletion(Abs tractPlatformTransactionManager.java:904) [spring-dao-2.0.8.jar:2.0.8]
    at org.springframework.transaction.support.AbstractPl atformTransactionManager.triggerAfterCompletion(Ab stractPlatformTransactionManager.java:879) [spring-dao-2.0.8.jar:2.0.8]
    at org.springframework.transaction.support.AbstractPl atformTransactionManager.processCommit(AbstractPla tformTransactionManager.java:707) [spring-dao-2.0.8.jar:2.0.8]

  5. #5
    Join Date
    Jun 2006
    Location
    The Netherlands
    Posts
    13,625

    Default

    Check your dependencies something is pulling in the spring-dao 2.0.,8 dependency, exclude it from that dependency. You should never mix dependencies.

    You might want to use the maven-enforcer plugin (although not sure if it detects this one) to ban different versions of a jar/library.
    Marten Deinum
    Java Consultant / Pragmatist / Open Source Enthousiast / Author


    Pro Spring MVC: With Web Flow
    Conspect

    Have you read the reference guide.
    Use the [ code ] tags, young padawan

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •