融合 OSGi 与 Java EE:JNDI 与远程服务的应用探索
1. 利用 JNDI 融合 OSGi 与 Java EE
1.1 JNDI 中 OSGi 服务的检索
在使用 JNDI 检索 OSGi 服务时,若希望获取单个服务,通常会返回服务 ID( service.id 属性)最低的那个。若要检索多个服务,可以使用 servicelist 路径,示例代码如下:
NamingEnumeration<Binding> bindings =
context.listBindings("osgi:servicelist/javax.sql.DataSource");
while (bindings.hasMore()) {
Binding bd = (Binding) bindings.next();
System.out.println("Name = " + bd.getName() + "Class = " +
bd.getClassName() + ", Object = " + bd.getObject());
}
当使用 servicelist 时,JNDI 查找会返回一个 Context 对象。可以列出该 Context 对象的绑定,每个绑定代表一个 OSGi 服务。具体来说, Binding.getName() 返回服务 ID(例如,1
超级会员免费看
订阅专栏 解锁全文
144

被折叠的 条评论
为什么被折叠?



