Из wildfly11 подключитесь к очереди HornetQ 2.3.0CR1 в Jboss7.2 с помощью mdb - PullRequest
0 голосов
/ 07 апреля 2019

Я не могу запустить wildfly11 для подключения через mdb к очереди jboss7.2.

  1. Я пробовал простое удаленное соединение (Netty). Сервер и клиент не совместимы.

[org.apache.activemq.artemis.ra] (default-threads - 1) AMQ154003: Невозможно повторно подключить org.apache.activemq.artemis.ra.inflow.ActiveMQActivationSpec (ra = org.wildfly.extension.messaging. activemq.ActiveMQResourceAdapter@b2ed35d1 destination = jms / queue / teszt destinationType = javax.jms.Queue ack = автоматическое подтверждение длительности = false clientID = нулевой пользователь = нулевой maxSession = 15): ActiveMQException [errorType = INCOMPATIBLE_CLIENT_SERVER_VERSIONS message = null]

  1. Я исправил jboss7.2 hornetq для поддержки 123 клиента. (просто файл свойств в банке :)) Это работает, но я чувствую, что это не очень хорошее решение. Это был просто зонд.

  2. Я пытался обновить jboss7.2 hornetq 2.3.0CR1 до 2.3.0CR2. Но сборка не удалась, потому что какая-то константа находится в другом месте.

  3. Я искал адаптер ресурсов из mvnreposirory. (Hornetq-ра-2.3.0.CR1.jar) MDB не видел

ОШИБКА [org.jboss.as.controller.management-operation] (поток загрузки контроллера) WFLYCTL0013: сбой операции ("развертывание") - адрес: ([("развертывание" => "jms-получатель-0.0.1) -SNAPSHOT.war ")]) - описание ошибки: { "WFLYCTL0412: Обязательные службы, которые не установлены:" => ["jboss.ra.hornetq-ra"], "WFLYCTL0180: Службы с отсутствующими / недоступными зависимостями" => ["jboss.deployment.unit. \" Jms-receive-0.0.1-SNAPSHOT.war \ ". Component.TesztMdb.CREATE отсутствует [jboss.ra.hornetq- ра] "] }

  1. Я пытался создать jmsbridge в jboss7.2 для wildfly11, но соединение не установилось, и я думаю, что лучшее решение - если клиент подключается к серверу, а не наоборот.

Адаптер ресурса: wildfly11

<subsystem xmlns="urn:jboss:domain:resource-adapters:5.0">
  <resource-adapters>
    <resource-adapter id="hornetq-ra">
      <archive>
        hornetq-ra-2.3.0.CR1.jar
      </archive>
      <transaction-support>XATransaction</transaction-support>
      <config-property name="ConnectionParameters"> host=localhost;port=6955
      </config-property>
      <config-property name="ConnectorClassName">
        org.hornetq.core.remoting.impl.netty.NettyConnectorFactory
      </config-property>
      <connection-definitions>
      <connection-definition class-name="org.hornetq.ra.HornetQRAManagedConnectionFactory" jndi-name="java:/FluxFactory" enabled="true" use-java-context="true" pool-name="Session" use-ccm="true">
        <config-property name="SessionDefaultType">
          javax.jms.Queue
        </config-property>
        <config-property name="UseTryLock">
          0
        </config-property>
        <xa-pool>
          <min-pool-size>0</min-pool-size>
          <max-pool-size>10</max-pool-size>
          <prefill>false</prefill>
          <use-strict-min>false</use-strict-min>
          <flush-strategy>FailingConnectionOnly</flush-strategy>
          <pad-xid>false</pad-xid>
          <wrap-xa-resource>true</wrap-xa-resource>
         </xa-pool>
       </connection-definition>
     </connection-definitions>
   </resource-adapter>
  </resource-adapters>
</subsystem>

<mdb>
  <resource-adapter-ref resource-adapter-name="hornetq-ra"/>
  <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>
</mdb>

5. bridge jboss7.2 side


<jms-bridge name="jms-bridge-name">
  <source>
    <connection-factory name="ConnectionFactory"/>
    <destination name="jms/queue/teszt"/>
  </source>
  <target>
  <connection-factory name="jms/RemoteConnectionFactory"/>
    <destination name="jms/queue/teszt"/>
<!-- jmsuser with the same password is registered in ApplicationRealm with permission to consume/send messages -->
    <user>MYUSER</user>
    <password>MYPASS</password>
    <context>
<!-- The username and password must be added to the context to allow remote registry lookup -->
       <property key="java.naming.factory.initial" value="org.jboss.naming.remote.client.InitialContextFactory"/>
    <property key="java.naming.provider.url" value="http-remoting://localhost:8080"/>
    <property key="java.naming.security.principal" value="halcsiapp"/>
                        <property key="java.naming.security.credentials" value="Alma123-"/>
    </context>
 </target>
 <quality-of-service>ONCE_AND_ONLY_ONCE</quality-of-service>
    <failure-retry-interval>10000</failure-retry-interval>
    <max-retries>10</max-retries>
    <max-batch-size>500</max-batch-size>
    <max-batch-time>50</max-batch-time>
    <add-messageID-in-header>true</add-messageID-in-header>
</jms-bridge>
...