This commit is contained in:
Michael André Pearce 2017-10-27 16:44:12 +01:00
commit 7a3317c56b
15 changed files with 292 additions and 474 deletions

View File

@ -1,93 +0,0 @@
# artemis-jms-bridge
An example project showing how to do different varieties of bridging with ActiveMQ Brokers.
## ActiveMQ to Artemis Camel Bridge
This is an example of using Camel in the ActiveMQ broker to bridge messages between ActiveMQ and Artemis.
### Prerequisites
- install ActiveMQ
- install Artemis
### Preparing
From the root directory run `mvn clean package`
Copy activemq-artemis-camel/target/activemq-artemis-camel-1.0.0-SNAPSHOT.war to the deploy dir of the ActiveMQ installation.
Create an instance of the Artemis broker `$ARTEMIS_HOME/bin/artemis create --allow-anonymous --user admin --password password myBroker`
Edit the $ARTEMIS_INSTANCE/etc/broker.xml and change the acceptor to listen to port 61617. Comment or remove all other acceptors.
```xml
<acceptors>
<acceptor name="artemis">tcp://0.0.0.0:61617?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=CORE,AMQP,STOMP,HORNETQ,MQTT,OPENWIRE;useEpoll=true;amqpCredits=1000;amqpLowCredits=300</acceptor>
</acceptors>
```
### Testing
Start the Artemis broker.
`$ARTEMIS_INSTANCE/bin/artemis run`
Start the ActiveMQ broker.
`$ACTIVEMQ_HOME/bin/standalone`
Send some messages to the ActiveMQ broker.
`./apache-activemq-5.11.0/bin/activemq producer --user admin --password password --destination queue://TEST.FOO`
Log into the Artemis console and browse the messages in the TEST.FOO queue.
## Artemis to ActiveMQ JMS Bridge
This is an example of using the JMS bridge shipped with the Artemis broker to bridge to ActiveMQ.
###Prerequisites
- install ActiveMQ
- install Artemis
###Preparing
From the root dir run `mvn clean package`.
Copy artemis-jms-bridge/target/artemis-jms-bridge-1.0.0-SNAPSHOT.war to the web directory of the Artemis installation.
Create an instance of the Artemis broker `$ARTEMIS_HOME/bin/artemis create --allow-anonymous --user admin --password password myBroker`
Edit the $ARTEMIS_INSTANCE/etc/broker.xml and change the acceptor to use invm.
```xml
<acceptors>
<acceptor name="artemis">tcp://0.0.0.0:61617?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=CORE,AMQP,STOMP,HORNETQ,MQTT,OPENWIRE;useEpoll=true;amqpCredits=1000;amqpLowCredits=300</acceptor>
<acceptor name="invm">vm://0</acceptor>
</acceptors>
```
Edit the $ARTEMIS_INSTANCE/etc/bootstrap.xml and add the war file.
```xml
<app url="bridge" war="artemis-jms-bridge-1.0.0-SNAPSHOT.war"/>
```
###Testing
Start the ActiveMQ broker.
`$ACTIVEMQ_HOME/bin/standalone`
Start the Artemis broker.
`$ARTEMIS_INSTANCE/bin/artemis run`
Send some messages to the queue TEST.BAR via the Artemis console.
`$ARTEMIS_INSTANCE/bin/artemis producer --user admin --password password --destination queue://TEST.BAR --url tcp://localhost:61617 --message-count 1`
Log into the ActiveMQ console and browse the messages in the TEST.BAR queue.

View File

