0

我正在使用 JBOSS AS 7.1.1。我已经注册了一个数据源,并尝试通过我的 OSGI 包中的 JNDI 访问它,例如:

Context ctx = new InitialContext();

DataSource ds = (DataSource)ctx.lookup(datasource_jndi_name);

但是当我将捆绑包部署到 AS 时,出现异常:ClassNotFoundException: javax.naming.Context。

上下文是在 rt.jar 中定义的,所以我尝试将它包装在 bundle 中并将其部署到 AS,但得到了同样的错误。

我试图用 InitialContext 替换 Context 并得到 ClassNotFoundException: javax.naming.InitialContext。

4

1 回答 1

1

是的,OSGi 将其隔离开来。你一个Import-Packagejavax.naming。此外,您可能应该使用它JNDIContextManager#newInitialContext()来创建初始上下文。

于 2012-04-29T10:44:04.473 回答