我在尝试从 war 文件调用 JBoss 7 模块中存在的 ejb3 时遇到问题。请查看以下详细信息-
这是本地界面-
package com.uniteller.switchcore.cs.iface;
import javax.ejb.Local;
import javax.ejb.Remote;
@Local
public interface CSTimer {
public boolean init( );
}
EJB:
package com.uniteller.switchcore.cs.impl;
import javax.ejb.LocalBean;
import javax.ejb.Stateless;
@Stateless
@LocalBean
public class CSTimerBean implements CSTimer {
public CSTimerBean() {
// TODO Auto-generated constructor stub
}
@Override
public boolean init() {
//Some log statements
}
}
接口(interface)和bean都位于Switch.jar内的jboss as 7模块(JBOSS_HOME/modules/com.xxx.switch.main)中。
现在我的问题是,我试图从 war (SwitchMain.war)中调用它,但出现以下异常 -
12:50:41,593 ERROR [stderr] (MSC service thread 1-4) javax.naming.NameNotFoundException: ejb:/UFSwitch/CSTimerBean!com.uniteller.switchcore.cs.iface.CSTimer -- service jboss.naming.
请帮我解决这个问题。
提前致谢。
最佳答案
您可以尝试通过添加来定义自己的界面吗 bean 类中的 @LocalBinding(jndiBinding = “CSTimerBean “)。 请参阅此链接来验证您如何调用该接口(interface),这可能是您调用http://docs.jboss.org/ejb3/docs/tutorial/1.0.7/html/JNDI_Bindings.html的方式存在问题。
关于java - 将 JBOSS 中的 war 中的模块中存在的 ejb3 调用为 7.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16209223/