@Transactional in super classes not weaved when using load time weaving

Tomcat default classlLoader is WebappClassLoader, but you need `TomcatInstrumentableClassLoader.

There are two solutions:

  1. Modify WebappLoader.class

Change WebappLoader.java

private String loaderClass =  "org.apache.catalina.loader.WebappClassLoader";

Replace:

private String loaderClass = "org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader";  

Compile it and replaced the class file(catalina.jar), then it works.

Here is required dependency jars: catalina.jar,tomcat-coyote.jar,tomcat-util.jar(/bin),tomcat-juli.jar

  1. Modify context.xml:

<?xml version="1.0" encoding="UTF-8"?>  
<Context>  
    <Loader loaderClass="org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader"/>  
</Context>

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)