在OSGI中使用AOP的最佳解决方案是什么?

4

我正在使用Equinox,因此Equinox Aspect项目似乎是一个很好的选择,但该项目似乎不活跃,并且只有一页文档,让我感到困惑。

除了这个项目,我没有看到在OSGI中使用AOP的其他选项。请告诉我你们的想法和可能性,谢谢 :)


你成功让它们一起工作了吗? - Olimpiu POP
3个回答

1

我不知道有什么替代品,但我认为Equinox Aspects并不处于非活动状态。它甚至在即将发布的Helios版本中会收到新功能。


我给Martin Lippert发了电子邮件,Equinox Aspects似乎还活着,并且运行良好,但文档不足。我希望能从邮件列表中得到一些好的帮助。有人在使用Equinox Aspects吗? - user372304
Equinox Aspects 绝对不是已经死亡。它已经达到了一个阶段,最近没有被请求的新功能不多。因此,活动不是很多。Equinox Aspects 用于 AJDT 和 Scala 工具。这两个项目如果没有它将不会非常有用。 - Andrew Eisenberg

1

显然,最大的问题在于缺乏标准化的加载时织入;Equinox Aspects和编织器(由AJDT使用)目前是唯一的选择。好消息是,在OSGi工作组中,字节码织入正在积极进行,并将“很快”被标准化。如果您现在真的需要可靠的工作方案,最好的选择仍然是编译时织入。在我看来,这是一个更好的方法,至少对于AOP作为设计时活动,因为它最初就是这样设想的。


1
不幸的是,编译时织入并不适用于所有情况,特别是在OSGi中。您可能希望第三方用户在现有的OSGi应用程序中安装您的方面捆绑包。在这种情况下,您需要使用LTW来完成任务。我对这个LTW的OSGi选项很感兴趣,有链接吗? - Andrew Eisenberg
Andrew,没有链接,但这是CPEG中正在进行的工作,我的理解是AJDT/Equinox编织被用作起点(这很有道理)。Glyn应该知道更多。 ;) - Holger Hoffstätte

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接