我正在学习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'放在初始上下文实例中。我对上述内容有一个非常模糊的想法,但我想非常清楚地澄清它。如果有人能指出我对上述内容的任何链接或见解,我会很高兴。
提前致谢。
答案 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