2012-06-29 76 views
-2

如何将接口名称传递给实现类动态地在osgi中?如何将接口名称传递给实现类动态地

我需要的东西,这在逻辑上是说像这样:

// where the interface name is provided at runtime in Component.xml of declarative sevices in osgi 
public class Foo implements <T> { 
// do something 
} 

所以,无论我通过接口名称,它应该实现这个接口(因为该类实现了所有我通过接口的方法)

+0

你打算为动态实现的接口提供实现吗? – pavi

+2

这是不是很清楚你想要实现什么。您是否试图在飞行中注册服务?你是否像[代理](http://java.dzone.com/articles/power-proxies-java)之类的东西? OSGi服务已允许您动态查找接口的实现,只要实现声明它们实现了该接口即可。你想解决什么额外的问题? –

+0

我真的想开发一个服务,它将服务于任何组件。例如:PropertyManagement组件应服务于固定管理或某些图书管理或某个DVD管理的目的。如果差异组件需要不同的服务,相同的属性组件应该能够为它们提供所有这些数据,我们外部不应该为它写一个适配器。物业管理部门应该这样做。我只是通过接口的名称和propertymanagement服务应该兼容,以提供该服务 – Lakshmi

回答

2

你可以用CGLIB做各种疯狂的东西,但大部分时间你应该重新思考你做事情的方式,你可能会找到一种更简单的解决方案。

+0

@Viccari:感谢您的编辑 –

相关问题