while starting wildfly 10.1 to work with artemis, jboss.ra.activemq-ra is not installed error persists

后端 未结 1 1693
旧巷少年郎
旧巷少年郎 2020-12-21 11:48

I try to apply appropriate configuration to be able to use remote messaging system on artemis server through wildfly (also other environment members) Firstly, i installed a

相关标签:
1条回答
  • 2020-12-21 12:33

    Although I don't think my situation is really similar to what you're trying to achieve, it might prove useful as a comparison. (And since you asked for the details at JMS Bridge Between WildFly 10 Artemis and ActiveMQ 5.14 (ONCE_AND_ONLY_ONCE Quality of Service) I'll gladly postit here)

    In my case I am using the built-in WildFly Artemis server and then configuring a JMS bridge which does ONCE_AND_ONLY_ONCE delivery to a remote ActiveMQ server.

    Of course, you could potentially use a similar setup, but with Artemis as the remote server as well.

    Since my remote server is ActiveMQ my RA file is different to yours, but the config should be similar.

    Here's my DockerFile statements that copy and extract the RA in the correct location:

    COPY activemq-ra.zip /opt/platoon/wildfly/wildfly-10.1.0.Final/modules/system/layers/base/org/apache/activemq/activemq/ra/activemq-ra.zip
    WORKDIR /opt/platoon/wildfly/wildfly-10.1.0.Final/modules/system/layers/base/org/apache/activemq/activemq/ra
    RUN unzip activemq-ra.zip
    

    And here's the relevant section of my standalone-full.xml

        <subsystem xmlns="urn:jboss:domain:messaging-activemq:1.0">
            <server name="default">
                <security-setting name="#">
                    <role name="guest" send="true" consume="true" create-non-durable-queue="true" delete-non-durable-queue="true"/>
                </security-setting>
                <address-setting name="#" dead-letter-address="jms.queue.DLQ" expiry-address="jms.queue.ExpiryQueue" max-size-bytes="10485760" page-size-bytes="2097152" message-counter-history-day-limit="10"/>
                <http-connector name="http-connector" socket-binding="http" endpoint="http-acceptor"/>
                <http-connector name="http-connector-throughput" socket-binding="http" endpoint="http-acceptor-throughput">
                    <param name="batch-delay" value="50"/>
                </http-connector>
                <in-vm-connector name="in-vm" server-id="0"/>
                <http-acceptor name="http-acceptor" http-listener="default"/>
                <http-acceptor name="http-acceptor-throughput" http-listener="default">
                    <param name="batch-delay" value="50"/>
                    <param name="direct-deliver" value="false"/>
                </http-acceptor>
                <in-vm-acceptor name="in-vm" server-id="0"/>
                <jms-queue name="ExpiryQueue" entries="java:/jms/queue/ExpiryQueue"/>
                <jms-queue name="DLQ" entries="java:/jms/queue/DLQ"/>
                <jms-queue name="testQueue" entries="queue/test java:jboss/exported/jms/queue/test"/>
                <jms-queue name="NonBridgedTestQueue" entries="java:jboss/exported/jms/queue/nonBridgedTestQueue"/>
                <jms-queue name="BridgedTestQueue" entries="java:jboss/exported/jms/queue/bridgedTestQueue"/>
                <jms-queue name="c3mMasterQueue" entries="java:jboss/exported/jms/queue/c3mMasterQueue"/>
                <connection-factory name="InVmConnectionFactory" entries="java:/ConnectionFactory" connectors="in-vm"/>
                <connection-factory name="RemoteConnectionFactory" entries="java:jboss/exported/jms/RemoteConnectionFactory" connectors="http-connector"/>
                <connection-factory name="InVmXAConnectionFactory" entries="java:/XAConnectionFactory" connectors="in-vm" factory-type="XA_GENERIC"/>
                <pooled-connection-factory name="activemq-ra" entries="java:/JmsXA java:jboss/DefaultJMSConnectionFactory" connectors="in-vm" transaction="xa"/>
            </server>
            <jms-bridge name="simple-jms-bridge" quality-of-service="ONCE_AND_ONLY_ONCE" failure-retry-interval="10000" max-retries="5" max-batch-size="10" max-batch-time="100" add-messageID-in-header="true">
                <source connection-factory="java:/XAConnectionFactory" destination="jboss/exported/jms/queue/c3mMasterQueue"/>
                <target connection-factory="jboss/activemq/activeMQXAConnectionFactory" destination="jboss/activemq/queue/c3mMasterQueue"/>
            </jms-bridge>
        </subsystem>
    
        <subsystem xmlns="urn:jboss:domain:resource-adapters:4.0">
            <resource-adapters>
                <resource-adapter id="activemq">
            <module slot="main" id="org.apache.activemq.activemq.ra" />
                    <transaction-support>XATransaction</transaction-support>
                    <config-property name="ServerUrl">
                        tcp://c3m-activemq:61616?jms.rmIdFromConnectionId=true
                    </config-property>
                    <config-property name="UserName">
                        admin
                    </config-property>
                    <config-property name="UseInboundSession">
                        false
                    </config-property>
                    <config-property name="Password">
                        admin
                    </config-property>
                    <connection-definitions>
                        <connection-definition class-name="org.apache.activemq.ra.ActiveMQManagedConnectionFactory" jndi-name="java:/AMQConnectionFactory" enabled="true" pool-name="AMQConnectionFactory">
                            <xa-pool>
                                <min-pool-size>1</min-pool-size>
                                <max-pool-size>20</max-pool-size>
                                <prefill>false</prefill>
                                <is-same-rm-override>false</is-same-rm-override>
                            </xa-pool>
                        </connection-definition>
                    </connection-definitions>
                    <admin-objects>
                        <admin-object class-name="org.apache.activemq.ActiveMQXAConnectionFactory" jndi-name="java:jboss/activemq/activeMQXAConnectionFactory" use-java-context="true" pool-name="activeMQXAConnectionFactory">
                            <config-property name="brokerURL">
                                tcp://c3m-activemq:61616?jms.rmIdFromConnectionId=true
                            </config-property>
                        </admin-object>
                        <admin-object class-name="org.apache.activemq.command.ActiveMQTopic" jndi-name="java:jboss/activemq/topic/TestTopic" use-java-context="true" pool-name="TestTopic">
                            <config-property name="PhysicalName">
                                activemq/topic/TestTopic
                            </config-property>
                        </admin-object>
                        <admin-object class-name="org.apache.activemq.command.ActiveMQQueue" jndi-name="java:jboss/activemq/queue/c3mMasterQueue" use-java-context="true" pool-name="c3mMasterQueue">
                            <config-property name="PhysicalName">
                                activemq/queue/c3mMasterQueue
                            </config-property>
                        </admin-object>
                        <admin-object class-name="org.apache.activemq.command.ActiveMQQueue" jndi-name="java:jboss/activemq/queue/bridgedTestQueue" use-java-context="true" pool-name="BridgedTestQueue">
                            <config-property name="PhysicalName">
                                activemq/queue/bridgedTestQueue
                            </config-property>
                        </admin-object>
                        <admin-object class-name="org.apache.activemq.command.ActiveMQQueue" jndi-name="java:jboss/activemq/queue/TestQueue" use-java-context="true" pool-name="TestQueue">
                            <config-property name="PhysicalName">
                                activemq/queue/TestQueue
                            </config-property>
                        </admin-object>
                    </admin-objects>
                </resource-adapter>
            </resource-adapters>
        </subsystem>
    

    TAKE NOTE: I only edited the messaging-activemq and resource-adapters subsystems, i.e. I didn't touch any of the other sections (naming and socket-bindings) in standalone-full.xml like in your situation.

    Hope that helps

    Greg

    0 讨论(0)
提交回复
热议问题