http://git-wip-us.apache.org/repos/asf/activemq-6/blob/8ecd255f/examples/javaee/jms-bridge/server/standalone/configuration/standalone-example.xml
----------------------------------------------------------------------
diff --git 
a/examples/javaee/jms-bridge/server/standalone/configuration/standalone-example.xml
 
b/examples/javaee/jms-bridge/server/standalone/configuration/standalone-example.xml
new file mode 100644
index 0000000..2850f8c
--- /dev/null
+++ 
b/examples/javaee/jms-bridge/server/standalone/configuration/standalone-example.xml
@@ -0,0 +1,508 @@
+<?xml version='1.0' encoding='UTF-8'?>
+
+<server xmlns="urn:jboss:domain:2.0">
+    <extensions>
+        <extension module="org.jboss.as.clustering.infinispan"/>
+        <extension module="org.jboss.as.connector"/>
+        <extension module="org.jboss.as.deployment-scanner"/>
+        <extension module="org.jboss.as.ee"/>
+        <extension module="org.jboss.as.ejb3"/>
+        <extension module="org.jboss.as.jacorb"/>
+        <extension module="org.jboss.as.jaxrs"/>
+        <extension module="org.jboss.as.jdr"/>
+        <extension module="org.jboss.as.jmx"/>
+        <extension module="org.jboss.as.jpa"/>
+        <extension module="org.jboss.as.jsf"/>
+        <extension module="org.jboss.as.jsr77"/>
+        <extension module="org.jboss.as.logging"/>
+        <extension module="org.jboss.as.mail"/>
+        <extension module="org.jboss.as.messaging"/>
+        <extension module="org.jboss.as.naming"/>
+        <extension module="org.jboss.as.pojo"/>
+        <extension module="org.jboss.as.remoting"/>
+        <extension module="org.jboss.as.sar"/>
+        <extension module="org.jboss.as.security"/>
+        <extension module="org.jboss.as.threads"/>
+        <extension module="org.jboss.as.transactions"/>
+        <extension module="org.jboss.as.webservices"/>
+        <extension module="org.jboss.as.weld"/>
+        <extension module="org.wildfly.extension.batch"/>
+        <extension module="org.wildfly.extension.io"/>
+        <extension module="org.wildfly.extension.undertow"/>
+    </extensions>
+    <management>
+        <security-realms>
+            <security-realm name="ManagementRealm">
+                <authentication>
+                    <local default-user="$local"/>
+                    <properties path="mgmt-users.properties" 
relative-to="jboss.server.config.dir"/>
+                </authentication>
+                <authorization map-groups-to-roles="false">
+                    <properties path="mgmt-groups.properties" 
relative-to="jboss.server.config.dir"/>
+                </authorization>
+            </security-realm>
+            <security-realm name="ApplicationRealm">
+                <authentication>
+                    <local default-user="$local" allowed-users="*"/>
+                    <properties path="application-users.properties" 
relative-to="jboss.server.config.dir"/>
+                </authentication>
+                <authorization>
+                    <properties path="application-roles.properties" 
relative-to="jboss.server.config.dir"/>
+                </authorization>
+            </security-realm>
+        </security-realms>
+        <audit-log>
+            <formatters>
+                <json-formatter name="json-formatter"/>
+            </formatters>
+            <handlers>
+                <file-handler name="file" formatter="json-formatter" 
relative-to="jboss.server.data.dir" path="audit-log.log"/>
+            </handlers>
+            <logger log-boot="true" log-read-only="false" enabled="false">
+                <handlers>
+                    <handler name="file"/>
+                </handlers>
+            </logger>
+        </audit-log>
+        <management-interfaces>
+            <http-interface security-realm="ManagementRealm" 
http-upgrade-enabled="true">
+                <socket-binding http="management-http"/>
+            </http-interface>
+        </management-interfaces>
+        <access-control provider="simple">
+            <role-mapping>
+                <role name="SuperUser">
+                    <include>
+                        <user name="$local"/>
+                    </include>
+                </role>
+            </role-mapping>
+        </access-control>
+    </management>
+    <profile>
+        <subsystem xmlns="urn:jboss:domain:logging:2.0">
+            <console-handler name="CONSOLE">
+                <level name="INFO"/>
+                <formatter>
+                    <named-formatter name="COLOR-PATTERN"/>
+                </formatter>
+            </console-handler>
+            <periodic-rotating-file-handler name="FILE" autoflush="true">
+                <formatter>
+                    <named-formatter name="PATTERN"/>
+                </formatter>
+                <file relative-to="jboss.server.log.dir" path="server.log"/>
+                <suffix value=".yyyy-MM-dd"/>
+                <append value="true"/>
+            </periodic-rotating-file-handler>
+            <logger category="com.arjuna">
+                <level name="WARN"/>
+            </logger>
+            <logger category="org.apache.tomcat.util.modeler">
+                <level name="WARN"/>
+            </logger>
+            <logger category="org.jboss.as.config">
+                <level name="DEBUG"/>
+            </logger>
+            <logger category="sun.rmi">
+                <level name="WARN"/>
+            </logger>
+            <logger category="jacorb">
+                <level name="WARN"/>
+            </logger>
+            <logger category="jacorb.config">
+                <level name="ERROR"/>
+            </logger>
+            <root-logger>
+                <level name="INFO"/>
+                <handlers>
+                    <handler name="CONSOLE"/>
+                    <handler name="FILE"/>
+                </handlers>
+            </root-logger>
+            <formatter name="PATTERN">
+                <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p 
[%c] (%t) %s%E%n"/>
+            </formatter>
+            <formatter name="COLOR-PATTERN">
+                <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p 
[%c] (%t) %s%E%n"/>
+            </formatter>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:batch:1.0">
+            <job-repository>
+                <in-memory/>
+            </job-repository>
+            <thread-pool>
+                <max-threads count="10"/>
+                <keepalive-time time="100" unit="milliseconds"/>
+            </thread-pool>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:datasources:2.0">
+            <datasources>
+                <datasource jndi-name="java:jboss/datasources/ExampleDS" 
pool-name="ExampleDS" enabled="true" use-java-context="true">
+                    
<connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
+                    <driver>h2</driver>
+                    <security>
+                        <user-name>sa</user-name>
+                        <password>sa</password>
+                    </security>
+                </datasource>
+                <drivers>
+                    <driver name="h2" module="com.h2database.h2">
+                        
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
+                    </driver>
+                </drivers>
+            </datasources>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:deployment-scanner:2.0">
+            <deployment-scanner path="deployments" 
relative-to="jboss.server.base.dir" scan-interval="5000" 
runtime-failure-causes-rollback="${jboss.deployment.scanner.rollback.on.failure:false}"/>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:ee:2.0">
+            
<spec-descriptor-property-replacement>false</spec-descriptor-property-replacement>
+            
<jboss-descriptor-property-replacement>true</jboss-descriptor-property-replacement>
+            
<annotation-property-replacement>false</annotation-property-replacement>
+            <concurrent>
+                <context-services>
+                    <context-service name="default" 
jndi-name="java:jboss/ee/concurrency/context/default" 
use-transaction-setup-provider="true"/>
+                </context-services>
+                <managed-executor-services>
+                    <managed-executor-service name="default" 
jndi-name="java:jboss/ee/concurrency/executor/default" 
context-service="default" hung-task-threshold="60000" core-threads="5" 
max-threads="25" keepalive-time="5000"/>
+                </managed-executor-services>
+                <managed-scheduled-executor-services>
+                    <managed-scheduled-executor-service name="default" 
jndi-name="java:jboss/ee/concurrency/scheduler/default" 
context-service="default" hung-task-threshold="60000" core-threads="2" 
keepalive-time="3000"/>
+                </managed-scheduled-executor-services>
+                <managed-thread-factories>
+                    <managed-thread-factory name="default" 
jndi-name="java:jboss/ee/concurrency/factory/default" 
context-service="default"/>
+                </managed-thread-factories>
+            </concurrent>
+            <default-bindings 
context-service="java:jboss/ee/concurrency/context/default" 
datasource="java:jboss/datasources/ExampleDS" 
jms-connection-factory="java:jboss/DefaultJMSConnectionFactory" 
managed-executor-service="java:jboss/ee/concurrency/executor/default" 
managed-scheduled-executor-service="java:jboss/ee/concurrency/scheduler/default"
 managed-thread-factory="java:jboss/ee/concurrency/factory/default"/>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:ejb3:2.0">
