Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

nested exception is java.lang.LinkageError: org/springframework/transaction/interceptor/TransactionInterceptor

Tags:

java

spring

maven

I have a switchyard application, there I have a bean class defined for loading application context.

However, whenever I am trying to load the application context I am getting below error:

30 May 2015 18:49:58,336 ERROR [com.alu.ipprd.aor.fsw.tt.db.DBServiceBean] (MSC service thread 1-18) DBServiceBean|0|Error occured while bean initialization : Unexpected exception parsing XML document from class path resource [applicationContext.xml]; nested exception is java.lang.LinkageError: org/springframework/transaction/interceptor/TransactionInterceptor

spring-tx jars is present in the classpath, but still I get this error.

Here is the pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
    xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <modelVersion>4.0.0</modelVersion>
    <groupId>com.ip.tt</groupId>
    <artifactId>platform-tt</artifactId>
    <version>3.2.0-SNAPSHOT</version>
    <name>platform-tt</name>

    <properties>
        <switchyard.version>1.1.0.Final</switchyard.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>4.0.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>4.0.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>4.2.0.SP1</version>
        </dependency>
        <!-- <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-c3p0</artifactId>
            <version>4.2.7.SP1</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-infinispan</artifactId>
            <version>4.2.0.SP1</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>4.2.0.SP1</version>
        </dependency> -->

        <dependency>
            <groupId>c3p0</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.1.2</version>
        </dependency>
        <dependency> 
            <groupId>net.sourceforge.saxon</groupId> 
            <artifactId>saxonhe</artifactId> 
            <version>9.2.1.5</version> 
        </dependency>

        <dependency>
            <groupId>org.jboss.as</groupId>
            <artifactId>jboss-as-security</artifactId>
            <version>7.1.1.Final</version>
        </dependency>
        <dependency>
            <groupId>org.jasypt</groupId>
            <artifactId>jasypt</artifactId>
            <version>1.9.0</version>
        </dependency>

        <dependency>
            <groupId>jboss</groupId>
            <artifactId>jboss-remoting</artifactId>
            <version>4.2.2.GA</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>4.0.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>com.alu.ipprd.aor.common.log</groupId>
            <artifactId>aor-plf-common-logging</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-expression</artifactId>
            <version>3.0.7.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>3.0.7.RELEASE</version>
        </dependency>
        <!-- Switchyard Dependencies -->
        <dependency>
            <groupId>org.switchyard.components</groupId>
            <artifactId>switchyard-component-bean</artifactId>
            <version>${switchyard.version}</version>
        </dependency>
        <dependency>
            <groupId>org.switchyard.components</groupId>
            <artifactId>switchyard-component-camel</artifactId>
            <version>${switchyard.version}</version>
        </dependency>
        <dependency>
            <groupId>org.switchyard.components</groupId>
            <artifactId>switchyard-component-rules</artifactId>
            <version>${switchyard.version}</version>
        </dependency>
        <dependency>
            <groupId>org.switchyard.components</groupId>
            <artifactId>switchyard-component-camel-quartz</artifactId>
            <version>${switchyard.version}</version>
        </dependency>
        <dependency>
            <groupId>org.switchyard.components</groupId>
            <artifactId>switchyard-component-soap</artifactId>
            <version>${switchyard.version}</version>
        </dependency>
        <dependency>
            <groupId>org.switchyard</groupId>
            <artifactId>switchyard-api</artifactId>
            <version>${switchyard.version}</version>
        </dependency>
        <dependency>
            <groupId>org.switchyard</groupId>
            <artifactId>switchyard-transform</artifactId>
            <version>${switchyard.version}</version>
        </dependency>
        <dependency>
            <groupId>org.switchyard</groupId>
            <artifactId>switchyard-validate</artifactId>
            <version>${switchyard.version}</version>
        </dependency>
        <dependency>
            <groupId>org.switchyard</groupId>
            <artifactId>switchyard-plugin</artifactId>
            <version>${switchyard.version}</version>
        </dependency>
        <dependency>
            <groupId>org.switchyard</groupId>
            <artifactId>switchyard-test</artifactId>
            <version>${switchyard.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.switchyard.components</groupId>
            <artifactId>switchyard-component-test-mixin-cdi</artifactId>
            <version>${switchyard.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.0</version>
        </dependency>
        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.6</version>
        </dependency>

        <!-- Module Dependencies -->
        <!-- <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>4.2.0.SP1</version>
            <scope>system</scope> <systemPath>${basedir}/lib/hibernate-core-4.2.0.SP1-redhat-1.jar</systemPath>
        </dependency> -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.21</version>
            <!-- <scope>system</scope> <systemPath>${basedir}/lib/mysql-connector-java-5.1.21.jar</systemPath> -->
        </dependency>
        <!-- <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache</artifactId> 
            <version>2.7.2</version> </dependency> -->

        <dependency>
            <groupId>org.switchyard.components</groupId>
            <artifactId>
                switchyard-component-test-mixin-http
            </artifactId>
            <version>${switchyard.version}</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                    <debug>true</debug>
                    <showWarnings>true</showWarnings>
                    <showDeprecation>true</showDeprecation>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.switchyard</groupId>
                <artifactId>switchyard-plugin</artifactId>
                <version>${switchyard.version}</version>
                <!-- <executions>
                    <execution>
                        <goals>
                            <goal>configure</goal>
                        </goals>
                    </execution>
                </executions> -->
                <configuration>
                    <scannerClassNames>
                        <param>
                            org.switchyard.transform.config.model.TransformSwitchYardScanner
                        </param>
                    </scannerClassNames>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

My applicationContext.xml file:

<?xml version="1.0" encoding="UTF-8"?>
<beans default-init-method="beanInit" default-destroy-method="beanDestroy"
    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:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xsi:schemaLocation="http://www.springframework.org/schema/beans classpath:org/springframework/beans/factory/xml/spring-beans-3.0.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd 
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">

    <bean id="decryptPropertyConfigurer" class="com.alu.ipprd.oss.common.util.DecryptPropertyConfigurer">
        <property name="locations">
            <list>
                <value>classpath:tt-db.properties</value>
            </list>
        </property>
    </bean>
    <tx:annotation-driven />
    <bean id="transactionManager" 
        class="org.springframework.orm.hibernate4.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>

    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="com.mysql.jdbc.Driver" />
        <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/database" />
        <property name="user" value="tt" />
        <property name="password" value="tt" />
        <property name="acquireIncrement" value="3" />
        <property name="minPoolSize" value="10" />
        <property name="maxPoolSize" value="100" />
        <property name="maxIdleTime" value="3000" />
        <property name="autoCommitOnClose" value="true" />
    </bean>

    <bean id="namingStrategy" class="org.hibernate.cfg.EJB3NamingStrategy"></bean>

    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="namingStrategy">
            <ref bean="namingStrategy" />
        </property>
        <property name="annotatedClasses">
            <list>
                <value>com.ip.fsw.tt.db.models.TTroubleticket</value>
                <value>com.ip.fsw.tt.db.models.TTroubleticketalarm
                </value>
            </list>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">${MY_SQL_DIALECT}</prop>
                <prop key="hibernate.show_sql">${SHOW_SQL}</prop>
                <prop key="org.hibernate.FlushMode">${FLUSH_MODE}</prop>
                <prop key="hibernate.hbm2ddl.auto">${HBM_2_DDL_AUTO}</prop>
            </props>
        </property>

        <property name="dataSource">
            <ref bean="dataSource" />
        </property>
    </bean>

    <bean id="genericDao" class="com.ip.fsw.tt.db.dao.GenericDao"
        abstract="true">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>

    <bean id="tTroubleticketDao" class="com.ip.fsw.tt.db.dao.TTroubleticketDao"
        parent="genericDao" />

    <bean id="tTroubleticketalarmDao" class="com.ip.fsw.tt.db.dao.TTroubleticketalarmDao"
        parent="genericDao" />

    <bean id="ttfacade" class="com.ip.fsw.tt.db.facade.DaoTicketFacade">
        <property name="tTroubleticketDao" ref="tTroubleticketDao" />
        <property name="tTroubleticketalarmDao" ref="tTroubleticketalarmDao" />
    </bean>
</beans>

I am not sure what exactly is the issue.

like image 631
dev Avatar asked Jun 18 '26 08:06

dev


1 Answers

I also encountered with the same issue today and looks like the issue was the mismatch of spring jar version.

Also verify pom.xml and make sure you do not have the same jar with different versions twice.

If you do have jar conflicts you would have to remove one of them as per the specific jar version you require.

like image 155
root Avatar answered Jun 19 '26 22:06

root



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!