背景
我将基于在桥接模式下的Apache Felix的在桥接模式下的Apache Felix运行时嵌入到Tomcat6容器中。在Tomcat6中的conf/server.xml文件中指定了一组JDBC连接。
<Resource name="foo/bar" ... />问题
标准的JNDI查找似乎不适用于部署到OSGi容器的包。
ctx.lookup("java:comp/env/foo/bar");要使OSGi运行时能够查找在父Tomcat6容器中注册的资源,还需要做什么特殊的工作吗?
发布于 2014-06-11 17:47:55
@Martin的评论让我想到了多线程部分。我把这个用在了:
ctx.lookup(...)中调用BundleActivator。这是因为,在桥接模式下,运行ClassLoader代码的线程的Activator可以查找父WAR文件中定义的所有类和资源。META-INF/context.xml通过<ResourceLink global="foo/bar" name="foo/bar" type="javax.sql.DataSource"/>公开JNDI资源https://stackoverflow.com/questions/23527202
复制相似问题