added a test case showing how to use the XBean configuration in a regular Spring XML file using the Spring 2 namespace handler feature

git-svn-id: https://svn.apache.org/repos/asf/incubator/activemq/trunk@427599 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
James Strachan 2006-08-01 15:10:59 +00:00
parent 65f67c6530
commit 6b03bd3f9b
2 changed files with 90 additions and 1 deletions

View File

@ -113,7 +113,7 @@ public class SpringTest extends TestCase {
String config = "spring-jndi.xml";
assertSenderConfig(config);
}
/**
* Spring configured test where in the connection context is set to use
* an embedded broker. Configuration file is /resources/spring-embedded.xml
@ -126,6 +126,11 @@ public class SpringTest extends TestCase {
assertSenderConfig(config);
}
public void testSenderWithSpringXmlUsingSpring2NamespacesWithEmbeddedBrokerConfiguredViaXml() throws Exception {
String config = "spring-embedded-xbean.xml";
assertSenderConfig(config);
}
/**
* assert method that is used by all the test method to send and receive messages
* based on each spring configuration.

View File

@ -0,0 +1,84 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF 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.
-->
<!-- START SNIPPET: spring -->
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:amq="http://activemq.org/config/1.0"
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://activemq.org/config/1.0 http://people.apache.org/repository/org.apache.activemq/xsds/activemq-core-4.1-incubator-SNAPSHOT.xsd">
<!-- lets create an embedded ActiveMQ Broker -->
<amq:broker useJmx="false" persistent="false">
<amq:transportConnectors>
<amq:transportConnector uri="tcp://localhost:0" />
</amq:transportConnectors>
</amq:broker>
<!-- JMS ConnectionFactory to use, configuring the embedded broker using XML -->
<bean id="jmsFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="vm://localhost" />
</bean>
<!-- Spring JMS Template -->
<bean id="myJmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory">
<!-- lets wrap in a pool to avoid creating a connection per send -->
<bean class="org.springframework.jms.connection.SingleConnectionFactory">
<property name="targetConnectionFactory">
<ref local="jmsFactory" />
</property>
</bean>
</property>
</bean>
<!-- a sample POJO which uses a Spring JmsTemplate -->
<bean id="producer" class="org.apache.activemq.spring.SpringProducer">
<property name="template">
<ref bean="myJmsTemplate"></ref>
</property>
<property name="destination">
<ref bean="destination" />
</property>
<property name="messageCount">
<value>10</value>
</property>
</bean>
<!-- a sample POJO consumer -->
<bean id="consumer" class="org.apache.activemq.spring.SpringConsumer">
<property name="template">
<ref bean="myJmsTemplate"></ref>
</property>
<property name="destination">
<ref bean="destination" />
</property>
</bean>
<!-- TODO lets use the better element... -->
<bean id="destination" class="org.apache.activemq.command.ActiveMQQueue" autowire="constructor">
<constructor-arg>
<value>org.apache.activemq.spring.Test.spring.embedded</value>
</constructor-arg>
</bean>
</beans>
<!-- END SNIPPET: spring -->