5

我正在学习 EJB 3.0 的基础知识。我已经设法启动并运行了一个示例代码。现在我正在逐行分析以获得深入的知识。但是我被困在几行查找所需bean的地方。

谁能用简单的语言向我解释以下几行的含义和需要?

Properties properties = new Properties();
properties.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
properties.put("java.naming.factory.url.pkgs", "org.jboss.naming rg.jnp.interfaces");
properties.setProperty(Context.PROVIDER_URL, "localhost:1099");

IniialContext context = null;
SamleEjbRemote cl = null;
try {
    context = new InitialContext(properties);
    cl = (SampleEjbRemote) context.lookup("SampleEjbBean/remote");
} catch (NamingException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
}


属性中使用的每个“键”和“值”的确切含义是什么?

剩下的就是将“属性”放在初始上下文实例中。我对上面的想法有一个很模糊的概念,但我想把它说得很清楚。如果有人能指出有关上述行的任何链接或见解,我会很高兴。

提前致谢。

4

1 回答 1

7

这两个属性都配置了 JBoss JNDI HTTP InitialContext 工厂实现

官方文档在这里:http ://docs.jboss.org/jbossas/jboss4guide/r1/html/ch3.chapter.html

请参见第 3.2.1.2 章。HTTP InitialContext 工厂实现

java.naming.factory.initial:指定初始上下文工厂的环境属性名称,必须是 org.jboss.naming.HttpNamingContextFactory。

java.naming.factory.url.pkgs:对于所有 JBoss JNDI 提供者,这必须是 org.jboss.naming:org.jnp.interfaces。这个属性对于定位 JBoss JNDI 提供者的 jnp: 和 java: URL 上下文工厂是必不可少的。

更新:

我建议在你的类路径中使用 jndi.properties 文件

### JBossNS properties
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=jnp://localhost:1099
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
于 2012-03-30T05:24:00.927 回答