Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JBoss EAP 7.1:如何忽略不相关的资源引用_Jboss_Jboss Eap 7 - Fatal编程技术网

JBoss EAP 7.1:如何忽略不相关的资源引用

JBoss EAP 7.1:如何忽略不相关的资源引用,jboss,jboss-eap-7,Jboss,Jboss Eap 7,注意:这是在旧JBoss 5.1/6.0上解决的以下问题的后续步骤:。 在JBossEAP7.1上,它似乎不再工作了 我们已经为多个应用服务器构建了一个应用程序。在其web模块web.xml中,它包含对commonj TimerManager和WorkManager的2个资源引用(用于WebLogic和WebSphere): 不幸的是,CommonJ规范需要这些资源引用,所以我不能仅仅删除它们,并使用直接JNDI查找这些资源。基于上述链接线程中的建议,我因此尝试使用以下jboss-web.xml

注意:这是在旧JBoss 5.1/6.0上解决的以下问题的后续步骤:。 在JBossEAP7.1上,它似乎不再工作了

我们已经为多个应用服务器构建了一个应用程序。在其web模块web.xml中,它包含对commonj TimerManager和WorkManager的2个资源引用(用于WebLogic和WebSphere):

不幸的是,CommonJ规范需要这些资源引用,所以我不能仅仅删除它们,并使用直接JNDI查找这些资源。基于上述链接线程中的建议,我因此尝试使用以下jboss-web.xml,在每个条目中添加一些伪JNDI名称,尤其是“忽略依赖项”:

这意味着即使忽略依赖项也不起作用

总结如下:

  • 覆盖jboss-web.xml中的资源引用似乎无法正常工作 (我只能为工作经理资源成功地完成这项工作 参考,但不适用于计时器管理器(1)
  • 忽略jboss-web.xml中资源引用中的依赖项不
    也可以
在当前JBoss EAP/WildFly版本中,这种行为正确吗? 那么,如何让JBoss/WildFly成功地忽略一些不相关的资源引用呢

注意:我不会以任何方式在JBoss中使用这些资源,这不是问题(它们实际上只在WebLogic或WebSphere中使用)。问题只是让应用程序成功部署

编辑:由于似乎没有人能够提供任何答案,我为此创建了一个JIRA问题:

<resource-ref>
    <res-ref-name>wm/WM1</res-ref-name>
    <res-type>commonj.work.WorkManager</res-type>
    <res-auth>Container</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
<resource-ref>
    <res-ref-name>tm/TM1</res-ref-name>
    <res-type>commonj.timers.TimerManager</res-type>
    <res-auth>Container</res-auth>
    <res-sharing-scope>Unshareable</res-sharing-scope>
</resource-ref>
ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC000001: Failed to start service jboss.deployment.subunit."APP.ear"."mod.war".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.subunit."APP.ear"."mod.war".POST_MODULE: WFLYSRV0153: Failed to process phase POST_MODULE of subdeployment "mod.war" of deployment "APP.ear"
            at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:172)
            at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:2032)
            at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1955)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
            at java.lang.Thread.run(Thread.java:748)
    Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYEE0027: Could not load commonj.work.WorkManager referenced in env-entry
            at org.jboss.as.ee.component.deployers.ResourceReferenceProcessor.getResourceRefEntries(ResourceReferenceProcessor.java:153)
            at org.jboss.as.ee.component.deployers.ResourceReferenceProcessor.processDescriptorEntries(ResourceReferenceProcessor.java:74)
            at org.jboss.as.ee.component.deployers.AbstractDeploymentDescriptorBindingsProcessor.deploy(AbstractDeploymentDescriptorBindingsProcessor.java:95)
            at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:165)
            ... 5 more
    Caused by: java.lang.ClassNotFoundException: commonj.work.WorkManager from [Module "deployment.APP.ear.mod.war" from Service Module Loader]
            at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:198)
            at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:412)
            at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:400)
            at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
            at org.jboss.as.ee.component.deployers.ResourceReferenceProcessor.getResourceRefEntries(ResourceReferenceProcessor.java:151)
            ... 8 more
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web xmlns="http://www.jboss.com/xml/ns/javaee"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/j2ee/schema/jboss-web_7_2.xsd"
           version="7.2">

    <context-root>mod</context-root>

    <resource-ref>
        <res-ref-name>wm/WM1</res-ref-name>
        <jndi-name>DummyWorkManager</jndi-name>
        <ignore-dependency/>
    </resource-ref>

    <resource-ref>
        <res-ref-name>tm/TM1</res-ref-name>
        <jndi-name>DummyTimerManager</jndi-name>
        <ignore-dependency/>
    </resource-ref>

</jboss-web>
<res-type>javax.resource.Referenceable</res-type>
ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([("deployment" => "APP.ear")]) - failure description: {
    "WFLYCTL0412: Required services that are not installed:" => ["jboss.naming.context.java.module.app-name.mod-name.env.DummyWorkManager"],
    "WFLYCTL0180: Services with missing/unavailable dependencies" => ["jboss.naming.context.java.module.app-name.mod-name.env.wm.WM1 is missing [jboss.naming.context.java.module.app-name.mod-name.env.DummyWorkManager]"]
}