我正在开发一个OSGi项目。
尽管我没有在AOP与OSGi结合方面的多年经验,但我想知道如何在OSGi环境中最好地进行AOP?
我们已经实现了AOP场景,以创建一个控制台来拦截对bundle的调用,以便为此bundle启动的每个任务存储经过的时间。
今天,这个方面已经部署在jboss容器上,使用aspectj提供的LoadTimeWeaver(向jboss启动脚本添加代理程序以将容器中的jar包进行逐项处理-javaagent:%APP_HOME%\application\lib\aspectjweaver-1.6.11.jar)。
我读了一些关于这个问题的文章,但没有找到一个适合我的解决方法。例如,Equinox孵化器项目就有针对AspectJ的解决方案。但由于我正在使用Apache Felix和Bnd(tools),我不想使用Equinox的任何东西。编织过程的一个要求是应该是在加载时进行的(一个针对另一个bundle内部方法进行工具类的AspectJ bundle)。
是否有人可以分享使用AOP aspectj与OSGI Felix进行这种用例的经验?