【问题标题】:Calling EJB from servlet从 servlet 调用 EJB
【发布时间】:2015-10-29 07:48:38
【问题描述】:

我使用了 JBOSS Develper Studio 8,基于 jre 1.7 的 JBOS 服务器 7.1 我有一个带有 ejb (DnenvikEJB) 和 Web 项目 (DnevnikWEB) 的 J2EE 项目(名称为 Dnevnik)。我想通过 jndi 查找从 servlet 调用 ejb。 EJB 的名称是 FasadaPrvi,他的远程接口是 FasadaPrviRemote。我对所有这些代码变体都有疑问:

InitialContext context = new InitialContext();
FasadaPrvi fasadaPrvi = (FasadaPrvi)context.lookup("java:comp/env/FasadaPrvi");

InitialContext context = new InitialContext();
FasadaPrvi fasadaPrvi = (FasadaPrvi)context.lookup("java:app/DnevnikEJB/FasadaPrvi");

InitialContext context = new InitialContext();
FasadaPrvi fasadaPrvi = (FasadaPrvi)context.lookup("java:global/DnevnikEJB/FasadaPrvi");

InitialContext context = new InitialContext();
FasadaPrvi fasadaPrvi = (FasadaPrvi)context.lookup("java:global/Dnevnik/DnevnikEJB/FasadaPrvi!sr.co.FasadaPrviRemote");

有谁知道问题出在哪里!?

【问题讨论】:

    标签: servlets jboss ejb jndi lookup


    【解决方案1】:

    来自 Jboss-wiki:https://docs.jboss.org/author/display/AS71/JNDI+Reference https://docs.jboss.org/author/display/AS71/Remote+EJB+invocations+via+JNDI+-+EJB+client+API+or+remote-naming+project

    Context ctx = new InitialContext(jndiProps);
    // lookup the bean     Foo
    beanRemoteInterface = (Foo) ctx.lookup("myapp/myejbmodule/FooBean!org.myapp.ejb.Foo");
    String bar = beanRemoteInterface.sayBar();
    

    和:

    ejb:myapp/myejbjar/MyEjbName!com.test.MyRemoteInterface
    ejb:myapp/myejbjar/MyStatefulName!comp.test.MyStatefulRemoteInterface?stateful
    

    此外,在部署 EJB 期间,Jboss 会向您显示您的 bean 使用哪些 JNDI 名称可见的信息。

    09:25:07,852 INFO  [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-4) JNDI bindings for session bean named RegistrationService in deployment unit subdeployment "MY_EJB-15.99.00.war" of deployment "MY_EAR-15.00.ear" are as follows:
    
        java:global/MY_EAR-15.00/MY_EJB-15.00/RegistrationService!foo.RegistrationService
        java:app/MY_EJB-15.00/RegistrationService!foo.RegistrationService
        java:module/RegistrationService!foo.RegistrationService
        java:global/MY_EAR-15.00/MY_EJB-15.00/RegistrationService
        java:app/MY_EJB-15.00/RegistrationService
        java:module/RegistrationService
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-25
      • 2012-09-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多