Java 如何将接口名动态传递给实现类

Java 如何将接口名动态传递给实现类,java,osgi,Java,Osgi,如何在osgi中动态地将接口名传递给实现类 我需要这样的逻辑意义: // where the interface name is provided at runtime in Component.xml of declarative sevices in osgi public class Foo implements <T> { // do something } //其中接口名称在运行时在osgi中声明性服务的Component.xml中提供 公共类Foo实现{ //做点什么

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

我需要这样的逻辑意义:

// where the interface name is provided at runtime in Component.xml of declarative sevices in osgi
public class Foo implements <T> {
 // do something
}
//其中接口名称在运行时在osgi中声明性服务的Component.xml中提供
公共类Foo实现{
//做点什么
}

因此,无论我传递的接口名是什么,它都应该实现该接口(因为类实现了我传递的接口的所有方法)

你可以用CGLIB做各种疯狂的事情,但大多数情况下,您应该重新思考您的工作方式,您可能会找到一种更简单的解决方案。

您是否要动态地为已实现的接口提供实现?您试图实现的目标还不太清楚。您正在尝试动态注册服务吗?你是在追求类似的东西吗?OSGi服务已经允许您动态查找接口的实现,只要实现声明它们实现了该接口。你想解决什么额外的问题?我实际上想开发一个服务,它可以服务于任何组件。例如:PropertyManagement组件应该用于文具管理或一些书籍管理或一些dvd管理。如果diff组件需要不同的服务,那么同一个属性组件应该能够为它们提供所有这些数据,我们不应该为此编写适配器。属性管理组件应该做到这一点。我只是传递了接口的名称,propertymanagement服务应该兼容以提供该服务。在这种情况下,您可以实现多个接口。因此,如果接口T包含方法void bar(),当有人调用bar()时会发生什么?