JBoss 7.1中的InitialContext.lookup()参数
我是EJB3.1的新手,尝试了解JBoss应用服务器7.1的一些基础知识 目前,我陷入了一个非常基本的问题。当服务器上的一个bean想要使用另一个bean时,我需要使用InitialContext.lookup()方法。如果我查阅文献,我会发现这样的电话:JBoss 7.1中的InitialContext.lookup()参数,jboss,jboss7.x,ejb-3.1,initial-context,Jboss,Jboss7.x,Ejb 3.1,Initial Context,我是EJB3.1的新手,尝试了解JBoss应用服务器7.1的一些基础知识 目前,我陷入了一个非常基本的问题。当服务器上的一个bean想要使用另一个bean时,我需要使用InitialContext.lookup()方法。如果我查阅文献,我会发现这样的电话: TheBean = (<Interface>) new InitialContext().lookup("<NameOfTheBean>/local"); 经过数小时的寻找,我找到了使用另一个调用的代码示例,如下所示
TheBean = (<Interface>) new InitialContext().lookup("<NameOfTheBean>/local");
经过数小时的寻找,我找到了使用另一个调用的代码示例,如下所示:
TheBean = (<Interface>) new InitialContext().lookup("ejb:/<Package>//<NameOfTheBean>!<Package>.<Interface>");
TheBean=()新建InitialContext().lookup(“ejb:///!”);
这个解决方案对我有效,但问题是为什么?有人知道为什么第一个调用产生异常而第二个调用工作正常吗
非常感谢 为什么?不同版本的JBoss在JNDI命名空间中使用不同的默认名称部署bean
ctx.lookup("BeanName/local")
对于JBoss 4.x.x及更高版本是正确的,但对于JBoss v7则不然。
您可以在JB7的server.log中看到bean如何映射到JNDI名称,
例如(参见java:/jboss/exported/…以及它如何对应于您的第二个连续调用):
13:57:05550信息[org.jboss.as.ejb3.deployment.processors.ejbjndibbindingsDeploymentUnitProcessor](MSC服务线程1-4)部署单元部署“navi-ejb3.jar”中名为ProductionHistoryBean的会话bean的JNDI绑定如下:
java:global/navi-ejb3/ProductionHistoryBean!navi.ejb3.production.history
.ProductionHistoryRemote
java:app/navi-ejb3/ProductionHistoryBean!navi.ejb3.production.history.Pr
生产历史远程
java:module/ProductionHistoryBean!navi.ejb3.production.history.Productio
历史记忆
java:jboss/exported/navi-ejb3/ProductionHistoryBean!navi.ejb3.production
.history.ProductionHistoryRemote
java:global/navi-ejb3/ProductionHistoryBean
java:app/navi-ejb3/ProductionHistoryBean
java:module/ProductionHistoryBean
您真的需要JNDI查找吗?
@EJB
也能正常工作吗?不知道他们改变了“调用”bean的方式。谢谢,我明白!
ctx.lookup("BeanName/local")
13:57:05,550 INFO [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-4) JNDI bindings for session bean named ProductionHistoryBean in deployment unit deployment "navi-ejb3.jar" are as follows:
java:global/navi-ejb3/ProductionHistoryBean!navi.ejb3.production.history
.ProductionHistoryRemote
java:app/navi-ejb3/ProductionHistoryBean!navi.ejb3.production.history.Pr
oductionHistoryRemote
java:module/ProductionHistoryBean!navi.ejb3.production.history.Productio
nHistoryRemote
java:jboss/exported/navi-ejb3/ProductionHistoryBean!navi.ejb3.production
.history.ProductionHistoryRemote
java:global/navi-ejb3/ProductionHistoryBean
java:app/navi-ejb3/ProductionHistoryBean
java:module/ProductionHistoryBean