我有一个 OSGi 捆绑包(不属于我 - 所以我无法更改它!),它公开(导出)一个服务EchoService
,我想将一个方面附加到这个服务的方法(以便执行一些前/后处理周围)。这些部署在 Apache Felix 容器上。
我已经编写了自己的 OSGi 包(显然导入了EchoService
),并使用标准 Spring AOP 将 Spring 方面附加到它。但是,看起来方面没有附加,并且我的拦截器没有被调用。
我怀疑这是因为我试图拦截一个不属于我的包的服务(这似乎是合理的)。那是对的吗?我该如何克服呢?
这是我的拦截器/方面的样子:
@Before("serviceOperation()")
public void before(JoinPoint jp) {
logger.debug("Entering method: " + jp.toShortString());
}
@AfterReturning("serviceOperation()")
public void after(JoinPoint jp) {
logger.debug("Exiting method: " + jp.toShortString());
}