尝试为线程建议编织aspectj的ClassLoader问题

时间:2018-10-26 22:12:51

标签: jvm classloader aspectj

我们试图用Java字节码为本地Thread对象编织Aspectj。我们正在遇到类加载器问题,因为方面方面运行时编织必须为方面建议使用与rt.jar相同的类加载器。 有没有人成功做到这一点?由于其他要求,我们无法使用加载程序相似性来解决此问题。 该应用程序已部署在Liberty Server实例上。
该方面是此示例的实现:

public aspect ThreadStartInterceptor {     
      before(Thread childThread) :             
      Long parentId = new Long(Thread.currentThread().getId());
      Long  childId = new Long(childThread.getId());
      call(public void Thread+.start()) && target(childThread){         
           System.out.printf("%s%n  Parent thread: %3d -> %s%nChildthread:  
                %3d -> %s "   , thisJoinPoint,             
                parentId,             
                Thread.currentThread().getName(),             
                childId, 
                childThread.getName()         
              ); 
          SingletonCache.addCacheContext(
            childId.toString(),SingletonCache.getCachedContext(parentID.toString()))
       } 
}  

0 个答案:

没有答案