You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by wp...@apache.org on 2013/01/04 16:08:21 UTC

svn commit: r1428915 - /qpid/trunk/qpid/java/jca/README-JBOSS-EAP6.txt

Author: wprice
Date: Fri Jan  4 15:08:20 2013
New Revision: 1428915

URL: http://svn.apache.org/viewvc?rev=1428915&view=rev
Log:
QPID-4492
    *Added README documentation for JBOSS/EAP6 environment.

Added:
    qpid/trunk/qpid/java/jca/README-JBOSS-EAP6.txt

Added: qpid/trunk/qpid/java/jca/README-JBOSS-EAP6.txt
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/jca/README-JBOSS-EAP6.txt?rev=1428915&view=auto
==============================================================================
--- qpid/trunk/qpid/java/jca/README-JBOSS-EAP6.txt (added)
+++ qpid/trunk/qpid/java/jca/README-JBOSS-EAP6.txt Fri Jan  4 15:08:20 2013
@@ -0,0 +1,183 @@
+Qpid JCA Resource Adapter
+
+JBoss EAP 6.x Installation and Configuration Instructions
+
+Overview
+========
+The Qpid Resource Adapter is a JCA 1.5 compliant resource adapter that allows
+for JEE integration between EE applications and AMQP 0.10  message brokers.
+
+The adapter provides both outbound and inbound connectivity and
+exposes a variety of options to fine tune your messaging applications.
+Currently the adapter only supports C++ based brokers and has only been tested with Apache Qpid C++ broker.
+
+The following document explains how to configure the resource adapter for deployment in JBoss EAP 6.x.
+
+Deployment
+==========
+To deploy the Qpid JCA adapter in the JBoss EAP 6 environment, copy the qpid-ra-<version>.rar file
+to your JBoss deployment directory. By default this can be found at
+
+JBOSS_ROOT/<server-config>/deployments
+
+where JBOSS_ROOT denotes the root directory of your JBoss EAP 6.x installation and <server-config> denotes the
+particular server configuration for your applicationd development. Currently, JBoss EAP 6 provides two configurations
+by default standalone and domain. This documentation assumes the standalone server configuration, though the process
+to configure and deploy the Qpid JCA adapter is largely the same between the two. Assuming the standalone configuration
+the deployment location above would be
+
+JBOSS_ROOT/standalone/deployments
+
+Note, as opposed to prior versions of EAP, copying a RAR file to the deployment location does not automatically
+start and deploy the adapter. A separate manual configuration step is required which is explained in the following
+section.
+
+Configuration
+=============
+The EAP 6.x environment uses an XML based configuration scheme that is fundamentally different than prior versions
+of EAP. As previously mentioned, EAP 6.x provides two server configuration types, standalone and domain. Each come with
+a different set of configuration files that are tailored to varying types of server environments. Configuration locations
+can be found at
+
+JBOSS_ROOT/<server-config>/configuration
+
+The varying XML files are named
+
+<server-config>-full.xml
+<server-config>-full-ha.xml
+<server-config>.xml
+
+where each XML file denotes the capabilites of the server. This document assumes a minimal server configuration in
+the standalone server environment. While each configuration file provides a variety of options, this document is
+only concerned with the configuration of the JCA adapter. Please consult the EAP 6.x documentation for other
+options and configuration scenarios.
+
+The EAP 6.x infrastructure is built upon the notion of varying subsystem where subsystem generally corresponds
+to one particular piece of functionality. Typical examples are EJB, JAXR etc. In order to configure the Qpid JCA adapter
+we need to modify the ejb and resource-adapters subsystems in order to tell EAP 6.x about our RAR deployment as well
+as the RAR that will provide JMS provider functionality.
+
+Note, JCA in EAP 6.x involves two subsystems, jca and resource-adapters. The former subsytem provides capabilities for
+all JCA deployments (the JCA runtime environment) where the resource-adapters subsystem is particular to an invidual JCA
+deployment. Here we are only concerned with the latter. Please consult the EAP 6.x documentation for more general JCA
+configuration options as well as other subsystems.
+
+Each subsystem is configured in an XML fragment and is versioned separately. Subsystem versions will change over
+time so this document may not reflect the most current version, but the Qpid JCA configuration options remain
+unchanged across subsystem regardless of version or release date.
+
+The following XML fragment replaces the default messaging provider in the EAP 6.x environment
+
+        <subsystem xmlns="urn:jboss:domain:ejb3:1.2">
+            <session-bean>
+                <stateless>
+                    <bean-instance-pool-ref pool-name="slsb-strict-max-pool"/>
+                </stateless>
+                <stateful default-access-timeout="5000" cache-ref="simple"/>
+                <singleton default-access-timeout="5000"/>
+            </session-bean>
+            <mdb>
+                <resource-adapter-ref resource-adapter-name="qpid-ra-<rar-version>.rar"/>
+                <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>
+            </mdb>
+            <pools>
+                <bean-instance-pools>
+                    <strict-max-pool name="slsb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
+                    <strict-max-pool name="mdb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
+                </bean-instance-pools>
+            </pools>
+            <caches>
+                <cache name="simple" aliases="NoPassivationCache"/>
+                <cache name="passivating" passivation-store-ref="file" aliases="SimpleStatefulCache"/>
+            </caches>
+            <passivation-stores>
+                <file-passivation-store name="file"/>
+            </passivation-stores>
+            <async thread-pool-name="default"/>
+            <timer-service thread-pool-name="default">
+                <data-store path="timer-service-data" relative-to="jboss.server.data.dir"/>
+            </timer-service>
+            <remote connector-ref="remoting-connector" thread-pool-name="default"/>
+            <thread-pools>
+                <thread-pool name="default">
+                    <max-threads count="10"/>
+                    <keepalive-time time="100" unit="milliseconds"/>
+                </thread-pool>
+            </thread-pools>
+        </subsystem>
+
+The only real lines we are concerned with are
+
+            <mdb>
+                <resource-adapter-ref resource-adapter-name="qpid-ra-<rar-version>.rar"/>
+                <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>
+            </mdb>
+
+however, the complete fragment is provided for clarity.
+
+The following XML fragment provides a minimal example configuration in the EAP 6 environment. Here we are configuring
+an XA aware ManagedConnectionFactory and two JMS destinations (queue and topic)
+
+        <subsystem xmlns="urn:jboss:domain:resource-adapters:1.0">
+            <resource-adapters>
+                <resource-adapter>
+                    <archive>
+                        qpid-ra-<rar-version>.rar
+                    </archive>
+                    <transaction-support>
+                        XATransaction
+                    </transaction-support>
+                    <config-property name="connectionURL">
+                        amqp://anonymous:passwd@client/test?brokerlist='tcp://localhost?sasl_mechs='PLAIN''
+                    </config-property>
+                    <config-property name="TransactionManagerLocatorClass">
+                        org.apache.qpid.ra.tm.JBoss7TransactionManagerLocator
+                    </config-property>
+                    <config-property name="TransactionManagerLocatorMethod">
+                        getTm
+                    </config-property>
+                    <connection-definitions>
+                        <connection-definition class-name="org.apache.qpid.ra.QpidRAManagedConnectionFactory" jndi-name="QpidJMSXA" pool-name="QpidJMSXA">
+                            <config-property name="connectionURL">
+                                amqp://anonymous:passwd@client/test?brokerlist='tcp://localhost?sasl_mechs='PLAIN''
+                            </config-property>
+                            <config-property name="SessionDefaultType">
+                                javax.jms.Queue
+                            </config-property>
+                        </connection-definition>
+                    </connection-definitions>
+                    <admin-objects>
+                        <admin-object class-name="org.apache.qpid.ra.admin.QpidTopicImpl" jndi-name="java:jboss/exported/GoodByeTopic" use-java-context="false" pool-name="GoodByeTopic">
+                            <config-property name="DestinationAddress">
+                                amq.topic/hello.Topic
+                            </config-property>
+                        </admin-object>
+                        <admin-object class-name="org.apache.qpid.ra.admin.QpidQueueImpl" jndi-name="java:jboss/exported/HelloQueue" use-java-context="false" pool-name="HelloQueue">
+                            <config-property name="DestinationAddress">
+                                hello.Queue;{create:always, node:{type:queue, x-declare:{auto-delete:true}}}
+                            </config-property>
+                        </admin-object>
+                    </admin-objects>
+                </resource-adapter>
+            </resource-adapters>
+        </subsystem>
+
+
+
+Note, while this document assumes that you are modifying the standalone.xml file directly, an alternative to this approach would be
+to make a copy of the file, apply the modifications above and start the EAP instance with the new configuration
+
+JBOSS_HOME/bin/standalone.sh -c your-modified-config.xml
+
+Regardless of the approach that you use, once the modifications have been made you can start your EAP 6.x instance and the Qpid JCA
+adapter will be deployed and ready for use. If property deployed and configured, you should see something in the log files or console
+resembling the following:
+
+INFO  [org.apache.qpid.ra.QpidResourceAdapter] (MSC service thread 1-4) Qpid resource adapter started
+
+
+Notes
+=====
+While the differences between the EAP 5.x and 6.x environments may appear to be dramatic, the configuration options and functionality of the Qpid
+JCA adapter are not. The README.txt file outlines general configuration options that remain unchanged between the respective EAP environments.
+



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org