繁体   English   中英

EJB 3.1问题

[英]EJB 3.1 problems

我尝试在jboss7服务器上部署jboss5 bean项目捆绑包。 另一个开发人员已经进行了一些更改,使代码可以在jboss7上运行,例如将jboss-deployment-structure.xml放入项目中。

我创建了两个bean,一个在项目A(BeanA)中,一个在项目B(BeanB)中。 BeanA必须查找BeanB。 我总是得到“找不到绑定类型为de.foo.soa.foobar.ba.ProjectB / BeanB的'de.foo.soa.foobar.al.BeanB'接口的EJB。

豆B:

    import javax.ejb.Stateless;
    import javax.ejb.LocalBean;

    @Stateless
    @LocalBean
    public class NumSrvLocalBean {

        public String testNumSrv() {
            return "numsrv works";
        }
    }

Bean A执行以下操作:

@EJB private NumSrvLocalBean numSrvLocalBean;
private String numSrvLocalBean_path = "java:module/NumSrvLocalBean!de.foo.soa.foobar.al.NumSrvLocalBean";
ctx = new InitialContext();
numSrvLocalBean = (NumSrvLocalBean) ctx.lookup(numSrvLocalBean_path);

我还向jboss-deployment-structure.xml添加了正确的依赖项:

    <module name="deployment.ProjectB.jar" export="true"/>

因此,一切对我来说都很好,但我总是会遇到这种例外情况。 我创建了自己的项目,将其称为项目X。在这里,我可以从所有其他项目(大约15个)中查找我想要的任何Bean。 我无法将项目A之外的任何bean注入项目A。但是我可以将项目内部的bean注入。 因此,必须有某种东西可以阻止项目中的bean。

我在项目A中有此文件:

  • jboss.xml
  • jboss-deployment-structure.xml
  • MANIFEST.MF(标准,未填充)
  • persistence.xml
  • seam.properties
  • ProjectA.properties(包含wsdlUrl,因为此项目也已配置为XML-RPC项目)

我期待着您的四个想法,

问候。

我通过使用EJB(mappedName =“ java:global / ....”)解决了这个问题。 我已经尝试过EJB(mappedName = className.JNDI_NAME),但这没有用。 我们在JBoss 5中使用了Interfaces,在其中我们定义了JNDI名称,例如

@Local
public interface ClassNameLocal extends ClassNameInterface {

    /** Name im JNDI (Java Naming and Directory Interface) */
    public final static String JNDI_NAME = "foo/bar/and/so/on/ClassName/local";

}

这似乎不再起作用。 我需要使用完整路径。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM