尝试从我的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
}
}
接口和bean在switch.jar中作为7模块(JBOSS_HOME / modules / com.xxx.switch.main)位于jboss旁边。
现在我的问题是,我试图从战争(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.
请帮我解决这个问题。
提前致谢。
答案 0 :(得分:0)
您可以尝试通过添加来定义自己的界面吗? bean类中的 @LocalBinding(jndiBinding =“CSTimerBean”)。 请参阅此链接以验证您如何调用界面,这可能是您调用http://docs.jboss.org/ejb3/docs/tutorial/1.0.7/html/JNDI_Bindings.html
的方式中的问题