EJB查找的初始Context属性值

时间:2012-03-30 05:12:47

标签: java jboss ejb-3.0 jndi initial-context

我正在学习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();
}


属性中使用的每个'key'和'value'的确切含义是什么?

其余的是将'properties'放在初始上下文实例中。我对上述内容有一个非常模糊的想法,但我想非常清楚地澄清它。如果有人能指出我对上述内容的任何链接或见解,我会很高兴。

提前致谢。

1 个答案:

答案 0 :(得分:7)

两个属性都配置JBoss JNDI HTTP InitialContext Factory Implementation

官方文件: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