AspectJ:Weblogic 12 上的问题
AspectJ: Issue on Weblogic 12
我使用以下配置开发了一个 Java EE 应用程序:
- JDK1.7
- AspectJ 1.7
- 网络逻辑 12.1.3
然而,在将配置升级到以下配置后,所有带有 "call" 通配符的方面都无法正常工作,因此,无法触及已经命中的连接点,现在:
- JDK 版本:1.8.0_66
- AspectJ 版本:1.8.7
- 应用服务器:Weblogic 12.2.1
方面片段如下:
@Before("call(public * com.gam.commons.core.api.services.Service+.<em>(..)) && within(com.gam.calendar.biz.service.internal.impl.</em>)")
public无效句柄(JoinPoint thisJoinPoint){<br>
Class declaringType = thisJoinPoint.getSignature().getDeclaringType();
如果(declaringType.isInterface()){
UserProfileTO userProfileTO = ((AbstractService) thisJoinPoint.getThis()).getUserProfileTO();/* Caller or this <em>/
((Service) thisJoinPoint.getTarget()).setUserProfileTO(userProfileTO);/</em> 被调用者或目标 */
}
}
现在,我很高兴地期待您能给我任何有意义的分数。
注意:我的问题是由于其他原因造成的,请查看我的回答以收集有关该问题的更多信息。
我犯了一个错误,因为我的问题完全是由于其他原因造成的。当我更新我的项目以由 JDK 1.8.0_66 编译时,我应该重新配置 aspect-maven-plugin 以与此升级兼容。幸运的是,我的问题已经通过在POM文件上重新配置合适的插件解决了,如下:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.8</version>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.8.7</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjtools</artifactId>
<version>1.8.7</version>
</dependency>
</dependencies>
<configuration>
<complianceLevel>1.8</complianceLevel>
<source>1.8</source>
<target>1.8</target>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
</plugin>
有关 "aspectj-maven-plugin" 的更多信息,请访问 aspectj-maven-plugin
我使用以下配置开发了一个 Java EE 应用程序:
- JDK1.7
- AspectJ 1.7
- 网络逻辑 12.1.3
然而,在将配置升级到以下配置后,所有带有 "call" 通配符的方面都无法正常工作,因此,无法触及已经命中的连接点,现在:
- JDK 版本:1.8.0_66
- AspectJ 版本:1.8.7
- 应用服务器:Weblogic 12.2.1
方面片段如下:
@Before("call(public * com.gam.commons.core.api.services.Service+.<em>(..)) && within(com.gam.calendar.biz.service.internal.impl.</em>)")
public无效句柄(JoinPoint thisJoinPoint){<br>
Class declaringType = thisJoinPoint.getSignature().getDeclaringType();
如果(declaringType.isInterface()){
UserProfileTO userProfileTO = ((AbstractService) thisJoinPoint.getThis()).getUserProfileTO();/* Caller or this <em>/
((Service) thisJoinPoint.getTarget()).setUserProfileTO(userProfileTO);/</em> 被调用者或目标 */
}
}
现在,我很高兴地期待您能给我任何有意义的分数。
注意:我的问题是由于其他原因造成的,请查看我的回答以收集有关该问题的更多信息。
我犯了一个错误,因为我的问题完全是由于其他原因造成的。当我更新我的项目以由 JDK 1.8.0_66 编译时,我应该重新配置 aspect-maven-plugin 以与此升级兼容。幸运的是,我的问题已经通过在POM文件上重新配置合适的插件解决了,如下:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.8</version>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.8.7</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjtools</artifactId>
<version>1.8.7</version>
</dependency>
</dependencies>
<configuration>
<complianceLevel>1.8</complianceLevel>
<source>1.8</source>
<target>1.8</target>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
</plugin>
有关 "aspectj-maven-plugin" 的更多信息,请访问 aspectj-maven-plugin