如何在 OSGI (Apache Felix) 中为别人的 bundle 实现 AOP?

How to implement AOP for someone else's bundles in OSGI (Apache Felix)?

我想为 OSGI (Apache Felix)

中的 类 个不同的包添加 AOP

我需要创建 Aspect 并将横切功能添加到每个实现特定接口的方法中。 (首选帮助 aspectj)

问题:

请帮忙 8)

OSGi 有一个 Weavinghook 允许您拦截 class 加载。这个钩子允许你检查字节码并在它变成 class 之前修改它。它还允许您添加导入。

OSGi weavinghooks 规范涵盖 类 的编织以添加方面。

这里是 example 如何使用它。该示例使用 asm,但我很确定您可以针对 aspectj 对其进行调整。

另一个 example 使用 aspectj 但没有太多文档,也错过了命令行构建。