2012-03-30 65 views
5

我正在学习EJB 3.0的基础知识。我已经设法启动并运行了一个示例代码。现在我正在逐行分析,以便有深入的了解。但是我陷入了几行查找所需的bean的行。EJB查找的初始上下文属性值

任何人都可以请用简单的语言解释我的意思和以下几行的需要吗?

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


什么是每个在物业使用的“关键”和“价值”的确切含义?

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

在此先感谢。

回答

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上下文工厂很重要。

UPDATE:

我会建议使用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 
+0

目前我在防火墙后面,该网站被封锁!感谢您的回复。但是,为什么使用它,我能得到更好的解释吗? – 2012-03-30 05:39:36

+0

这很有趣,URL是官方的RedHat Jboss documentation.I可以通过邮件发送给你,如果你想。这个文件你必须阅读undist以及为什么它被使用。 – rkosegi 2012-03-30 05:44:05

+0

是的,我知道。当然,你可以把它发送到[email protected]。另外,我要求管理员进行研究!谢谢。 – 2012-03-30 05:59:36