如何在3个不同的java插件项目中使用3个不同的osgi包中的相同对象

时间:2014-11-24 13:52:00

标签: java spring java-ee osgi osgi-bundle

我在我的项目中使用OSGI框架,并使用Core Java。

有3个捆绑1.Interface捆绑2.实现捆绑(实现接口)3。APP捆绑(调用接口方法,我们将值设置为下面的对象)

我有 INTERFACE捆绑以及以下方法

public int addDevice(String Devtype,RegInfo reginfo);

public int modifyDevice(String Devicetype,int deviceID,RegInfo reginfo);

然后iam在 IMPLEMENTER包中实现上述方法。从上面可以看到有一个包含setter和getters的RegInfo对象。所以我将在中获取值来自对象的APP捆绑使用getter并在内部使用它。

然后我需要在 APP包中为RegInfo对象设置值。

我想在所有三个包中共享公共RegInfo对象。 请注意3个捆绑包意味着3个不同的java插件项目。

提前致谢。

1 个答案:

答案 0 :(得分:1)

我会假设RegInfo是包含接口的API包中的类型。因此,APP捆绑包将构造和配置RegInfo对象,并通过接口将其传递给实现接口的类。

您没有提及使用OSGi服务,但这是实现者捆绑包推荐消费者可以使用其接口实现的方法。然后,应用程序包将查找服务并使用它。

RegInfo听起来应该是DTO类型。