【问题标题】:java ee 6 aop aspectjjava ee 6 aop 方面
【发布时间】:2012-03-15 15:25:38
【问题描述】:
是否可以将aspectj 与java ee 6 集成?
我想这样做是因为我有一些实体(我在独立的 eclipse 客户端上传输)并且我想编写一次并在任何地方使用......使用来自 EE 的拦截器它在客户端中不起作用。 (我只想在每次访问set 方法时通知听众)
我正在使用
-
glassfish 3 为 AS
java ee 6
提前谢谢你
【问题讨论】:
标签:
eclipse-rcp
aop
java-ee-6
glassfish-3
aspectj
【解决方案1】:
这是可能的。
最简单的选择是使用编译时编织。 Eclipse AJDT plugin 可以在开发过程中为您编译。 Ant 和 Maven 2 还支持使用 AspectJ 进行编译。 Here我写了一篇关于如何用Ant编译的回复。
还可以在加载时将方面编织到您的代码中。这有点困难,因为在不同的应用程序容器上使用不同的方法。独立时,您必须使用 JVM 参数来启用编织。
一个例子:
-javaagent:pathto/aspectjweaver.jar
我已经写了更多关于加载时编织here。
通过编译时编织,我在独立客户端、IBM Websphere、Jetty、Tomcat 和 JBoss 方面拥有丰富的经验。相同的代码适用于所有平台并产生相同的结果。关于 AspectJ,我在其他平台上没有任何不好的经历,只是没有尝试过。