java - EJB 查找的初始上下文属性值

标签 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();
}


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

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

提前致谢。

最佳答案

两个属性都配置了 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/

相关文章:

java - 如何在JBossAS 6.1.0.Final中监控Java堆空间

java - ejb 定时器服务与 cron

java - 在我的 Seam 项目中使用 EJB3 可以获得哪些提升?

java - "javax.ejb.NoSuchEJBException: Could not find stateful bean: "

java - 如何使用类参数分解 dao

java - 方法被重写后,类不可序列化

java - JSON:在服务器解析 json 数据时出现问题

java - 如何在 Windows 8.1 安装上配置 Apache Tomcat?

java - 如何从外部容器访问 JBoss 4.x 上的远程 EJB 2.1 bean

java - 如何在 JBoss AS7 中创建自定义字符串 JNDI 绑定(bind)?