簡體   English   中英

在 Wildfly WFLYJCA0046 / IJ020066 上部署資源適配器

[英]Deployment of Resource Adapter on Wildfly WFLYJCA0046 / IJ020066

基於 JEE 7 教程中的 Trading Connector 示例,我嘗試創建自己的資源適配器。 它與玻璃魚一起工作得很好。

我正在嘗試將我的 .EAR 部署到 wildfly 10。它不起作用,並且正在拋出以下消息。 我有點不知道從哪里開始尋找,因為唯一提到的錯誤代碼是在 Wildfly 本身的源代碼中,我現在不想閱讀所有 Wildfly 代碼(但我正在閱讀)。

資源適配器是 .ear 文件的一部分,在該文件中,我有一個 ejb 項目,該項目是該 RA 的客戶端,為了編譯 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 的 ClassLoader 也不能看到接口。 我之前在不同的 jar 中使用了該接口(這樣我就不需要為客戶端從 rar 生成一個 jar)並且產生了相同的錯誤。

我一直保持簡短,所以請在缺少某些內容時詢問,我會及時添加。

問題是我需要 EJB 中的接口類,該 EJB 具有該 RA 的客戶端。 在那里,我沒有將我從 .rar 創建的 .jar 指定為<scope>provided</scope>所以在最終的 .ear 中我有ra-api.jarra.rar都包含接口.class

暫無
暫無

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

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