簡體   English   中英

使用Jboss AS 7從servlet查找遠程EJB3

[英]looking up remote an EJB3 from a servlet with Jboss AS 7

是有人可以告訴我程序中的問題嗎:遠程EJB 3是在BonjourEJB3項目中開發的。 BonjourEJB3ClientWeb是一個Web客戶端,它調用遠程EJB3項目。 我不使用Maven。 這是我進行遠程呼叫的方法:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String nom = request.getParameter("nom");
        String bonjour = "";

    Properties jndiProperties = new Properties();
    jndiProperties.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");
    jndiProperties.put(Context.PROVIDER_URL, "remote://localhost:4447");

    try {
        proxy = new InitialContext(jndiProperties);
        bonjourBean = (BonjourService) proxy.lookup("java:global/BonjourEJB3/BonjourBean!com.quesnay.service.distant.BonjourService");
        if (nom != null) {
            bonjour = bonjourBean.ditBonjour(nom);          
        } 
        else {}
    }catch (NamingException e) {
        e.printStackTrace();
    }

這就是讓我進入Eclipse控制台的原因:

Caused by: java.lang.RuntimeException: Error getting reflective information for class com.quesnay.servlet.BonjourCamarade with ClassLoader ModuleClassLoader for Module "deployment.BonjourEJB3ClientWeb.war:main" from Service Module Loader
    at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:70) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.as.ee.metadata.MethodAnnotationAggregator.runtimeAnnotationInformation(MethodAnnotationAggregator.java:58)
    at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.handleAnnotations(InterceptorAnnotationProcessor.java:85)
    at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:70)
    at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.deploy(InterceptorAnnotationProcessor.java:55)
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    ... 5 more
Caused by: java.lang.NoClassDefFoundError: Lcom/quesnay/service/distant/BonjourService;
    at java.lang.Class.getDeclaredFields0(Native Method) [rt.jar:1.7.0_03]
    at java.lang.Class.privateGetDeclaredFields(Unknown Source) [rt.jar:1.7.0_03]
    at java.lang.Class.getDeclaredFields(Unknown Source) [rt.jar:1.7.0_03]
    at org.jboss.as.server.deployment.reflect.ClassReflectionIndex.<init>(ClassReflectionIndex.java:57) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:66) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    ... 10 more
Caused by: java.lang.ClassNotFoundException: com.quesnay.service.distant.BonjourService from [Module "deployment.BonjourEJB3ClientWeb.war:main" from Service Module Loader]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
    ... 15 more

顯然,您在EJB客戶端中缺少某些類。

確保您具有ejb客戶端jar的最新版本,並且客戶端包含以下類com.quesnay.service.distant.BonjourService

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM