【发布时间】:2010-06-21 15:31:06
【问题描述】:
我正在使用 Equinox,因此 Equinox Aspect 项目似乎很简单,但该项目似乎处于非活动状态,并且只有一页文档让我在最后犹豫不决。
除了那个项目,我没有看到很多在 OSGI 中使用 AOP 的选项。让我知道你们的想法和可能性是什么,谢谢:)
【问题讨论】:
-
您是否设法让它们一起工作?
标签: java aop osgi aspectj equinox
我正在使用 Equinox,因此 Equinox Aspect 项目似乎很简单,但该项目似乎处于非活动状态,并且只有一页文档让我在最后犹豫不决。
除了那个项目,我没有看到很多在 OSGI 中使用 AOP 的选项。让我知道你们的想法和可能性是什么,谢谢:)
【问题讨论】:
标签: java aop osgi aspectj equinox
我不知道任何替代方案,但我不认为 Equinox Aspects 处于非活动状态。它甚至在即将发布的Helios 版本中获得了新功能。
【讨论】:
最大的问题显然是缺乏标准化的加载时间编织; Equinox Aspects and the weaver(由 AJDT 使用)是目前唯一的选择。好消息是,OSGi 工作组正在积极推进字节码编织,并将“很快”标准化。如果你现在真的需要一些可靠的东西,你最好的选择仍然是编译时编织。恕我直言,无论如何,这是一种更好的方法,至少对于 AOP 作为设计时活动而言,它最初是设想的......
【讨论】:
作为替代方案,您还可以考虑使用 Apache Felix 依赖管理器,它允许您在运行时向现有 OSGi 服务添加拦截器。当然,这绝不是完全的 AOP 替代品,但对于某些用例来说可能就足够了。
您可以在此处找到更多文档和示例:
http://felix.apache.org/site/apache-felix-dependency-manager-osgi-design-patterns.html
【讨论】: