从JBOSS的战争中调用模块中存在的ejb3为7.1

时间:2013-04-25 07:52:29

标签: java jboss ejb-3.0 jndi

尝试从我的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.

请帮我解决这个问题。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以尝试通过添加来定义自己的界面吗? bean类中的 @LocalBinding(jndiBinding =“CSTimerBean”)。 请参阅此链接以验证您如何调用界面,这可能是您调用http://docs.jboss.org/ejb3/docs/tutorial/1.0.7/html/JNDI_Bindings.html

的方式中的问题