我正在学习 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();
}
属性中使用的每个“键”和“值”的确切含义是什么?
剩下的就是将“属性”放入初始上下文实例中。我对上面的想法很模糊,但我想很清楚地澄清一下。如果有人能指出有关上述行的任何链接或见解,我将很高兴。
提前致谢。
最佳答案
两个属性都配置了 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
关于java - EJB 查找的初始上下文属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9937314/