我试图在OSGi Karaf环境中实现一个简单的Interceptor来调用已注册服务的方法。这些服务是通过蓝图配置发布的,尽管有工作示例如何拦截CXF Web服务,但我找不到有关如何注册org.apache.aries.blueprint.Interceptor
实现的任何文档。
此功能必须在几年前推出according to Jira。
在最广泛的意义上,这个问题与使用代理解决的Can I inject proxies in front of Blueprint services published by other bundles?有关,而拦截器方法仅在表面上讨论。
如果我在寻找的功能在apache术语中的标注方式不同,我仍然会发现一个工作的结束2-end示例非常有用,因为上面的线程只说明理论方法。
答案 0 :(得分:3)
您只能在名称空间处理程序中添加蓝图拦截器,而不是完全在该程序包之外。
有关实现命名空间的示例,请参阅blueprint-authz。正如您在示例中所看到的,您将不得不引入一个用户必须添加到其xml中的简单元素。这似乎是获取蓝图初始化的唯一方法。