+            <session-bean>
+                <stateful default-access-timeout="5000" cache-ref="simple" 
passivation-disabled-cache-ref="simple"/>
+                <singleton default-access-timeout="5000"/>
+            </session-bean>
+            <mdb>
+                <resource-adapter-ref 
resource-adapter-name="${ejb.resource-adapter-name:hornetq-ra.rar}"/>
+                <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>
+            </mdb>
+            <pools>
+                <bean-instance-pools>
+                    <!-- A sample strict max pool configuration -->
+                    <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"/>
+                <cache name="distributable" aliases="passivating clustered" 
passivation-store-ref="infinispan"/>
+            </caches>
+            <passivation-stores>
+                <passivation-store name="infinispan" cache-container="ejb" 
max-size="10000"/>
+            </passivation-stores>
+            <async thread-pool-name="default"/>
+            <timer-service thread-pool-name="default" 
default-data-store="default-file-store">
+                <data-stores>
+                    <file-data-store name="default-file-store" 
path="timer-service-data" relative-to="jboss.server.data.dir"/>
+                </data-stores>
+            </timer-service>
+            <remote connector-ref="http-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>
+            <iiop enable-by-default="false" use-qualified-name="false"/>
+            <default-security-domain value="other"/>
+            <default-missing-method-permissions-deny-access value="true"/>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:io:1.0">
+            <worker name="default" io-threads="3"/>
+            <buffer-pool name="default" buffer-size="16384" 
buffers-per-slice="128"/>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:infinispan:2.0">
+            <cache-container name="web" default-cache="passivation" 
module="org.wildfly.clustering.web.infinispan">
+                <local-cache name="passivation" batching="true">
+                    <file-store passivation="true" purge="false"/>
+                </local-cache>
+                <local-cache name="persistent" batching="true">
+                    <file-store passivation="false" purge="false"/>
+                </local-cache>
+            </cache-container>
+            <cache-container name="ejb" aliases="sfsb" 
default-cache="passivation" module="org.wildfly.clustering.ejb.infinispan">
+                <local-cache name="passivation" batching="true">
+                    <file-store passivation="true" purge="false"/>
+                </local-cache>
+                <local-cache name="persistent" batching="true">
+                    <file-store passivation="false" purge="false"/>
+                </local-cache>
+            </cache-container>
+            <cache-container name="hibernate" default-cache="local-query" 
module="org.hibernate">
+                <local-cache name="entity">
+                    <transaction mode="NON_XA"/>
+                    <eviction strategy="LRU" max-entries="10000"/>
+                    <expiration max-idle="100000"/>
+                </local-cache>
+                <local-cache name="local-query">
+                    <transaction mode="NONE"/>
+                    <eviction strategy="LRU" max-entries="10000"/>
+                    <expiration max-idle="100000"/>
+                </local-cache>
+                <local-cache name="timestamps">
+                    <transaction mode="NONE"/>
+                    <eviction strategy="NONE"/>
+                </local-cache>
+            </cache-container>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:jacorb:1.3">
+            <orb socket-binding="jacorb" ssl-socket-binding="jacorb-ssl">
+                <initializers transactions="spec" security="identity"/>
+            </orb>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/>
+        <subsystem xmlns="urn:jboss:domain:jca:2.0">
+            <archive-validation enabled="true" fail-on-error="true" 
fail-on-warn="false"/>
+            <bean-validation enabled="true"/>
+            <default-workmanager>
+                <short-running-threads>
+                    <core-threads count="50"/>
+                    <queue-length count="50"/>
+                    <max-threads count="50"/>
+                    <keepalive-time time="10" unit="seconds"/>
+                </short-running-threads>
+                <long-running-threads>
+                    <core-threads count="50"/>
+                    <queue-length count="50"/>
+                    <max-threads count="50"/>
+                    <keepalive-time time="10" unit="seconds"/>
+                </long-running-threads>
+            </default-workmanager>
+            <cached-connection-manager/>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:jdr:1.0"/>
+        <subsystem xmlns="urn:jboss:domain:jmx:1.3">
+            <expose-resolved-model/>
+            <expose-expression-model/>
+            <remoting-connector/>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:jpa:1.1">
+            <jpa default-datasource="" 
default-extended-persistence-inheritance="DEEP"/>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:jsf:1.0"/>
+        <subsystem xmlns="urn:jboss:domain:jsr77:1.0"/>
+        <subsystem xmlns="urn:jboss:domain:mail:2.0">
+            <mail-session name="default" jndi-name="java:jboss/mail/Default">
+                <smtp-server outbound-socket-binding-ref="mail-smtp"/>
+            </mail-session>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:messaging:2.0">
+            <hornetq-server>
+                <persistence-enabled>true</persistence-enabled>
+                <journal-file-size>102400</journal-file-size>
+                <journal-min-files>2</journal-min-files>
+                <connectors>
+                    <http-connector name="http-connector" 
socket-binding="http">
+                        <param key="http-upgrade-endpoint" 
value="http-acceptor"/>
+                    </http-connector>
+                    <http-connector name="http-connector-throughput" 
socket-binding="http">
+                        <param key="http-upgrade-endpoint" 
value="http-acceptor-throughput"/>
+                        <param key="batch-delay" value="50"/>
+                    </http-connector>
+                    <in-vm-connector name="in-vm" server-id="0"/>
+                </connectors>
+                <acceptors>
+                    <http-acceptor name="http-acceptor" 
http-listener="default"/>
+                    <http-acceptor name="http-acceptor-throughput" 
http-listener="default">
+                        <param key="batch-delay" value="50"/>
+                        <param key="direct-deliver" value="false"/>
+                    </http-acceptor>
+                    <in-vm-acceptor name="in-vm" server-id="0"/>
+                </acceptors>
+                <security-settings>
+                    <security-setting match="#">
+                        <permission type="send" roles="guest"/>
+                        <permission type="consume" roles="guest"/>
+                        <permission type="createNonDurableQueue" 
roles="guest"/>
+                        <permission type="deleteNonDurableQueue" 
roles="guest"/>
+                    </security-setting>
+                </security-settings>
+                <address-settings>
+                    <!--default for catch all-->
+                    <address-setting match="#">
+                        
<dead-letter-address>jms.queue.DLQ</dead-letter-address>
+                        <expiry-address>jms.queue.ExpiryQueue</expiry-address>
+                        <redelivery-delay>0</redelivery-delay>
+                        <max-size-bytes>10485760</max-size-bytes>
+                        <address-full-policy>PAGE</address-full-policy>
+                        <page-size-bytes>2097152</page-size-bytes>
+                        
<message-counter-history-day-limit>10</message-counter-history-day-limit>
+                    </address-setting>
+                </address-settings>
+                <jms-connection-factories>
+                    <connection-factory name="InVmConnectionFactory">
+                        <connectors>
+                            <connector-ref connector-name="in-vm"/>
+                        </connectors>
+                        <entries>
+                            <entry name="java:/ConnectionFactory"/>
+                        </entries>
+                    </connection-factory>
+                    <connection-factory name="RemoteConnectionFactory">
+                        <connectors>
+                            <connector-ref connector-name="http-connector"/>
+                        </connectors>
+                        <entries>
+                            <entry 
name="java:jboss/exported/jms/RemoteConnectionFactory"/>
+                        </entries>
+                    </connection-factory>
+                    <pooled-connection-factory name="hornetq-ra">
+                        <transaction mode="xa"/>
+                        <connectors>
+                            <connector-ref connector-name="in-vm"/>
+                        </connectors>
+                        <entries>
+                            <entry name="java:/JmsXA"/>
+                            <!-- Global JNDI entry used to provide a default 
JMS Connection factory to EE application -->
+                            <entry 
name="java:jboss/DefaultJMSConnectionFactory"/>
+                        </entries>
+                    </pooled-connection-factory>
+                </jms-connection-factories>
+                <jms-destinations>
+                    <jms-queue name="sourceQueue">
+                        <entry name="queue/sourceQueue"/>
+                        <entry 
name="java:jboss/exported/jms/queues/sourceQueue"/>
+                    </jms-queue>
+                    <jms-queue name="targetQueue">
+                        <entry name="java:/queue/targetQueue"/>
+                        <entry 
name="java:jboss/exported/jms/queues/targetQueue"/>
+                    </jms-queue>
+                </jms-destinations>
+            </hornetq-server>
+            <jms-bridge name="myBridge">
+                <source>
+                    <connection-factory name="ConnectionFactory" />
+                    <destination name="queue/sourceQueue" />
+                </source>
+                <target>
+                    <connection-factory name="ConnectionFactory" />
+                    <destination name="queue/targetQueue" />
+                </target>
+                <quality-of-service>AT_MOST_ONCE</quality-of-service>
+                <failure-retry-interval>1000</failure-retry-interval>
+                <max-retries>7890</max-retries>
+                <max-batch-size>1</max-batch-size>
+                <max-batch-time>1000</max-batch-time>
+            </jms-bridge>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:naming:2.0">
+            <remote-naming/>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:pojo:1.0"/>
+        <subsystem xmlns="urn:jboss:domain:remoting:2.0">
+            <endpoint worker="default"/>
+            <http-connector name="http-remoting-connector" 
connector-ref="default" security-realm="ApplicationRealm"/>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:resource-adapters:2.0"/>
+        <subsystem xmlns="urn:jboss:domain:sar:1.0"/>
+        <subsystem xmlns="urn:jboss:domain:security:1.2">
+            <security-domains>
+                <security-domain name="other" cache-type="default">
+                    <authentication>
+                        <login-module code="Remoting" flag="optional">
+                            <module-option name="password-stacking" 
value="useFirstPass"/>
+                        </login-module>
+                        <login-module code="RealmDirect" flag="required">
+                            <module-option name="password-stacking" 
value="useFirstPass"/>
+                        </login-module>
+                    </authentication>
+                </security-domain>
+                <security-domain name="jboss-web-policy" cache-type="default">
+                    <authorization>
+                        <policy-module code="Delegating" flag="required"/>
+                    </authorization>
+                </security-domain>
+                <security-domain name="jboss-ejb-policy" cache-type="default">
+                    <authorization>
+                        <policy-module code="Delegating" flag="required"/>
+                    </authorization>
+                </security-domain>
+            </security-domains>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:threads:1.1"/>
+        <subsystem xmlns="urn:jboss:domain:transactions:2.0">
+            <core-environment>
+                <process-id>
+                    <uuid/>
+                </process-id>
+            </core-environment>
+            <recovery-environment socket-binding="txn-recovery-environment" 
status-socket-binding="txn-status-manager"/>
+            <coordinator-environment default-timeout="300"/>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:undertow:1.0">
+            <buffer-caches>
+                <buffer-cache name="default" buffer-size="1024" 
buffers-per-region="1024" max-regions="10"/>
+            </buffer-caches>
+            <server name="default-server">
+                <http-listener name="default" socket-binding="http"/>
+                <host name="default-host" alias="localhost">
+                    <location name="/" handler="welcome-content"/>
+                    <filter-ref name="server-header"/>
+                    <filter-ref name="x-powered-by-header"/>
+                </host>
+            </server>
+            <servlet-container name="default" default-buffer-cache="default" 
stack-trace-on-error="local-only">
+                <jsp-config/>
+            </servlet-container>
+            <handlers>
+                <file name="welcome-content" 
path="${jboss.home.dir}/welcome-content" directory-listing="true"/>
+            </handlers>
+            <filters>
+                <response-header name="server-header" header-name="Server" 
header-value="Wildfly 8"/>
+                <response-header name="x-powered-by-header" 
header-name="X-Powered-By" header-value="Undertow 1"/>
+            </filters>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:webservices:1.2">
+            <modify-wsdl-address>true</modify-wsdl-address>
+            <wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host>
+            <endpoint-config name="Standard-Endpoint-Config"/>
+            <endpoint-config name="Recording-Endpoint-Config">
+                <pre-handler-chain name="recording-handlers" 
protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP 
##SOAP12_HTTP_MTOM">
+                    <handler name="RecordingHandler" 
class="org.jboss.ws.common.invocation.RecordingServerHandler"/>
+                </pre-handler-chain>
+            </endpoint-config>
+            <client-config name="Standard-Client-Config"/>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:weld:2.0"/>
+    </profile>
+    <interfaces>
+        <interface name="management">
+            <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
+        </interface>
+        <interface name="public">
+            <inet-address value="${jboss.bind.address:127.0.0.1}"/>
+        </interface>
+        <!-- TODO - only show this if the jacorb subsystem is added  -->
+        <interface name="unsecure">
+            <!--
+              ~  Used for IIOP sockets in the standard configuration.
+              ~                  To secure JacORB you need to setup SSL 
+              -->
+            <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/>
+        </interface>
+    </interfaces>
+    <socket-binding-group name="standard-sockets" default-interface="public" 
port-offset="${jboss.socket.binding.port-offset:0}">
+        <socket-binding name="management-http" interface="management" 
port="${jboss.management.http.port:9990}"/>
+        <socket-binding name="management-https" interface="management" 
port="${jboss.management.https.port:9993}"/>
+        <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
+        <socket-binding name="http" port="${jboss.http.port:8080}"/>
+        <socket-binding name="https" port="${jboss.https.port:8443}"/>
+        <socket-binding name="jacorb" interface="unsecure" port="3528"/>
+        <socket-binding name="jacorb-ssl" interface="unsecure" port="3529"/>
+        <socket-binding name="messaging-group" port="0" 
multicast-address="${jboss.messaging.group.address:231.7.7.7}" 
multicast-port="${jboss.messaging.group.port:9876}"/>
+        <socket-binding name="txn-recovery-environment" port="4712"/>
+        <socket-binding name="txn-status-manager" port="4713"/>
+        <outbound-socket-binding name="mail-smtp">
+            <remote-destination host="localhost" port="25"/>
+        </outbound-socket-binding>
+    </socket-binding-group>
+</server>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/8ecd255f/examples/javaee/jms-bridge/src/main/java/org/hornetq/javaee/example/JMSBridgeExample.java
----------------------------------------------------------------------
diff --git 
a/examples/javaee/jms-bridge/src/main/java/org/hornetq/javaee/example/JMSBridgeExample.java
 
