jndi与java reference到底有什么区别?

04-05-29 linmin
为什么引用ejb的时候有的时候用:。。。lookup("userejb");

有的书却用。。。。lookup("java:cmp/env/userejb");

前一个好象是jndi引用,后面一个是参考引用,具体有什么区别呢,据说参考应用是ejb1.0以后增加的特性

    

yangzheng
2004-05-31 09:55
前者是

在应用服务器的JNDI服务中定义的名字,它与一个class实例绑定在一起,所以通常是

UserEjb instance = context.lookup("userejb");

后者是

在ejb.xml文件中定义的名字

<env-entry>

<env-entry-name>userejb</env-entry-name>

<env-entry-type>java.lang.String</env-entry-type>

<env-entry-value>userejb</env-entry-value>

</env-entry>

userejb仅仅对应的字符串,通常是这样调用

String userejbName = context.lookup(("userejb");

UserEjb instantce = (UserEjb)Class.forName(userejbName);

banq
2004-06-01 18:47
参考应用是 reference name,初学者建议先不使用这种方式。

猜你喜欢