如何在 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 但没有太多文档,也错过了命令行构建。
我想为 OSGI (Apache Felix)
中的 类 个不同的包添加 AOP我需要创建 Aspect 并将横切功能添加到每个实现特定接口的方法中。 (首选帮助 aspectj)
问题:
- 目标接口在不同包中的所有实现
- 每个包都有自己的类路径。
- 我们不知道 包有接口 的实现
请帮忙 8)
OSGi 有一个 Weavinghook 允许您拦截 class 加载。这个钩子允许你检查字节码并在它变成 class 之前修改它。它还允许您添加导入。
OSGi weavinghooks 规范涵盖 类 的编织以添加方面。
这里是 example 如何使用它。该示例使用 asm,但我很确定您可以针对 aspectj 对其进行调整。
另一个 example 使用 aspectj 但没有太多文档,也错过了命令行构建。