Вот и все.

я есть приложение на ухо Wildfly 10 (работает в контейнере сервера), которое должно быть в состоянии опубликовать в удаленной очереди, размещенной на другом сервере wildfly. Для этого я скопировал этот jar-файл из папки wildfly \ bin \ client в папку lib уха. Это работало нормально.

Но теперь, после официальной упаковки, когда я запускаю Wildfly и приложение, я получаю сообщение об ошибке ... что-то о файле манифеста этого фляги.

Каков наилучший способ настроить приложение так, чтобы этот jar был найден различными загрузчиками классов?
кажется, что jar может быть скопирован в ear \ lib, но что-то нужно сделать с файлом манифеста? что?
я предполагаю, что другой вариант - указать в standalone-full.xml что-то, что говорит загрузчику классов wildfly включить папку wildfly / bin / client в его путь к классам. Как ты это? И в-третьих, я предполагаю, что файл может быть просто скопирован в папку, которая уже находится в classpath wildfly.
Четвертый вариант, я полагаю, это добавить что-то к моему уху, создавая pom.xml, который добавит этот jar в ear / lib ....

Какой лучший способ сделать это?

ошибки, которые я получаю, это:

  14:54:45,578 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC000001: Failed to start service jboss.deployment.unit."InSyncEar.ear".STRUCTURE: org.jboss.msc.service.StartException in service jboss.deployment.unit."InSyncEar.ear".STRUCTURE: WFLYSRV0153: Failed to process phase STRUCTURE of deployment "InSyncEar.ear"
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:154)
    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)
 Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYSRV0161: Failed to get manifest for deployment "/C:/MyComp/Purch/deployments/InSyncEar.ear/lib/jboss-client.jar"
    at org.jboss.as.server.deployment.module.ManifestAttachmentProcessor.getManifest(ManifestAttachmentProcessor.java:78)
    at org.jboss.as.server.deployment.module.ManifestAttachmentProcessor.deploy(ManifestAttachmentProcessor.java:65)
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:147)
    ... 5 more
 Caused by: java.util.zip.ZipException: invalid literal/lengths set
    at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:164)
    at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:122)
    at org.jboss.vfs.util.PaddedManifestStream.read(PaddedManifestStream.java:39)
    at java.io.InputStream.read(InputStream.java:170)
    at java.util.jar.Manifest$FastInputStream.fill(Manifest.java:441)
    at java.util.jar.Manifest$FastInputStream.readLine(Manifest.java:375)
    at java.util.jar.Manifest$FastInputStream.readLine(Manifest.java:409)
    at java.util.jar.Attributes.read(Attributes.java:376)
    at java.util.jar.Manifest.read(Manifest.java:199)
    at java.util.jar.Manifest.<init>(Manifest.java:69)
    at org.jboss.vfs.VFSUtils.readManifest(VFSUtils.java:243)
    at org.jboss.vfs.VFSUtils.getManifest(VFSUtils.java:227)
    at org.jboss.as.server.deployment.module.ManifestAttachmentProcessor.getManifest(ManifestAttachmentProcessor.java
 David Florez21 нояб. 2017 г., 21:38
кажется, ваше ухо поврежденоCaused by: java.util.zip.ZipException: invalid literal/lengths set

Ответы на вопрос(1)

е нужен jboss-client.jar -Модули WildFly сами по себе содержат все необходимые зависимости для публикации в удаленной очереди на другом экземпляре WildFly.

В наших проектах лучший способ дляудаленный Соединения EJB и JMS - это следующая конфигурация вавтономный-full.xml:

<subsystem xmlns="urn:jboss:domain:ee:4.0">
            <global-modules>
                <module name="org.jboss.remote-naming"/>
            </global-modules>
...

Это позволяет искать удаленное соединение JMS на другом сервере черезjms/RemoteConnectionFactory там, напримерувидеть этот пример.

Кроме того, вам нужны конкретные зависимости ActiveMQ (например,ActiveMQJMSConnectionFactory) опубликовать в удаленной очереди.
Мы сделали это, добавив соответствующий модуль в качестве зависимости вJBoss развертывания-structure.xml:

<dependencies>
      <module name="org.apache.activemq.artemis" export="true"/>
</dependencies>

видетьЗагрузка классов в WildFly Больше подробностей.

Вот и все.

Ваш ответ на вопрос