b/examples/javaee/jms-bridge/src/main/java/org/hornetq/javaee/example/JMSBridgeExample.java
new file mode 100644
index 0000000..8954235
--- /dev/null
+++ 
b/examples/javaee/jms-bridge/src/main/java/org/hornetq/javaee/example/JMSBridgeExample.java
@@ -0,0 +1,112 @@
+/*
+ * Copyright 2005-2014 Red Hat, Inc.
+ * Red Hat licenses this file to you under the Apache License, version
+ * 2.0 (the "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied.  See the License for the specific language governing
+ * permissions and limitations under the License.
+ */
+package org.hornetq.javaee.example;
+
+import javax.jms.Connection;
+import javax.jms.ConnectionFactory;
+import javax.jms.MessageConsumer;
+import javax.jms.MessageProducer;
+import javax.jms.Queue;
+import javax.jms.Session;
+import javax.jms.TextMessage;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import java.util.Properties;
+
+/**
+ * An example which sends a message to a source queue and consume from a 
target queue.
+ * The source and target queues are bridged by a JMS Bridge configured and 
running in WildFly.
+ *
+ * @author <a href="mailto:jmes...@redhat.com";>Jeff Mesnil</a>
+ */
+public class JMSBridgeExample
+{
+   public static void main(final String[] args) throws Exception
+   {
+      InitialContext initialContext = null;
+      Connection sourceConnection = null;
+      Connection targetConnection = null;
+      try
+      {
+         // Step 1. Obtain an Initial Context
+         final Properties env = new Properties();
+
+         env.put(Context.INITIAL_CONTEXT_FACTORY, 
"org.jboss.naming.remote.client.InitialContextFactory");
+
+         env.put(Context.PROVIDER_URL, "http-remoting://localhost:8080");
+
+         initialContext = new InitialContext(env);
+
+         // Step 2. Lookup the JMS connection factory
+         ConnectionFactory cf = 
(ConnectionFactory)initialContext.lookup("/jms/RemoteConnectionFactory");
+
+         // Step 3. Lookup the source queue
+         Queue sourceQueue = 
(Queue)initialContext.lookup("jms/queues/sourceQueue");
+
+         // Step 4. Create a connection, a session and a message producer for 
the *source* queue
+         sourceConnection = cf.createConnection("guest", "password");
+         Session sourceSession = sourceConnection.createSession(false, 
Session.AUTO_ACKNOWLEDGE);
+         MessageProducer sourceProducer = 
sourceSession.createProducer(sourceQueue);
+
+         // Step 5. Create and send a text message to the *source* queue
+         TextMessage message = sourceSession.createTextMessage("this is a text 
message");
+         sourceProducer.send(message);
+         System.out.format("Sent message to %s: %s\n",
+                           ((Queue)message.getJMSDestination()).getQueueName(),
+                           message.getText());
+         System.out.format("Message ID : %s\n", message.getJMSMessageID());
+
+         // Step 6. Close the *source* connection
+         sourceConnection.close();
+
+         // Step 7. Lookup the *target* queue
+         Queue targetQueue = 
(Queue)initialContext.lookup("jms/queues/targetQueue");
+
+         // Step 8. Create a connection, a session and a message consumer for 
the *target* queue
+         targetConnection = cf.createConnection("guest", "password");
+         Session targetSession = targetConnection.createSession(false, 
Session.AUTO_ACKNOWLEDGE);
+         MessageConsumer targetConsumer = 
targetSession.createConsumer(targetQueue);
+
+         // Step 9. Start the connection to receive messages from the *targe* 
queue
+         targetConnection.start();
+
+         // Step 10. Receive a message from the *target* queue
+         TextMessage messageReceived = 
(TextMessage)targetConsumer.receive(15000);
+         System.out.format("\nReceived from %s: %s\n",
+                           
((Queue)messageReceived.getJMSDestination()).getQueueName(),
+                           messageReceived.getText());
+
+         // Step 11. Display the received message's ID
+         System.out.format("Message ID         : %s\n", 
messageReceived.getJMSMessageID());
+
+         // Step 12. Display the message ID of the message received by the 
*bridge*
+         System.out.format("Bridged Message ID : %s\n", 
messageReceived.getStringProperty("HQ_BRIDGE_MSG_ID_LIST"));
+      }
+      finally
+      {
+         // Step 13. Be sure to close the resources!
+         if (initialContext != null)
+         {
+            initialContext.close();
+         }
+         if (sourceConnection != null)
+         {
+            sourceConnection.close();
+         }
+         if (targetConnection != null)
+         {
+            targetConnection.close();
+         }
+      }
+   }
+}

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/8ecd255f/examples/javaee/jms-bridge/src/test/java/org/hornetq/javaee/examples/JMSBridgeRunnerTest.java
----------------------------------------------------------------------
diff --git 
a/examples/javaee/jms-bridge/src/test/java/org/hornetq/javaee/examples/JMSBridgeRunnerTest.java
 
b/examples/javaee/jms-bridge/src/test/java/org/hornetq/javaee/examples/JMSBridgeRunnerTest.java
new file mode 100644
index 0000000..3e1b077
--- /dev/null
+++ 
b/examples/javaee/jms-bridge/src/test/java/org/hornetq/javaee/examples/JMSBridgeRunnerTest.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2005-2014 Red Hat, Inc.
+ * Red Hat licenses this file to you under the Apache License, version
+ * 2.0 (the "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied.  See the License for the specific language governing
+ * permissions and limitations under the License.
+ */
+
+package org.hornetq.javaee.examples;
+
+import org.hornetq.javaee.example.JMSBridgeExample;
+import org.jboss.arquillian.container.test.api.RunAsClient;
+import org.jboss.arquillian.junit.Arquillian;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * @author <a href="mailto:andy.tay...@jboss.org";>Andy Taylor</a>
+ *         5/21/12
+ */
+@RunAsClient
+@RunWith(Arquillian.class)
+public class JMSBridgeRunnerTest
+{
+   @Test
+   public void runExample() throws Exception
+   {
+      JMSBridgeExample.main(null);
+   }
+}

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/8ecd255f/examples/javaee/jms-bridge/src/test/resources/arquillian.xml
----------------------------------------------------------------------
diff --git a/examples/javaee/jms-bridge/src/test/resources/arquillian.xml 
b/examples/javaee/jms-bridge/src/test/resources/arquillian.xml
new file mode 100644
index 0000000..1aada30
--- /dev/null
+++ b/examples/javaee/jms-bridge/src/test/resources/arquillian.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<arquillian xmlns="http://jboss.org/schema/arquillian";
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+    xsi:schemaLocation="http://jboss.org/schema/arquillian 
http://jboss.org/schema/arquillian/arquillian_1_0.xsd";>
+
+    <!-- Uncomment to have test archives exported to the file system for 
inspection.
+This feature can also be controlled using the system property 
arquillian.deploymentExportPath -->
+    <!--
+<engine>
+<property name="deploymentExportPath">target</property>
+</engine>
+-->
+
+   <defaultProtocol type="Servlet 3.0" />
+
+   <container qualifier="jboss" default="true">
+      <configuration>
+         <property name="jbossHome">${basedir}/target/jbossas-node0</property>
+         <property name="serverConfig">standalone-example.xml</property>
+         <property name="allowConnectingToRunningServer">true</property>
+         <property name="managementAddress">${node0:127.0.0.1}</property>
+      </configuration>
+   </container>
+
+   <!-- logThreshold proposed -->
+   <!--
+<container qualifier="jbossas-managed">
+<configuration>
+<property name="logThreshold">ERROR</property>
+</configuration>
+</container>
+-->
+
+</arquillian>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/8ecd255f/examples/javaee/jms-context-injection/pom.xml
----------------------------------------------------------------------
diff --git a/examples/javaee/jms-context-injection/pom.xml 
b/examples/javaee/jms-context-injection/pom.xml
new file mode 100644
index 0000000..89b6c77
--- /dev/null
+++ b/examples/javaee/jms-context-injection/pom.xml
@@ -0,0 +1,14 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
+   <modelVersion>4.0.0</modelVersion>
+
+   <parent>
+      <groupId>org.hornetq.example.javaee</groupId>
+      <artifactId>javaee-examples</artifactId>
+      <version>2.5.0-SNAPSHOT</version>
+   </parent>
+
+   <artifactId>hornetq-javaee-mdb-jms-context-example</artifactId>
+   <packaging>jar</packaging>
+   <name>HornetQ Java EE MDB JMS Context Example</name>
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/8ecd255f/examples/javaee/jms-context-injection/readme.html
----------------------------------------------------------------------
diff --git a/examples/javaee/jms-context-injection/readme.html 
b/examples/javaee/jms-context-injection/readme.html
new file mode 100644
index 0000000..5eaa6da
--- /dev/null
+++ b/examples/javaee/jms-context-injection/readme.html
@@ -0,0 +1,108 @@
+<html>
+  <head>
+    <title>HornetQ Java EE Injected JMSContext Example</title>
+    <link rel="stylesheet" type="text/css" href="../../common/common.css" />
+    <link rel="stylesheet" type="text/css" href="../../common/prettify.css" />
+    <script type="text/javascript" src="../../common/prettify.js"></script>
+  </head>
+  <body onload="prettyPrint()">
+     <h1>Java EE Injected JMSContext Example</h1>
+
+     <p>This example shows you how to inject a JMSContext into an MDB and use 
it to send a reply to a JMS Client</p>
+     
+     <h2>Wildfly configuration</h2>
+     
+    <p>The example leverages the JBoss Arquillian framework to run an Wildfly 
8 instance and deploy the MDB.</p>
+
+     <h2>Example step-by-step</h2>
+     <p><i>download The latest Wildfly 8 from <a 
href="http://www.wildfly.org/download/";>here</a> and install.</i></p>
+     <p><i>set the JBOSS_HOME property to point to the WildFly install 
directory</i></p>
+     <p><i>To run the example simply type <code>mvn test</code>from the 
example directory</i></p>
+
+     <ol>
+         <li> Firstly in the MDB we inject the JMSContext. This will use the 
Default Connection Factory configured.
+         </li>
+        <pre class="prettyprint">
+           <code>
+               @Inject
+               javax.jms.JMSContext context;</code>
+
+          <li>We then map the reply queue as a resource.
+          </li>
+        <pre class="prettyprint">
+           <code>
+               @Resource(mappedName = "java:/queue/replyQueue")
+               Queue replyQueue;</code>
+        </pre>
+        <li>First we need to get an initial context so we can look-up the JMS 
connection factory and destination objects from JNDI.</li>
+        <pre class="prettyprint">
+           <code>
+               final Properties env = new Properties();
+
+               env.put(Context.INITIAL_CONTEXT_FACTORY, 
"org.jboss.naming.remote.client.InitialContextFactory");
+
+               env.put(Context.PROVIDER_URL, "http-remoting://localhost:8080");
+
+               initialContext = new InitialContext(env);
+
+           </code>
+        </pre>
+
+        <li>We look up the JMS queue object from JNDI</li>
+        <pre class="prettyprint">
+           <code>Queue queue = 
(Queue)initialContext.lookup("jms/queues/testQueue");</code>
+        </pre>
+
+        <li>We look up the JMS connection factory object from JNDI</li>
+        <pre class="prettyprint">
+           <code>ConnectionFactory cf = 
(ConnectionFactory)initialContext.lookup("jms/RemoteConnectionFactory");</code>
+        </pre>
+
+        <li>We create a JMSContext inside the try-with-resource block so it 
auto closes</li>
+        <pre class="prettyprint">
+           <code>
+               try
+               (
+                  // Step 6.Create a JMS Connection inside the 
try-with-resource block so it will auto close
+                  JMSContext context = cf.createContext("guest", "password")
+               )
+           </code>
+        </pre>
+
+        <li>We create a JMS Producer and send a String as a message.</li>
+        <pre class="prettyprint">
+           <code>context.createProducer().send(queue, "This is a text 
message");</code>
+        </pre>
+
+        <li>We start the context so we can receive messages.</li>
+        <pre class="prettyprint">
+           <code>context.start();</code>
+        </pre>
+
+        <li>We look up the reply queue.</li>
+        <pre class="prettyprint">
+          <code>Queue replyQueue = 
(Queue)initialContext.lookup("jms/queues/replyQueue");</code>
+       </pre>
+
+        <li>We receive the body, as a String, of the reply message.</li>
+        <pre class="prettyprint">
+           <code> String text = 
context.createConsumer(replyQueue).receiveBody(String.class);</code>
+        </pre>
+
+        <li>And finally, close the initial context.</li>
+
+        <pre class="prettyprint">
+           <code>finally
+           {
+              if (initialContext != null)
+              {
+                initialContext.close();
+              }
+           }</code>
+        </pre>
+
+
+
+     </ol>
+  </body>
+</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/8ecd255f/examples/javaee/jms-context-injection/server/standalone/configuration/application-roles.properties
----------------------------------------------------------------------
diff --git 
a/examples/javaee/jms-context-injection/server/standalone/configuration/application-roles.properties
 
b/examples/javaee/jms-context-injection/server/standalone/configuration/application-roles.properties
new file mode 100644
index 0000000..0ade8fb
--- /dev/null
+++ 
b/examples/javaee/jms-context-injection/server/standalone/configuration/application-roles.properties
@@ -0,0 +1,22 @@
+#
+# Properties declaration of users roles for the realm 'ApplicationRealm'.
+#
+# This includes the following protocols: remote ejb, remote jndi, web, remote 
jms
+#
+# Users can be added to this properties file at any time, updates after the 
server has started
+# will be automatically detected.
+#
+# The format of this file is as follows: -
+# username=role1,role2,role3
+#
+# A utility script is provided which can be executed from the bin folder to 
add the users: -
+# - Linux
+#  bin/add-user.sh
+#
+# - Windows
+#  bin\add-user.bat
+#
+# The following illustrates how an admin user could be defined.
+#
+#admin=PowerUser,BillingAdmin,
+guest=guest

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/8ecd255f/examples/javaee/jms-context-injection/server/standalone/configuration/application-users.properties
----------------------------------------------------------------------
diff --git 
a/examples/javaee/jms-context-injection/server/standalone/configuration/application-users.properties
 
b/examples/javaee/jms-context-injection/server/standalone/configuration/application-users.properties
new file mode 100644
index 0000000..c52e923
--- /dev/null
+++ 
b/examples/javaee/jms-context-injection/server/standalone/configuration/application-users.properties
@@ -0,0 +1,24 @@
+#
+# Properties declaration of users for the realm 'ApplicationRealm' which is 
the default realm
+# for application services on a new AS 7.1 installation.
+#
+# This includes the following protocols: remote ejb, remote jndi, web, remote 
jms
+#
+# Users can be added to this properties file at any time, updates after the 
server has started
+# will be automatically detected.
+#
+# The format of this realm is as follows: -
+# username=HEX( MD5( username ':' realm ':' password))
+#
+# A utility script is provided which can be executed from the bin folder to 
add the users: -
+# - Linux
+#  bin/add-user.sh
+#
+# - Windows
+#  bin\add-user.bat
+#
+# The following illustrates how an admin user could be defined, this
+# is for illustration only and does not correspond to a usable password.
+#
+#admin=2a0923285184943425d1f53ddd58ec7a
+guest=3437456520927d113b17d471d630e0d6

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/8ecd255f/examples/javaee/jms-context-injection/server/standalone/configuration/logging.properties
----------------------------------------------------------------------
diff --git 
a/examples/javaee/jms-context-injection/server/standalone/configuration/logging.properties
 
b/examples/javaee/jms-context-injection/server/standalone/configuration/logging.properties
new file mode 100644
index 0000000..8a011f0
--- /dev/null
+++ 
b/examples/javaee/jms-context-injection/server/standalone/configuration/logging.properties
@@ -0,0 +1,52 @@
+#
+# JBoss, Home of Professional Open Source.
+# Copyright 2010, Red Hat, Inc., and individual contributors
+# as indicated by the @author tags. See the copyright.txt file in the
+# distribution for a full listing of individual contributors.
+#
+# This is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of
+# the License, or (at your option) any later version.
+#
+# This software is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this software; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+# 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+#
+
+# Additional logger names to configure (root logger is always configured)
+loggers=org.jboss.as.config
+
+# Dump system environment at boot by default
+logger.org.jboss.as.config.level=DEBUG
+
+# Root logger level
+logger.level=${jboss.boot.server.log.level:INFO}
+# Root logger handlers
+logger.handlers=FILE,CONSOLE
+
+# Console handler configuration
+handler.CONSOLE=org.jboss.logmanager.handlers.ConsoleHandler
+handler.CONSOLE.properties=autoFlush
+handler.CONSOLE.level=${jboss.boot.server.log.console.level:INFO}
+handler.CONSOLE.autoFlush=true
+handler.CONSOLE.formatter=PATTERN
+
+# File handler configuration
+handler.FILE=org.jboss.logmanager.handlers.FileHandler
+handler.FILE.level=DEBUG
+handler.FILE.properties=autoFlush,fileName
+handler.FILE.autoFlush=true
+handler.FILE.fileName=${org.jboss.boot.log.file:boot.log}
+handler.FILE.formatter=PATTERN
+
+# Formatter pattern configuration
+formatter.PATTERN=org.jboss.logmanager.formatters.PatternFormatter
+formatter.PATTERN.properties=pattern
+formatter.PATTERN.pattern=%d{HH:mm:ss,SSS} %-5p [%c] %s%E%n

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/8ecd255f/examples/javaee/jms-context-injection/server/standalone/configuration/mgmt-users.properties
----------------------------------------------------------------------
diff --git 
a/examples/javaee/jms-context-injection/server/standalone/configuration/mgmt-users.properties
 
b/examples/javaee/jms-context-injection/server/standalone/configuration/mgmt-users.properties
new file mode 100644
index 0000000..349b004
--- /dev/null
+++ 
b/examples/javaee/jms-context-injection/server/standalone/configuration/mgmt-users.properties
@@ -0,0 +1,24 @@
+#
+# Properties declaration of users for the realm 'ManagementRealm' which is the 
default realm
+# for new AS 7.1 installations. Further authentication mechanism can be 
configured
+# as part of the <management /> in standalone.xml.
+#
+# Users can be added to this properties file at any time, updates after the 
server has started
+# will be automatically detected.
+#
+# By default the properties realm expects the entries to be in the format: -
+# username=HEX( MD5( username ':' realm ':' password))
+#
+# A utility script is provided which can be executed from the bin folder to 
add the users: -
+# - Linux
+#  bin/add-user.sh
+#
+# - Windows
+#  bin\add-user.bat
+
+# The following illustrates how an admin user could be defined, this
+# is for illustration only and does not correspond to a usable password.
+#
+#admin=2a0923285184943425d1f53ddd58ec7a
+admin=9d71b431e53d99563aa0dfca628c970b
+andy=dfb16391f1be1c454b5bce9822bd9df3

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/8ecd255f/examples/javaee/jms-context-injection/server/standalone/configuration/standalone-example.xml
----------------------------------------------------------------------
diff --git 
a/examples/javaee/jms-context-injection/server/standalone/configuration/standalone-example.xml
 
b/examples/javaee/jms-context-injection/server/standalone/configuration/standalone-example.xml
new file mode 100644
index 0000000..c64af5a
--- /dev/null
+++ 
b/examples/javaee/jms-context-injection/server/standalone/configuration/standalone-example.xml
@@ -0,0 +1,493 @@
+<?xml version='1.0' encoding='UTF-8'?>
+
+<server xmlns="urn:jboss:domain:2.0">
+    <extensions>
+        <extension module="org.jboss.as.clustering.infinispan"/>
+        <extension module="org.jboss.as.connector"/>
+        <extension module="org.jboss.as.deployment-scanner"/>
+        <extension module="org.jboss.as.ee"/>
+        <extension module="org.jboss.as.ejb3"/>
+        <extension module="org.jboss.as.jacorb"/>
+        <extension module="org.jboss.as.jaxrs"/>
+        <extension module="org.jboss.as.jdr"/>
+        <extension module="org.jboss.as.jmx"/>
+        <extension module="org.jboss.as.jpa"/>
+        <extension module="org.jboss.as.jsf"/>
+        <extension module="org.jboss.as.jsr77"/>
+        <extension module="org.jboss.as.logging"/>
+        <extension module="org.jboss.as.mail"/>
+        <extension module="org.jboss.as.messaging"/>
+        <extension module="org.jboss.as.naming"/>
+        <extension module="org.jboss.as.pojo"/>
+        <extension module="org.jboss.as.remoting"/>
+        <extension module="org.jboss.as.sar"/>
+        <extension module="org.jboss.as.security"/>
+        <extension module="org.jboss.as.threads"/>
+        <extension module="org.jboss.as.transactions"/>
+        <extension module="org.jboss.as.webservices"/>
+        <extension module="org.jboss.as.weld"/>
+        <extension module="org.wildfly.extension.batch"/>
+        <extension module="org.wildfly.extension.io"/>
+        <extension module="org.wildfly.extension.undertow"/>
+    </extensions>
+    <management>
+        <security-realms>
+            <security-realm name="ManagementRealm">
+                <authentication>
+                    <local default-user="$local"/>
+                    <properties path="mgmt-users.properties" 
relative-to="jboss.server.config.dir"/>
+                </authentication>
+                <authorization map-groups-to-roles="false">
+                    <properties path="mgmt-groups.properties" 
relative-to="jboss.server.config.dir"/>
+                </authorization>
+            </security-realm>
+            <security-realm name="ApplicationRealm">
+                <authentication>
+                    <local default-user="$local" allowed-users="*"/>
+                    <properties path="application-users.properties" 
relative-to="jboss.server.config.dir"/>
+                </authentication>
+                <authorization>
+                    <properties path="application-roles.properties" 
relative-to="jboss.server.config.dir"/>
+                </authorization>
+            </security-realm>
+        </security-realms>
+        <audit-log>
+            <formatters>
+                <json-formatter name="json-formatter"/>
+            </formatters>
+            <handlers>
+                <file-handler name="file" formatter="json-formatter" 
relative-to="jboss.server.data.dir" path="audit-log.log"/>
+            </handlers>
+            <logger log-boot="true" log-read-only="false" enabled="false">
+                <handlers>
+                    <handler name="file"/>
+                </handlers>
+            </logger>
+        </audit-log>
+        <management-interfaces>
+            <http-interface security-realm="ManagementRealm" 
http-upgrade-enabled="true">
+                <socket-binding http="management-http"/>
+            </http-interface>
+        </management-interfaces>
+        <access-control provider="simple">
+            <role-mapping>
+                <role name="SuperUser">
+                    <include>
+                        <user name="$local"/>
+                    </include>
+                </role>
+            </role-mapping>
+        </access-control>
+    </management>
+    <profile>
+        <subsystem xmlns="urn:jboss:domain:logging:2.0">
+            <console-handler name="CONSOLE">
+                <level name="INFO"/>
+                <formatter>
+                    <named-formatter name="COLOR-PATTERN"/>
+                </formatter>
+            </console-handler>
+            <periodic-rotating-file-handler name="FILE" autoflush="true">
+                <formatter>
+                    <named-formatter name="PATTERN"/>
+                </formatter>
+                <file relative-to="jboss.server.log.dir" path="server.log"/>
+                <suffix value=".yyyy-MM-dd"/>
+                <append value="true"/>
+            </periodic-rotating-file-handler>
+            <logger category="com.arjuna">
+                <level name="WARN"/>
+            </logger>
+            <logger category="org.apache.tomcat.util.modeler">
+                <level name="WARN"/>
+            </logger>
+            <logger category="org.jboss.as.config">
+                <level name="DEBUG"/>
+            </logger>
+            <logger category="sun.rmi">
+                <level name="WARN"/>
+            </logger>
+            <logger category="jacorb">
+                <level name="WARN"/>
+            </logger>
+            <logger category="jacorb.config">
+                <level name="ERROR"/>
+            </logger>
+            <root-logger>
+                <level name="INFO"/>
+                <handlers>
+                    <handler name="CONSOLE"/>
+                    <handler name="FILE"/>
+                </handlers>
+            </root-logger>
+            <formatter name="PATTERN">
+                <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p 
[%c] (%t) %s%E%n"/>
+            </formatter>
+            <formatter name="COLOR-PATTERN">
+                <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p 
[%c] (%t) %s%E%n"/>
+            </formatter>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:batch:1.0">
+            <job-repository>
+                <in-memory/>
+            </job-repository>
+            <thread-pool>
+                <max-threads count="10"/>
+                <keepalive-time time="100" unit="milliseconds"/>
+            </thread-pool>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:datasources:2.0">
+            <datasources>
+                <datasource jndi-name="java:jboss/datasources/ExampleDS" 
pool-name="ExampleDS" enabled="true" use-java-context="true">
+                    
<connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
+                    <driver>h2</driver>
+                    <security>
+                        <user-name>sa</user-name>
+                        <password>sa</password>
+                    </security>
+                </datasource>
+                <drivers>
+                    <driver name="h2" module="com.h2database.h2">
+                        
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
+                    </driver>
+                </drivers>
+            </datasources>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:deployment-scanner:2.0">
+            <deployment-scanner path="deployments" 
relative-to="jboss.server.base.dir" scan-interval="5000" 
runtime-failure-causes-rollback="${jboss.deployment.scanner.rollback.on.failure:false}"/>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:ee:2.0">
+            
<spec-descriptor-property-replacement>false</spec-descriptor-property-replacement>
+            
<jboss-descriptor-property-replacement>true</jboss-descriptor-property-replacement>
+            
<annotation-property-replacement>false</annotation-property-replacement>
+            <concurrent>
+                <context-services>
+                    <context-service name="default" 
jndi-name="java:jboss/ee/concurrency/context/default" 
use-transaction-setup-provider="true"/>
+                </context-services>
+                <managed-executor-services>
+                    <managed-executor-service name="default" 
jndi-name="java:jboss/ee/concurrency/executor/default" 
context-service="default" hung-task-threshold="60000" core-threads="5" 
max-threads="25" keepalive-time="5000"/>
+                </managed-executor-services>
+                <managed-scheduled-executor-services>
+                    <managed-scheduled-executor-service name="default" 
jndi-name="java:jboss/ee/concurrency/scheduler/default" 
context-service="default" hung-task-threshold="60000" core-threads="2" 
keepalive-time="3000"/>
+                </managed-scheduled-executor-services>
+                <managed-thread-factories>
+                    <managed-thread-factory name="default" 
jndi-name="java:jboss/ee/concurrency/factory/default" 
context-service="default"/>
+                </managed-thread-factories>
+            </concurrent>
+            <default-bindings 
context-service="java:jboss/ee/concurrency/context/default" 
datasource="java:jboss/datasources/ExampleDS" 
jms-connection-factory="java:jboss/DefaultJMSConnectionFactory" 
managed-executor-service="java:jboss/ee/concurrency/executor/default" 
managed-scheduled-executor-service="java:jboss/ee/concurrency/scheduler/default"
 managed-thread-factory="java:jboss/ee/concurrency/factory/default"/>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:ejb3:2.0">
+            <session-bean>
+                <stateful default-access-timeout="5000" cache-ref="simple" 
passivation-disabled-cache-ref="simple"/>
+                <singleton default-access-timeout="5000"/>
+            </session-bean>
+            <mdb>
+                <resource-adapter-ref 
resource-adapter-name="${ejb.resource-adapter-name:hornetq-ra.rar}"/>
+                <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>
+            </mdb>
+            <pools>
+                <bean-instance-pools>
+                    <!-- A sample strict max pool configuration -->
+                    <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"/>
+                <cache name="distributable" aliases="passivating clustered" 
passivation-store-ref="infinispan"/>
+            </caches>
+            <passivation-stores>
+                <passivation-store name="infinispan" cache-container="ejb" 
max-size="10000"/>
+            </passivation-stores>
+            <async thread-pool-name="default"/>
+            <timer-service thread-pool-name="default" 
default-data-store="default-file-store">
+                <data-stores>
+                    <file-data-store name="default-file-store" 
path="timer-service-data" relative-to="jboss.server.data.dir"/>
+                </data-stores>
+            </timer-service>
+            <remote connector-ref="http-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>
+            <iiop enable-by-default="false" use-qualified-name="false"/>
+            <default-security-domain value="other"/>
+            <default-missing-method-permissions-deny-access value="true"/>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:io:1.0">
+            <worker name="default" io-threads="3"/>
+            <buffer-pool name="default" buffer-size="16384" 
buffers-per-slice="128"/>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:infinispan:2.0">
+            <cache-container name="web" default-cache="passivation" 
module="org.wildfly.clustering.web.infinispan">
+                <local-cache name="passivation" batching="true">
+                    <file-store passivation="true" purge="false"/>
+                </local-cache>
+                <local-cache name="persistent" batching="true">
+                    <file-store passivation="false" purge="false"/>
+                </local-cache>
+            </cache-container>
+            <cache-container name="ejb" aliases="sfsb" 
default-cache="passivation" module="org.wildfly.clustering.ejb.infinispan">
+                <local-cache name="passivation" batching="true">
+                    <file-store passivation="true" purge="false"/>
+                </local-cache>
+                <local-cache name="persistent" batching="true">
+                    <file-store passivation="false" purge="false"/>
+                </local-cache>
+            </cache-container>
+            <cache-container name="hibernate" default-cache="local-query" 
module="org.hibernate">
+                <local-cache name="entity">
+                    <transaction mode="NON_XA"/>
+                    <eviction strategy="LRU" max-entries="10000"/>
+                    <expiration max-idle="100000"/>
+                </local-cache>
+                <local-cache name="local-query">
+                    <transaction mode="NONE"/>
+                    <eviction strategy="LRU" max-entries="10000"/>
+                    <expiration max-idle="100000"/>
+                </local-cache>
+                <local-cache name="timestamps">
+                    <transaction mode="NONE"/>
+                    <eviction strategy="NONE"/>
+                </local-cache>
+            </cache-container>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:jacorb:1.3">
+            <orb socket-binding="jacorb" ssl-socket-binding="jacorb-ssl">
+                <initializers transactions="spec" security="identity"/>
+            </orb>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/>
+        <subsystem xmlns="urn:jboss:domain:jca:2.0">
+            <archive-validation enabled="true" fail-on-error="true" 
fail-on-warn="false"/>
+            <bean-validation enabled="true"/>
+            <default-workmanager>
+                <short-running-threads>
+                    <core-threads count="50"/>
+                    <queue-length count="50"/>
+                    <max-threads count="50"/>
+                    <keepalive-time time="10" unit="seconds"/>
+                </short-running-threads>
+                <long-running-threads>
+                    <core-threads count="50"/>
+                    <queue-length count="50"/>
+                    <max-threads count="50"/>
+                    <keepalive-time time="10" unit="seconds"/>
+                </long-running-threads>
+            </default-workmanager>
+            <cached-connection-manager/>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:jdr:1.0"/>
+        <subsystem xmlns="urn:jboss:domain:jmx:1.3">
+            <expose-resolved-model/>
+            <expose-expression-model/>
+            <remoting-connector/>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:jpa:1.1">
+            <jpa default-datasource="" 
default-extended-persistence-inheritance="DEEP"/>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:jsf:1.0"/>
+        <subsystem xmlns="urn:jboss:domain:jsr77:1.0"/>
+        <subsystem xmlns="urn:jboss:domain:mail:2.0">
+            <mail-session name="default" jndi-name="java:jboss/mail/Default">
+                <smtp-server outbound-socket-binding-ref="mail-smtp"/>
+            </mail-session>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:messaging:2.0">
+            <hornetq-server>
+                <persistence-enabled>true</persistence-enabled>
+                <journal-file-size>102400</journal-file-size>
+                <journal-min-files>2</journal-min-files>
+                <connectors>
+                    <http-connector name="http-connector" 
socket-binding="http">
+                        <param key="http-upgrade-endpoint" 
value="http-acceptor"/>
+                    </http-connector>
+                    <http-connector name="http-connector-throughput" 
socket-binding="http">
+                        <param key="http-upgrade-endpoint" 
value="http-acceptor-throughput"/>
+                        <param key="batch-delay" value="50"/>
+                    </http-connector>
+                    <in-vm-connector name="in-vm" server-id="0"/>
+                </connectors>
+                <acceptors>
+                    <http-acceptor name="http-acceptor" 
http-listener="default"/>
+                    <http-acceptor name="http-acceptor-throughput" 
http-listener="default">
+                        <param key="batch-delay" value="50"/>
+                        <param key="direct-deliver" value="false"/>
+                    </http-acceptor>
+                    <in-vm-acceptor name="in-vm" server-id="0"/>
+                </acceptors>
+                <security-settings>
+                    <security-setting match="#">
+                        <permission type="send" roles="guest"/>
+                        <permission type="consume" roles="guest"/>
+                        <permission type="createNonDurableQueue" 
roles="guest"/>
+                        <permission type="deleteNonDurableQueue" 
roles="guest"/>
+                    </security-setting>
+                </security-settings>
+                <address-settings>
+                    <!--default for catch all-->
+                    <address-setting match="#">
+                        
<dead-letter-address>jms.queue.DLQ</dead-letter-address>
+                        <expiry-address>jms.queue.ExpiryQueue</expiry-address>
+                        <redelivery-delay>0</redelivery-delay>
+                        <max-size-bytes>10485760</max-size-bytes>
+                        <address-full-policy>PAGE</address-full-policy>
+                        <page-size-bytes>2097152</page-size-bytes>
+                        
<message-counter-history-day-limit>10</message-counter-history-day-limit>
+                    </address-setting>
+                </address-settings>
+                <jms-connection-factories>
+                    <connection-factory name="InVmConnectionFactory">
+                        <connectors>
+                            <connector-ref connector-name="in-vm"/>
+                        </connectors>
+                        <entries>
+                            <entry name="java:/ConnectionFactory"/>
+                        </entries>
+                    </connection-factory>
+                    <connection-factory name="RemoteConnectionFactory">
+                        <connectors>
+                            <connector-ref connector-name="http-connector"/>
+                        </connectors>
+                        <entries>
+                            <entry 
name="java:jboss/exported/jms/RemoteConnectionFactory"/>
+                        </entries>
+                    </connection-factory>
+                    <pooled-connection-factory name="hornetq-ra">
+                        <transaction mode="xa"/>
+                        <connectors>
+                            <connector-ref connector-name="in-vm"/>
+                        </connectors>
+                        <entries>
+                            <entry name="java:/JmsXA"/>
+                            <!-- Global JNDI entry used to provide a default 
JMS Connection factory to EE application -->
+                            <entry 
name="java:jboss/DefaultJMSConnectionFactory"/>
+                        </entries>
+                    </pooled-connection-factory>
+                </jms-connection-factories>
+                <jms-destinations>
+                    <jms-queue name="testQueue">
+                        <entry name="queue/test"/>
+                        <entry 
name="java:jboss/exported/jms/queues/testQueue"/>
+                    </jms-queue>
+                    <jms-queue name="replyQueue">
+                        <entry name="queue/replyQueue"/>
+                        <entry 
name="java:jboss/exported/jms/queues/replyQueue"/>
+                    </jms-queue>
+                </jms-destinations>
+            </hornetq-server>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:naming:2.0">
+            <remote-naming/>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:pojo:1.0"/>
+        <subsystem xmlns="urn:jboss:domain:remoting:2.0">
+            <endpoint worker="default"/>
+            <http-connector name="http-remoting-connector" 
connector-ref="default" security-realm="ApplicationRealm"/>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:resource-adapters:2.0"/>
+        <subsystem xmlns="urn:jboss:domain:sar:1.0"/>
+        <subsystem xmlns="urn:jboss:domain:security:1.2">
+            <security-domains>
+                <security-domain name="other" cache-type="default">
+                    <authentication>
+                        <login-module code="Remoting" flag="optional">
+                            <module-option name="password-stacking" 
value="useFirstPass"/>
+                        </login-module>
+                        <login-module code="RealmDirect" flag="required">
+                            <module-option name="password-stacking" 
value="useFirstPass"/>
+                        </login-module>
+                    </authentication>
+                </security-domain>
+                <security-domain name="jboss-web-policy" cache-type="default">
+                    <authorization>
+                        <policy-module code="Delegating" flag="required"/>
+                    </authorization>
+                </security-domain>
+                <security-domain name="jboss-ejb-policy" cache-type="default">
+                    <authorization>
+                        <policy-module code="Delegating" flag="required"/>
+                    </authorization>
+                </security-domain>
+            </security-domains>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:threads:1.1"/>
+        <subsystem xmlns="urn:jboss:domain:transactions:2.0">
+            <core-environment>
+                <process-id>
+                    <uuid/>
+                </process-id>
+            </core-environment>
+            <recovery-environment socket-binding="txn-recovery-environment" 
status-socket-binding="txn-status-manager"/>
+            <coordinator-environment default-timeout="300"/>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:undertow:1.0">
+            <buffer-caches>
+                <buffer-cache name="default" buffer-size="1024" 
buffers-per-region="1024" max-regions="10"/>
+            </buffer-caches>
+            <server name="default-server">
+                <http-listener name="default" socket-binding="http"/>
+                <host name="default-host" alias="localhost">
+                    <location name="/" handler="welcome-content"/>
+                    <filter-ref name="server-header"/>
+                    <filter-ref name="x-powered-by-header"/>
+                </host>
+            </server>
+            <servlet-container name="default" default-buffer-cache="default" 
stack-trace-on-error="local-only">
+                <jsp-config/>
+            </servlet-container>
+            <handlers>
+                <file name="welcome-content" 
path="${jboss.home.dir}/welcome-content" directory-listing="true"/>
+            </handlers>
+            <filters>
+                <response-header name="server-header" header-name="Server" 
header-value="Wildfly 8"/>
+                <response-header name="x-powered-by-header" 
header-name="X-Powered-By" header-value="Undertow 1"/>
+            </filters>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:webservices:1.2">
+            <modify-wsdl-address>true</modify-wsdl-address>
+            <wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host>
+            <endpoint-config name="Standard-Endpoint-Config"/>
+            <endpoint-config name="Recording-Endpoint-Config">
+                <pre-handler-chain name="recording-handlers" 
protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP 
##SOAP12_HTTP_MTOM">
+                    <handler name="RecordingHandler" 
class="org.jboss.ws.common.invocation.RecordingServerHandler"/>
+                </pre-handler-chain>
+            </endpoint-config>
+            <client-config name="Standard-Client-Config"/>
+        </subsystem>
+        <subsystem xmlns="urn:jboss:domain:weld:2.0"/>
+    </profile>
+    <interfaces>
+        <interface name="management">
+            <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
+        </interface>
+        <interface name="public">
+            <inet-address value="${jboss.bind.address:127.0.0.1}"/>
+        </interface>
+        <!-- TODO - only show this if the jacorb subsystem is added  -->
+        <interface name="unsecure">
+            <!--
+              ~  Used for IIOP sockets in the standard configuration.
+              ~                  To secure JacORB you need to setup SSL 
+              -->
+            <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/>
+        </interface>
+    </interfaces>
+    <socket-binding-group name="standard-sockets" default-interface="public" 
port-offset="${jboss.socket.binding.port-offset:0}">
+        <socket-binding name="management-http" interface="management" 
port="${jboss.management.http.port:9990}"/>
+        <socket-binding name="management-https" interface="management" 
port="${jboss.management.https.port:9993}"/>
+        <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
+        <socket-binding name="http" port="${jboss.http.port:8080}"/>
+        <socket-binding name="https" port="${jboss.https.port:8443}"/>
+        <socket-binding name="jacorb" interface="unsecure" port="3528"/>
+        <socket-binding name="jacorb-ssl" interface="unsecure" port="3529"/>
+        <socket-binding name="messaging-group" port="0" 
multicast-address="${jboss.messaging.group.address:231.7.7.7}" 
multicast-port="${jboss.messaging.group.port:9876}"/>
+        <socket-binding name="txn-recovery-environment" port="4712"/>
+        <socket-binding name="txn-status-manager" port="4713"/>
+        <outbound-socket-binding name="mail-smtp">
+            <remote-destination host="localhost" port="25"/>
+        </outbound-socket-binding>
+    </socket-binding-group>
+</server>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/8ecd255f/examples/javaee/jms-context-injection/src/main/java/org/hornetq/javaee/example/JmsContextInjectionClientExample.java
----------------------------------------------------------------------
diff --git 
a/examples/javaee/jms-context-injection/src/main/java/org/hornetq/javaee/example/JmsContextInjectionClientExample.java
 
b/examples/javaee/jms-context-injection/src/main/java/org/hornetq/javaee/example/JmsContextInjectionClientExample.java
new file mode 100644
index 0000000..ae720b0
--- /dev/null
+++ 
b/examples/javaee/jms-context-injection/src/main/java/org/hornetq/javaee/example/JmsContextInjectionClientExample.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright 2005-2014 Red Hat, Inc.
+ * Red Hat licenses this file to you under the Apache License, version
+ * 2.0 (the "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied.  See the License for the specific language governing
+ * permissions and limitations under the License.
+ */
+package org.hornetq.javaee.example;
+
+import javax.jms.Connection;
+import javax.jms.ConnectionFactory;
+import javax.jms.JMSContext;
+import javax.jms.Message;
+import javax.jms.MessageConsumer;
+import javax.jms.MessageProducer;
+import javax.jms.Queue;
+import javax.jms.Session;
+import javax.jms.TextMessage;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import java.util.Properties;
+
+/**
+ * @author <a href="mailto:andy.tay...@jboss.org";>Andy Taylor</a>
+ */
+public class JmsContextInjectionClientExample
+{
+   public static void main(final String[] args) throws Exception
+   {
+      Thread.sleep(5000);
+      InitialContext initialContext = null;
+      try
+      {
+         // Step 3. Create an initial context to perform the JNDI lookup.
+         final Properties env = new Properties();
+
+         env.put(Context.INITIAL_CONTEXT_FACTORY, 
"org.jboss.naming.remote.client.InitialContextFactory");
+
+         env.put(Context.PROVIDER_URL, "http-remoting://localhost:8080");
+
+         initialContext = new InitialContext(env);
+
+         // Step 4. Perfom a lookup on the queue
+         Queue queue = (Queue)initialContext.lookup("jms/queues/testQueue");
+
+         // Step 5. Perform a lookup on the Connection Factory
+         ConnectionFactory cf = 
(ConnectionFactory)initialContext.lookup("jms/RemoteConnectionFactory");
+
+         try
+         (
+            // Step 6.Create a JMS Connection inside the try-with-resource 
block so it will auto close
+            JMSContext context = cf.createContext("guest", "password")
+         )
+         {
+            // Step 6. create a JMSProducer and send the message
+            context.createProducer().send(queue, "This is a text message");
+
+            // Step 7 start the context
+            context.start();
+
+            // Step 8. look up the reply queue
+            Queue replyQueue = 
(Queue)initialContext.lookup("jms/queues/replyQueue");
+
+            // Step 9. receive the body of the message as a String
+            String text = 
context.createConsumer(replyQueue).receiveBody(String.class);
+         }
+      }
+      finally
+      {
+         // Step 10. Be sure to close our Initial Context!
+         if (initialContext != null)
+         {
+            initialContext.close();
+         }
+      }
+   }
+}

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/8ecd255f/examples/javaee/jms-context-injection/src/main/java/org/hornetq/javaee/example/server/JmsContextInjectionExample.java
----------------------------------------------------------------------
diff --git 
a/examples/javaee/jms-context-injection/src/main/java/org/hornetq/javaee/example/server/JmsContextInjectionExample.java
 
b/examples/javaee/jms-context-injection/src/main/java/org/hornetq/javaee/example/server/JmsContextInjectionExample.java
new file mode 100644
index 0000000..83c1a63
--- /dev/null
+++ 
b/examples/javaee/jms-context-injection/src/main/java/org/hornetq/javaee/example/server/JmsContextInjectionExample.java
@@ -0,0 +1,76 @@
+/*
+ * Copyright 2005-2014 Red Hat, Inc.
+ * Red Hat licenses this file to you under the Apache License, version
+ * 2.0 (the "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied.  See the License for the specific language governing
+ * permissions and limitations under the License.
+ */
+package org.hornetq.javaee.example.server;
+
+import javax.annotation.Resource;
+import javax.ejb.ActivationConfigProperty;
+import javax.ejb.MessageDriven;
+import javax.ejb.TransactionAttribute;
+import javax.ejb.TransactionAttributeType;
+import javax.ejb.TransactionManagement;
+import javax.ejb.TransactionManagementType;
+import javax.inject.Inject;
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.MessageListener;
+import javax.jms.Queue;
+import javax.jms.TextMessage;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.transaction.SystemException;
+import javax.transaction.Transaction;
+import javax.transaction.TransactionManager;
+
+import org.jboss.ejb3.annotation.ResourceAdapter;
+
+import java.util.Calendar;
+
+/**
+ * @author <a href="mailto:andy.tay...@jboss.org";>Andy Taylor</a>
+ */
+@MessageDriven(name = "MDB_JMS_CONTEXT",
+               activationConfig =
+                  {
+                     @ActivationConfigProperty(propertyName = 
"destinationType", propertyValue = "javax.jms.Queue"),
+                     @ActivationConfigProperty(propertyName = "destination", 
propertyValue = "queue/testQueue"),
+                     @ActivationConfigProperty(propertyName = 
"consumerMaxRate", propertyValue = "1")
+                  })
+public class JmsContextInjectionExample implements MessageListener
+{
+   // 1. Inject the JMSContext
+   @Inject
+   javax.jms.JMSContext context;
+
+   // 2. Map the reply queue
+   @Resource(mappedName = "java:/queue/replyQueue")
+   Queue replyQueue;
+
+   public void onMessage(final Message message)
+   {
+      try
+      {
+         // Step 9. We know the client is sending a text message so we cast
+         TextMessage textMessage = (TextMessage)message;
+
+         // Step 10. we print out the message text
+         System.out.println("message " + textMessage.getText() + " received");
+
+         // Step 11. we create a JMSProducer and send a message
+         context.createProducer().send(replyQueue, "this is a reply");
+      }
+      catch (JMSException e)
+      {
+         e.printStackTrace();
+      }
+   }
+}

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/8ecd255f/examples/javaee/jms-context-injection/src/test/java/org/hornetq/javaee/examples/JmsContextInjectionRunnerTest.java
----------------------------------------------------------------------
diff --git 
a/examples/javaee/jms-context-injection/src/test/java/org/hornetq/javaee/examples/JmsContextInjectionRunnerTest.java
 
b/examples/javaee/jms-context-injection/src/test/java/org/hornetq/javaee/examples/JmsContextInjectionRunnerTest.java
new file mode 100644
index 0000000..fef539a
--- /dev/null
+++ 
b/examples/javaee/jms-context-injection/src/test/java/org/hornetq/javaee/examples/JmsContextInjectionRunnerTest.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2005-2014 Red Hat, Inc.
+ * Red Hat licenses this file to you under the Apache License, version
+ * 2.0 (the "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied.  See the License for the specific language governing
+ * permissions and limitations under the License.
+ */
+
+package org.hornetq.javaee.examples;
+
+import org.hornetq.javaee.example.JmsContextInjectionClientExample;
+import org.hornetq.javaee.example.server.JmsContextInjectionExample;
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.container.test.api.RunAsClient;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.EmptyAsset;
+import org.jboss.shrinkwrap.api.asset.StringAsset;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * @author <a href="mailto:andy.tay...@jboss.org";>Andy Taylor</a>
+ *         5/21/12
+ */
+@RunAsClient
+@RunWith(Arquillian.class)
+public class JmsContextInjectionRunnerTest
+{
+   @Deployment
+   public static Archive getDeployment()
+   {
+      final JavaArchive ejbJar = ShrinkWrap.create(JavaArchive.class, 
"mdb.jar");
+      ejbJar.addClass(JmsContextInjectionExample.class).
+            addAsManifestResource(EmptyAsset.INSTANCE,
+            "beans.xml")
+            .addAsManifestResource(new StringAsset("Dependencies: 
org.jboss.as.controller-client,org.jboss.dmr,org.jboss.as.cli\n"),
+               "MANIFEST.MF");
+      System.out.println(ejbJar.toString(true));
+      return ejbJar;
+   }
+
+   @Test
+   public void runExample() throws Exception
+   {
+      JmsContextInjectionClientExample.main(null);
+      //give the example time to run
+      Thread.sleep(10000);
+   }
+
+
+}

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/8ecd255f/examples/javaee/jms-context-injection/src/test/resources/arquillian.xml
----------------------------------------------------------------------
diff --git 
a/examples/javaee/jms-context-injection/src/test/resources/arquillian.xml 
b/examples/javaee/jms-context-injection/src/test/resources/arquillian.xml
new file mode 100644
index 0000000..9090137
--- /dev/null
+++ b/examples/javaee/jms-context-injection/src/test/resources/arquillian.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<arquillian xmlns="http://jboss.org/schema/arquillian";
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+    xsi:schemaLocation="http://jboss.org/schema/arquillian 
http://jboss.org/schema/arquillian/arquillian_1_0.xsd";>
+
+    <!-- Uncomment to have test archives exported to the file system for 
inspection.
+This feature can also be controlled using the system property 
arquillian.deploymentExportPath -->
+    <!--
+<engine>
+<property name="deploymentExportPath">target</property>
+</engine>
+-->
+
+   <defaultProtocol type="Servlet 3.0" />
+
+   <container qualifier="jboss" default="true">
+      <configuration>
+         <property name="jbossHome">${basedir}/target/jbossas-node0</property>
+         <property name="serverConfig">standalone-example.xml</property>
+         <property name="allowConnectingToRunningServer">true</property>
+         <property name="managementAddress">${node0:127.0.0.1}</property>
+      </configuration>
+   </container>
+
+    <!-- logThreshold proposed -->
+    <!--
+<container qualifier="jbossas-managed">
+<configuration>
+<property name="logThreshold">ERROR</property>
+</configuration>
+</container>
+-->
+
+</arquillian>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/8ecd255f/examples/javaee/mdb-bmt/pom.xml
----------------------------------------------------------------------
diff --git a/examples/javaee/mdb-bmt/pom.xml b/examples/javaee/mdb-bmt/pom.xml
new file mode 100644
index 0000000..713744b
--- /dev/null
+++ b/examples/javaee/mdb-bmt/pom.xml
@@ -0,0 +1,14 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
+   <modelVersion>4.0.0</modelVersion>
+
+   <parent>
+      <groupId>org.hornetq.example.javaee</groupId>
+      <artifactId>javaee-examples</artifactId>
+      <version>2.5.0-SNAPSHOT</version>
+   </parent>
+
+   <artifactId>hornetq-javaee-mdb-bmt-example</artifactId>
+   <packaging>jar</packaging>
+   <name>HornetQ Java EE MDB Example</name>
+</project>
\ No newline at end of file

Reply via email to