2013-04-09 1 views
0

난 .Jar 몇 개있어, EasyEjbNode1.jar와 EasyEjbNode2.jar라고 해. EasyEjbNode1.jar은 이전에 성공적으로 전개 된 EasyEjbNode2.jar에서 세션 빈을 호출하려고합니다. 여기 `JBoss 7 모듈이 해결되지 않은 종속성

import java.util.Properties; 
import javax.ejb.EJB; 
import javax.ejb.Stateless; 
import javax.naming.Context; 
import javax.naming.InitialContext; 
import javax.naming.NamingException; 
import edu.pezzati.node2.RemoteNode2; 

@Stateless 
public class SessionNode1 implements RemoteNode1 { 
@EJB(name="java:global/SessionNode2!edu.pezzati.node2.RemoteNode2") 

RemoteNode2 rn2; 

    @Override 
    public String getNodeName() { 
     return "node1 "; 
    } 

    @Override 
    public String getRemoteNodeName() { 
     return "node1 "+rn2.getNodeName(); 
    } 
} 

` 및 EasyEjbNode1.jar/META-INF/MANIFEST.MF의 내용은 다음과 같습니다 여기 EasyEjbNode2에서 세션 빈을 호출 할 EasyEjbNode1에서 세션 Bean의 코드이며, :

Manifest-Version: 1.0 
Dependencies: deployment.EasyEjbNode2.jar 

슬프게도, 뭔가 잘못 :

10:40:04,725 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC00001: Failed to start service jboss.deployment.unit."EasyEjbNode1.jar".INSTALL: org.jbos.msc.service.StartException in service jboss.deployment.unit."EasyEjbNode1.jar".INSTALL: Failed to process phase INSTALL of deployment "EasyEjbNode1.jar" 
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final] 
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] 
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_26] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_26] 
    at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_26] 
    Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: 
    JBAS014544: No EJB found with interface of type 'edu.pezzati.node2.RemoteNode2' for binding java:global/EasyEjbNode2/SessionNode2!edu.pezzati.node2.RemoteNode2 
    at org.jboss.as.ejb3.deployment.processors.EjbInjectionSource.getResourceValue(EjbInjectionSource.java:88) 
    at org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor.addJndiBinding(ModuleJndiBindingProcessor.java:249) 
    at org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor$1.handle(ModuleJndiBindingProcessor.java:194) 
    at org.jboss.as.ee.component.ClassDescriptionTraversal.run(ClassDescriptionTraversal.java:54) 
    at org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor.processClassConfigurations(ModuleJndiBindingProcessor.java:162) 
    at org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor.deploy(ModuleJndiBindingProcessor.java:155) 
    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 

TIA합니다.

답변

2

나는 혼자 관리합니다. 문제는 단지 어리석은 실수였습니다. 이것은 나를 위해 작동

@EJB(lookup="java:global/SessionNode2!edu.pezzati.node2.RemoteNode2") 

@EJB(name="java:global/SessionNode2!edu.pezzati.node2.RemoteNode2") 

교체합니다. 나는 다른 항아리에 배치 된 SessionNode1에서 SessionNode2의 서비스를 성공적으로 호출 할 수 있습니다.

+0

오늘 나는 다른 누군가가 그 자체에서 동일한 실수를 발견하고 동일한 수정을 수행했습니다. – KNU

+0

@KNU 혼자가 아니라는 소식을 듣고 기쁘게 생각합니다. – Francesco