2016-11-25 10 views
0

JEE 7 자습서의 Trading Connector 예제를 기반으로 자체 리소스 어댑터를 만들려고했습니다. 유리 잔과 잘 어울립니다.Wildfly WFLYJCA0046/IJ020066에 리소스 어댑터 배포

내 .EAR을 wildfly 10에 배포하려고합니다. 작동하지 않으며 아래 메시지가 표시됩니다. 오류 코드에 대한 유일한 언급은 wildfly 자체의 소스 코드에 있으며, 지금은 Wildfly 코드를 모두 읽지 않으려 고하기 때문에 어디서부터 볼지를 놓칠 수 있습니다.

리소스 어댑터는 ear 파일에 있습니다.이 RA의 클라이언트 인 ejb 프로젝트가 있습니다. ejb를 컴파일하려면 rar와 함께 ra-lib.jar을 만듭니다. api 패키지의 항목 만 포함합니다. .RAR의

구조 : 연결 팩토리의

./META-INF 
./META-INF/maven 
./META-INF/maven/root.project 
./META-INF/maven/root.project/ra 
./META-INF/maven/root.project/ra/pom.xml 
./META-INF/maven/root.project/ra/pom.properties 
./META-INF/MANIFEST.MF 
./root 
./root/project 
./root/project/ra 
./root/project/ra/api 
./root/project/ra/api/DummyRAConnectionFactory.class 
./root/project/ra/api/DummyRAConnection.class 
./root/project/projects 
./root/project/projects/dummy 
./root/project/projects/dummy/ra 
./root/project/projects/dummy/ra/connection 
./root/project/projects/dummy/ra/connection/DummyRAConnectionFactoryImpl.class 
./root/project/projects/dummy/ra/connection/DummyRAManagedConnection.class 
./root/project/projects/dummy/ra/connection/DummyRAManagedConnectionFactory.class 
./root/project/projects/dummy/ra/connection/DummyRAConnectionImpl.class 
./root/project/projects/dummy/ra/connection/DummyRAManagedConnection$1.class 
./root/project/projects/dummy/ra/DummyImplementationRAConnector.class 

헤드 :

import java.io.Serializable; 
import javax.resource.Referenceable; 
import root.project.ra.api.DummyRAConnectionFactory; 

public class DummyRAConnectionFactoryImpl implements DummyRAConnectionFactory, Serializable, Referenceable { 

오류 메시지 : 나는 클래스 로더가 볼 수있는 이유를 볼 수 없습니다

08:30:21,440 ERROR [org.jboss.msc.service.fail] (ResourceAdapterDeploymentService Thread Pool -- 1) MSC000001: Failed to start service jboss.raactivator.java_comp_env_eis_DummyRAConnectionFactory: org.jboss.msc.service.StartException in service jboss.raactivator.java_comp_env_eis_DummyRAConnectionFactory: WFLYJCA0046: Failed to start RA deployment [java_comp_env_eis_DummyRAConnectionFactory] 
     at org.jboss.as.connector.services.resourceadapters.deployment.AbstractResourceAdapterDeploymentService$2.run(AbstractResourceAdapterDeploymentService.java:325) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
     at java.lang.Thread.run(Thread.java:745) 
     at org.jboss.threads.JBossThread.run(JBossThread.java:320) 
    Caused by: org.jboss.jca.deployers.common.DeployException: IJ020066: Connection factory implementation (root.project.projects.dummy.ra.connection.DummyRAConnectionFactoryImpl) doesn't implement connection factory interface (root.project.ra.api.DummyRAConnectionFactory) 
     at org.jboss.jca.deployers.common.AbstractResourceAdapterDeployer.createObjectsAndInjectValue(AbstractResourceAdapterDeployer.java:1348) 
     at org.jboss.as.connector.services.resourceadapters.ResourceAdapterActivatorService$ResourceAdapterActivator.doDeploy(ResourceAdapterActivatorService.java:171) 
     at org.jboss.as.connector.services.resourceadapters.ResourceAdapterActivatorService.start(ResourceAdapterActivatorService.java:115) 
     at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) 
     at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
     at java.lang.Thread.run(Thread.java:745) 

ConnectionFactoryImpl은 인터페이스도 볼 수 없습니다. 이전에 다른 jar에 인터페이스가 있었기 때문에 (클라이언트 용 jar 파일을 생성 할 필요가 없도록) 동일한 오류가 발생했습니다.

나는 이것을 짧게 유지 했으므로, 빠진 것이 있으면 즉시 물어 보아라, 나는 그것을 즉시 추가 할 것이다.

답변

0

문제점은이 RA에 대한 클라이언트가있는 EJB에서 인터페이스 클래스가 필요하다는 것이 었습니다. 거기에 내가 만든 .jar을 .BRar로 지정하지 않았습니다. <scope>provided</scope> 그래서 마지막으로. ra-api.jarra.rar이 있는데 모두 .class입니다.