@ -1,101 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed 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.
-->
<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.apache.artemis.examples</groupId>
<artifactId>artemis-jms-bridge-parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>activemq-artemis-camel</artifactId>
<packaging>war</packaging>
<name>ActiveMQ to Artemis Camel Example</name>
<description>An example project showing how to do JMS bridging in ActiveMQ to Artemis using Apache Camel.</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<maven-war-plugin.version>3.1.0</maven-war-plugin.version>
<camel.version>2.18.1</camel.version>
<spring.version>4.3.4.RELEASE</spring.version>
<slf4j-jboss-logging.version>1.1.0.Final</slf4j-jboss-logging.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-client</artifactId>
<version>5.11.0</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-camel</artifactId>
<version>5.11.0</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>artemis-jms-client</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-core</artifactId>
<version>${camel.version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-spring</artifactId>
<version>${camel.version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-jms</artifactId>
<version>${camel.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.slf4j</groupId>
<artifactId>slf4j-jboss-logging</artifactId>
<version>${slf4j-jboss-logging.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>${maven-war-plugin.version}</version>
</plugin>
</plugins>
</build>
</project>

View File

@ -1,67 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed 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.
-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:camel="http://camel.apache.org/schema/spring"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<bean id="artemisConnectionFactory"
class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="tcp://localhost:61616"/>
<property name="userName" value="admin"/>
<property name="password" value="password"/>
</bean>
<bean id="jmsConfig"
class="org.apache.camel.component.jms.JmsConfiguration">
<property name="connectionFactory" ref="artemisConnectionFactory"/>
<property name="concurrentConsumers" value="10"/>
</bean>
<bean id="activemq"
class="org.apache.activemq.camel.component.ActiveMQComponent">
<property name="configuration" ref="jmsConfig"/>
</bean>
<bean id="artemisConnectionFactory" class="org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory">
<constructor-arg name="url" value="tcp://localhost:61617"/>
<constructor-arg name="user" value="admin"/>
<constructor-arg name="password" value="password"/>
</bean>
<bean id="artemisConfig"
class="org.apache.camel.component.jms.JmsConfiguration">
<property name="connectionFactory" ref="artemisConnectionFactory"/>
<property name="concurrentConsumers" value="10"/>
</bean>
<bean id="artemis"
class="org.apache.camel.component.jms.JmsComponent">
<property name="configuration" ref="artemisConfig"/>
</bean>
<camelContext id="bridgeContext" trace="false" xmlns="http://camel.apache.org/schema/spring">
<route id="bridge_TEST.FOO">
<from uri="activemq:queue:TEST.FOO"/>
<to uri="artemis:queue:TEST.FOO"/>
</route>
</camelContext>
</beans>

View File

@ -1,99 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed 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.
-->
<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.apache.artemis.examples</groupId>
<artifactId>artemis-jms-bridge-parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>artemis-jms-bridge</artifactId>
<packaging>war</packaging>
<name>Artemis JMS Bridge Example</name>
<description>An example project showing how to do JMS bridging in Artemis to an ActiveMQ.</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<maven-war-plugin.version>3.1.0</maven-war-plugin.version>
<camel.version>2.18.1</camel.version>
<spring.version>4.3.4.RELEASE</spring.version>
<slf4j-jboss-logging.version>1.1.0.Final</slf4j-jboss-logging.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-client</artifactId>
<version>5.11.0</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-camel</artifactId>
<version>5.11.0</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>artemis-jms-client</artifactId>
<version>2.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>artemis-server</artifactId>
<version>2.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>artemis-jms-server</artifactId>
<version>2.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.slf4j</groupId>
<artifactId>slf4j-jboss-logging</artifactId>
<version>${slf4j-jboss-logging.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>${maven-war-plugin.version}</version>
</plugin>
</plugins>
</build>
</project>

View File

@ -1,30 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed 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.
-->
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<display-name>JMS Bridge Loader</display-name>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:bridge.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
</web-app>

View File

@ -1,64 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed 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.
-->
<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>
<groupId>org.apache.artemis.examples</groupId>
<artifactId>artemis-jms-bridge-parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Active Messaging Bridge Examples</name>
<description>An example project showing different ways to use bridges with ActiveMQ and Artemis.</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<maven-war-plugin.version>3.1.0</maven-war-plugin.version>
<camel.version>2.18.1</camel.version>
<spring.version>4.3.4.RELEASE</spring.version>
<slf4j-jboss-logging.version>1.1.0.Final</slf4j-jboss-logging.version>
</properties>
<modules>
<module>activemq-artemis-camel</module>
<module>artemis-jms-bridge</module>
</modules>
<repositories>
<repository>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>fuse-public-repository</id>
<name>FuseSource Community Release Repository</name>
<url>https://repo.fusesource.com/nexus/content/groups/public</url>
</repository>
</repositories>
</project>

View File

@ -0,0 +1,148 @@
# Artemis to 5.x JMS Bridge
This is an example of using the JMS bridge shipped with the Artemis broker to bridge to a 5.x broker.
Notes:
- The Artemis JMS bridge is a general purpose bridge and can be used to bridge to any JMS provider which implements JNDI.
This example however is just focusing on integration with 5.x.
- The Artemis JMS bridge can "push" _and_ "pull" messages so it can be used to move messages both ways.
##Prerequisites
- install ActiveMQ 5.x
- install ActiveMQ Artemis
##Preparing
1) From the root dir run `mvn clean package`.
2) Copy artemis-jms-bridge/target/artemis-jms-bridge-<version>.war to the web directory of the Artemis installation.
3) Create an instance of the Artemis broker `$ARTEMIS_HOME/bin/artemis create --allow-anonymous myBroker`
4) Edit the `$ARTEMIS_INSTANCE/etc/broker.xml` and change the `artemis` acceptor to run on 61617 and add the `invm` acceptor.
```xml
<acceptors>
<acceptor name="artemis">tcp://0.0.0.0:61617?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=CORE,AMQP,STOMP,HORNETQ,MQTT,OPENWIRE;useEpoll=true;amqpCredits=1000;amqpLowCredits=300</acceptor>
<acceptor name="invm">vm://0</acceptor>
</acceptors>
```
5) Edit `$ARTEMIS_INSTANCE/etc/bootstrap.xml` and add the war file.
```xml
<app url="bridge" war="artemis-jms-bridge-<version>.war"/>
```
##Testing
Start the ActiveMQ broker.
`$ACTIVEMQ_HOME/bin/standalone`
Start the Artemis broker.
`$ARTEMIS_INSTANCE/bin/artemis run`
Send some messages to the queue TEST.BAR via the Artemis console.
`$ARTEMIS_INSTANCE/bin/artemis producer --destination queue://TEST.BAR --url tcp://localhost:61617 --message-count 1`
Log into the ActiveMQ 5.x console and browse the messages in the TEST.BAR queue.
# 5.x to Artemis Camel JMS Bridge
This is an alternative to using the Artemis JMS bridge using Camel in the 5.x broker to bridge messages to Artemis.
There isn't anything to deploy here. It's just a set of instructions.
This approach might be preferred if for example you only have access to the 5.x broker.
## Prerequisites
- install ActiveMQ 5.x
- install ActiveMQ Artemis
## Preparing
1) Fetch the `artemis-jms-client-all` jar from [Maven Central](https://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.apache.activemq%22%20AND%20a%3A%22artemis-jms-client-all%22)
which corresponds to the version of ActiveMQ Artemis installed. Copy that jar to the `$5X_HOME/lib` directory.
2) Add the bridge configuration to `activemq.xml`:
```xml
<bean id="5xConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="tcp://localhost:61616"/>
<property name="userName" value="admin"/>
<property name="password" value="password"/>
</bean>
<bean id="jmsConfig" class="org.apache.camel.component.jms.JmsConfiguration">
<property name="connectionFactory" ref="5xConnectionFactory"/>
<property name="concurrentConsumers" value="10"/>
</bean>
<bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent">
<property name="configuration" ref="jmsConfig"/>
</bean>
<bean id="artemisConnectionFactory" class="org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory">
<constructor-arg name="url" value="tcp://localhost:61617"/>
</bean>
<bean id="artemisConfig" class="org.apache.camel.component.jms.JmsConfiguration">
<property name="connectionFactory" ref="artemisConnectionFactory"/>
<property name="concurrentConsumers" value="10"/>
</bean>
<bean id="artemis" class="org.apache.camel.component.jms.JmsComponent">
<property name="configuration" ref="artemisConfig"/>
</bean>
<camelContext id="bridgeContext" trace="false" xmlns="http://camel.apache.org/schema/spring">
<route id="bridge_TEST.FOO">
<from uri="activemq:queue:TEST.FOO"/>
<to uri="artemis:queue:TEST.FOO"/>
</route>
</camelContext>
```
3) Ensure the `xsi:schemalocation` in activemq.xml contains the necessary Camel schemas:
```
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
```
4) Create an instance of the Artemis broker `$ARTEMIS_HOME/bin/artemis create --allow-anonymous myBroker`
5) Edit the `$ARTEMIS_INSTANCE/etc/broker.xml` and change the acceptor to listen to port 61617. Comment or remove all other acceptors.
```xml
<acceptors>
<acceptor name="artemis">tcp://0.0.0.0:61617?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=CORE,AMQP,STOMP,HORNETQ,MQTT,OPENWIRE;useEpoll=true;amqpCredits=1000;amqpLowCredits=300</acceptor>
</acceptors>
```
6) Edit `$ARTEMIS_INSTANCE/etc/bootstrap.xml` so that the embedded web server runs on a different port that the 5.x broker (e.g. 8162):
```xml
<web bind="http://localhost:8162" path="web">
```
## Testing
Start the Artemis broker.
`$ARTEMIS_INSTANCE/bin/artemis run`
Start the ActiveMQ 5.x broker.
`$5X_HOME/bin/activemq start`
Send some messages to the ActiveMQ 5.x broker.
`$5X_HOME/bin/activemq producer --user admin --password password --destination queue://TEST.FOO`
Log into the ActiveMQ Artemis console and browse the messages in the `TEST.FOO` queue.

