在java osgi中调用拦截方法

时间:2014-06-23 13:56:19

标签: java osgi aspectj aspect

我目前正在为基于OSGi(java)的平台开发备份和恢复机制,并希望执行以下操作

BUNDLE A - 一些包裹:

void methodDefinedByInterface(Class1 a, Class2 b){
    ...
}

我希望能够为此方法添加类似注释的内容,如下所示:

@Backup
void methodDefinedByInterface(Class1 a, Class2 b){
    ...
}

这样我就可以在另一个包中收集类+方法信息以及变量数据本身,这样我就可以将这些数据提取出来,“方法调用包blabla中的类blabla,参数.. .. ..”。

这可能在OSGi中吗?我已经阅读了AspectJ,但我发现的大多数信息似乎过时了。或者我可以在目标平台上添加实现吗?

1 个答案:

答案 0 :(得分:1)

请参阅OSGi Core规范中的Weaving Hook规范。您可以实现钩子并将注释编织到已加载的类中,并添加必要的动态导入包语句,以使类可以看到包含注释的包。