1

我目前正在开发一个 OSGi 项目,其中某些部分非常适合 AOP 编程。没有很多 AOP 与 OSGi 结合的经验,我想知道如何在 OSGi 环境中最好地做 AOP?我已经阅读了一些关于这个问题的文章,但没有找到适合我的解决方案。例如,有一个 AspectJ 的 Equinox Incubator 项目,但最后一次构建是在 2008 年。但是由于我使用的是 Apache Felix 和 Bnd(tools),所以我想避免使用 Equinox 的某些东西。顺便说一句,编织过程的一个要求是它应该在编译时,也可能在稍后的加载时。此外,我正在使用 Ant 和 Bnd 来构建我的包。因此,如果我也可以将 Aspectj 集成到这个构建过程中,那就太好了。

希望有人可以分享这样一个用例的经验。

编辑

到目前为止的总结:

  • 正如Christian Schneider在他的回答中提到的那样,有可能使用Spring AOP(但可惜不是我要找的)
4

1 回答 1

1

我想你可以看看 Aries JPA。最近在那里添加了加载时间编织。似乎在较新的 OSGi 规范中也有一个编织钩子。所以现在支持 AspectJ 等可能是完全可能的。我还没有看到它在行动。

一个大问题当然是。为什么需要 AOP,你想用它做什么?一般来说,在大多数情况下,AOP 看起来比实际更简单,并且给您带来的好处比您最初想象的要多。所以我的建议是在过度使用 AOP 之前要小心并三思而后行。

于 2012-07-03T13:18:04.863 回答