【问题标题】:How to implement AOP for someone else's bundles in OSGI (Apache Felix)?如何在 OSGI (Apache Felix) 中为别人的包实现 AOP?
【发布时间】:2019-05-29 09:04:05
【问题描述】:

我想在 OSGI (Apache Felix)

中为不同包的类添加 AOP

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

问题:

  • 不同包中目标接口的所有实现
  • 每个包都有自己的类路径。
  • 我们不知道女巫捆绑有接口的实现

请帮忙 8)

【问题讨论】:

    标签: java osgi aop aspectj apache-felix


    【解决方案1】:

    OSGi weavinghooks 规范涵盖了用于添加方面的类的编织。

    这是一个example 的使用方法。该示例使用 asm,但我很确定您可以将其调整为 aspectj。

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2016-10-13
        • 1970-01-01
        • 2014-11-10
        • 1970-01-01
        • 2014-08-16
        • 2018-05-14
        • 2014-05-17
        • 2020-07-29
        • 2014-12-19
        相关资源
        最近更新 更多