View File

@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed 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.
-->
<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.apache.artemis.examples</groupId>
<artifactId>inter-broker-bridge-parent</artifactId>
<version>2.4.0-SNAPSHOT</version>
</parent>
<artifactId>artemis-jms-bridge</artifactId>
<packaging>war</packaging>
<name>Artemis JMS Bridge Example</name>
<properties>
<activemq.basedir>${project.basedir}/../../../../..</activemq.basedir>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-client</artifactId>
<version>${activemq5-version}</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>artemis-jms-client</artifactId>
<version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>artemis-server</artifactId>
<version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>artemis-jms-server</artifactId>
<version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>javax.management.j2ee</groupId>
<artifactId>javax.management.j2ee-api</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>org.jboss.slf4j</groupId>
<artifactId>slf4j-jboss-logging</artifactId>
<version>1.1.0.Final</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.1.0</version>
</plugin>
</plugins>
</build>
</project>

View File

@ -18,9 +18,6 @@ package org.artemis.bridge;
import javax.jms.ConnectionFactory; import javax.jms.ConnectionFactory;
/**
* @author <a href="mailto:andy.taylor@jboss.org">Andy Taylor</a>
*/
public class ConnectionFactoryFactoryBean implements org.apache.activemq.artemis.jms.bridge.ConnectionFactoryFactory { public class ConnectionFactoryFactoryBean implements org.apache.activemq.artemis.jms.bridge.ConnectionFactoryFactory {
private final ConnectionFactory connectionFactory; private final ConnectionFactory connectionFactory;

View File

@ -20,9 +20,6 @@ import org.apache.activemq.artemis.jms.bridge.DestinationFactory;
import javax.jms.Destination; import javax.jms.Destination;
/**
* @author <a href="mailto:andy.taylor@jboss.org">Andy Taylor</a>
*/
public class DestinationFactoryBean implements DestinationFactory { public class DestinationFactoryBean implements DestinationFactory {
private final Destination destination; private final Destination destination;

View File

@ -16,15 +16,14 @@ limitations under the License.
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="activemqConnectionFactory" <bean id="5xConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="tcp://localhost:61616"/> <property name="brokerURL" value="tcp://localhost:61616"/>
<property name="userName" value="admin"/> <property name="userName" value="admin"/>
<property name="password" value="password"/> <property name="password" value="password"/>
</bean> </bean>
<bean id="activemqConnectionFactoryFactory" class="org.artemis.bridge.ConnectionFactoryFactoryBean"> <bean id="5xConnectionFactoryFactory" class="org.artemis.bridge.ConnectionFactoryFactoryBean">
<constructor-arg ref="activemqConnectionFactory"/> <constructor-arg ref="5xConnectionFactory"/>
</bean> </bean>
<bean id="artemisConnectionFactory" class="org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory"> <bean id="artemisConnectionFactory" class="org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory">
@ -43,7 +42,7 @@ limitations under the License.
<constructor-arg value="TEST.BAR"/> <constructor-arg value="TEST.BAR"/>
</bean> </bean>
<bean id="activemqDestinationFactory" class="org.artemis.bridge.DestinationFactoryBean"> <bean id="5xDestinationFactory" class="org.artemis.bridge.DestinationFactoryBean">
<constructor-arg ref="activemqDestination"/> <constructor-arg ref="activemqDestination"/>
</bean> </bean>
@ -54,9 +53,9 @@ limitations under the License.
<bean id="artemis-jms-bridge" class="org.apache.activemq.artemis.jms.bridge.impl.JMSBridgeImpl" init-method="start" destroy-method="stop"> <bean id="artemis-jms-bridge" class="org.apache.activemq.artemis.jms.bridge.impl.JMSBridgeImpl" init-method="start" destroy-method="stop">
<property name="bridgeName" value="artemis-jms-bridge"/> <property name="bridgeName" value="artemis-jms-bridge"/>
<property name="sourceConnectionFactoryFactory" ref="artemisConnectionFactoryFactory"/> <property name="sourceConnectionFactoryFactory" ref="artemisConnectionFactoryFactory"/>
<property name="targetConnectionFactoryFactory" ref="activemqConnectionFactoryFactory"/> <property name="targetConnectionFactoryFactory" ref="5xConnectionFactoryFactory"/>
<property name="sourceDestinationFactory" ref="artemisDestinationFactory"/> <property name="sourceDestinationFactory" ref="artemisDestinationFactory"/>
<property name="targetDestinationFactory" ref="activemqDestinationFactory"/> <property name="targetDestinationFactory" ref="5xDestinationFactory"/>
<property name="qualityOfServiceMode" value="AT_MOST_ONCE"/> <property name="qualityOfServiceMode" value="AT_MOST_ONCE"/>
<property name="failureRetryInterval" value="5000"/> <property name="failureRetryInterval" value="5000"/>
<property name="failoverTimeout" value="5000"/> <property name="failoverTimeout" value="5000"/>
@ -64,6 +63,4 @@ limitations under the License.
<property name="maxBatchSize" value="1"/> <property name="maxBatchSize" value="1"/>
<property name="maxBatchTime" value="-1"/> <property name="maxBatchTime" value="-1"/>
</bean> </bean>
</beans> </beans>

View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed 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.
-->
<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.apache.activemq.examples.modules</groupId>
<artifactId>broker-modules</artifactId>
<version>2.4.0-SNAPSHOT</version>
</parent>
<groupId>org.apache.artemis.examples</groupId>
<artifactId>inter-broker-bridge-parent</artifactId>
<version>2.4.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ActiveMQ Artemis Inter-broker Bridging Examples</name>
<properties>
<activemq.basedir>${project.basedir}/../../../..</activemq.basedir>
</properties>
<modules>
<module>artemis-jms-bridge</module>
</modules>
</project>

View File

@ -50,7 +50,7 @@ under the License.
<id>release</id> <id>release</id>
<modules> <modules>
<module>artemis-ra-rar</module> <module>artemis-ra-rar</module>
<module>artemis-jms-bridge</module> <module>inter-broker-bridge</module>
</modules> </modules>
</profile> </profile>
</profiles> </profiles>

View File

@ -113,6 +113,7 @@
<version.org.jacoco.plugin>0.7.9</version.org.jacoco.plugin> <version.org.jacoco.plugin>0.7.9</version.org.jacoco.plugin>
<owasp.version>1.4.3</owasp.version> <owasp.version>1.4.3</owasp.version>
<spring.version>5.0.1.RELEASE</spring.version>
<activemq.version.versionName>${project.version}</activemq.version.versionName> <activemq.version.versionName>${project.version}</activemq.version.versionName>
<activemq.version.majorVersion>1</activemq.version.majorVersion> <activemq.version.majorVersion>1</activemq.version.majorVersion>
@ -318,28 +319,28 @@
<dependency> <dependency>
<groupId>org.springframework</groupId> <groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId> <artifactId>spring-core</artifactId>
<version>3.1.4.RELEASE</version> <version>${spring.version}</version>
<scope>compile</scope> <scope>compile</scope>
<!-- License: Apache 2.0 --> <!-- License: Apache 2.0 -->
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework</groupId> <groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId> <artifactId>spring-beans</artifactId>
<version>3.1.4.RELEASE</version> <version>${spring.version}</version>
<scope>compile</scope> <scope>compile</scope>
<!-- License: Apache 2.0 --> <!-- License: Apache 2.0 -->
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework</groupId> <groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId> <artifactId>spring-context</artifactId>
<version>3.1.4.RELEASE</version> <version>${spring.version}</version>
<scope>compile</scope> <scope>compile</scope>
<!-- License: Apache 2.0 --> <!-- License: Apache 2.0 -->
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework</groupId> <groupId>org.springframework</groupId>
<artifactId>spring-jms</artifactId> <artifactId>spring-jms</artifactId>
<version>3.1.4.RELEASE</version> <version>${spring.version}</version>
<scope>compile</scope> <scope>compile</scope>
<!-- License: Apache 2.0 --> <!-- License: Apache 2.0 -->
</dependency> </dependency>