ApplicationContextMessageBus no longer implements the ChannelResolver interface.
This commit is contained in:
@@ -19,7 +19,6 @@ package org.springframework.integration.bus;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertSame;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
@@ -32,7 +31,6 @@ import org.springframework.context.Lifecycle;
|
||||
import org.springframework.context.support.ClassPathXmlApplicationContext;
|
||||
import org.springframework.context.support.GenericApplicationContext;
|
||||
import org.springframework.integration.channel.BeanFactoryChannelResolver;
|
||||
import org.springframework.integration.channel.ChannelResolutionException;
|
||||
import org.springframework.integration.channel.ChannelResolver;
|
||||
import org.springframework.integration.channel.MessagePublishingErrorHandler;
|
||||
import org.springframework.integration.channel.PollableChannel;
|
||||
@@ -42,7 +40,6 @@ import org.springframework.integration.config.xml.MessageBusParser;
|
||||
import org.springframework.integration.consumer.AbstractReplyProducingMessageConsumer;
|
||||
import org.springframework.integration.consumer.ReplyMessageHolder;
|
||||
import org.springframework.integration.core.Message;
|
||||
import org.springframework.integration.core.MessageChannel;
|
||||
import org.springframework.integration.endpoint.PollingConsumerEndpoint;
|
||||
import org.springframework.integration.endpoint.SourcePollingChannelAdapter;
|
||||
import org.springframework.integration.endpoint.SubscribingConsumerEndpoint;
|
||||
@@ -277,27 +274,6 @@ public class ApplicationContextMessageBusTests {
|
||||
assertEquals("handler should have received error message", 0, latch.getCount());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void lookupRegisteredChannel() {
|
||||
GenericApplicationContext context = new GenericApplicationContext();
|
||||
QueueChannel testChannel = new QueueChannel();
|
||||
testChannel.setBeanName("testChannel");
|
||||
context.getBeanFactory().registerSingleton("testChannel", testChannel);
|
||||
ApplicationContextMessageBus messageBus = new ApplicationContextMessageBus();
|
||||
messageBus.setApplicationContext(context);
|
||||
MessageChannel lookedUpChannel = messageBus.resolveChannelName("testChannel");
|
||||
assertNotNull(testChannel);
|
||||
assertSame(testChannel, lookedUpChannel);
|
||||
}
|
||||
|
||||
@Test(expected = ChannelResolutionException.class)
|
||||
public void lookupNonRegisteredChannel() {
|
||||
GenericApplicationContext context = new GenericApplicationContext();
|
||||
ApplicationContextMessageBus messageBus = new ApplicationContextMessageBus();
|
||||
messageBus.setApplicationContext(context);
|
||||
messageBus.resolveChannelName("noSuchChannel");
|
||||
}
|
||||
|
||||
|
||||
private static class FailingSource implements MessageSource<Object> {
|
||||
|
||||
|
||||
@@ -38,12 +38,12 @@ public class MessageBusEventTests {
|
||||
@Test
|
||||
public void messageBusStartedEvent() {
|
||||
GenericApplicationContext context = new GenericApplicationContext();
|
||||
context.registerBeanDefinition("listener", new RootBeanDefinition(TestMessageBusListener.class));
|
||||
context.registerBeanDefinition("listener", new RootBeanDefinition(TestMessageBusEventListener.class));
|
||||
ApplicationContextMessageBus messageBus = new ApplicationContextMessageBus();
|
||||
messageBus.setTaskScheduler(TestUtils.createTaskScheduler(10));
|
||||
messageBus.setApplicationContext(context);
|
||||
context.getBeanFactory().registerSingleton(MessageBusParser.MESSAGE_BUS_BEAN_NAME, messageBus);
|
||||
TestMessageBusListener listener = (TestMessageBusListener) context.getBean("listener");
|
||||
TestMessageBusEventListener listener = (TestMessageBusEventListener) context.getBean("listener");
|
||||
assertNull(listener.startedBus);
|
||||
assertNull(listener.stoppedBus);
|
||||
context.refresh(); // bus will start
|
||||
@@ -55,12 +55,12 @@ public class MessageBusEventTests {
|
||||
@Test
|
||||
public void messageBusStoppedEvent() {
|
||||
GenericApplicationContext context = new GenericApplicationContext();
|
||||
context.registerBeanDefinition("listener", new RootBeanDefinition(TestMessageBusListener.class));
|
||||
context.registerBeanDefinition("listener", new RootBeanDefinition(TestMessageBusEventListener.class));
|
||||
ApplicationContextMessageBus messageBus = new ApplicationContextMessageBus();
|
||||
messageBus.setTaskScheduler(TestUtils.createTaskScheduler(10));
|
||||
messageBus.setApplicationContext(context);
|
||||
context.getBeanFactory().registerSingleton(MessageBusParser.MESSAGE_BUS_BEAN_NAME, messageBus);
|
||||
TestMessageBusListener listener = (TestMessageBusListener) context.getBean("listener");
|
||||
TestMessageBusEventListener listener = (TestMessageBusEventListener) context.getBean("listener");
|
||||
assertNull(listener.startedBus);
|
||||
assertNull(listener.stoppedBus);
|
||||
context.refresh();
|
||||
@@ -72,7 +72,7 @@ public class MessageBusEventTests {
|
||||
}
|
||||
|
||||
|
||||
public static class TestMessageBusListener implements ApplicationListener {
|
||||
public static class TestMessageBusEventListener implements ApplicationListener {
|
||||
|
||||
private volatile ApplicationContextMessageBus startedBus;
|
||||
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
* Copyright 2002-2008 the original author or authors.
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
package org.springframework.integration.channel;
|
||||
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertSame;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.context.support.GenericApplicationContext;
|
||||
import org.springframework.integration.core.MessageChannel;
|
||||
|
||||
/**
|
||||
* @author Mark Fisher
|
||||
*/
|
||||
public class BeanFactoryChannelResolverTests {
|
||||
|
||||
@Test
|
||||
public void lookupRegisteredChannel() {
|
||||
GenericApplicationContext context = new GenericApplicationContext();
|
||||
QueueChannel testChannel = new QueueChannel();
|
||||
testChannel.setBeanName("testChannel");
|
||||
context.getBeanFactory().registerSingleton("testChannel", testChannel);
|
||||
BeanFactoryChannelResolver resolver = new BeanFactoryChannelResolver(context);
|
||||
MessageChannel lookedUpChannel = resolver.resolveChannelName("testChannel");
|
||||
assertNotNull(testChannel);
|
||||
assertSame(testChannel, lookedUpChannel);
|
||||
}
|
||||
|
||||
@Test(expected = ChannelResolutionException.class)
|
||||
public void lookupNonRegisteredChannel() {
|
||||
GenericApplicationContext context = new GenericApplicationContext();
|
||||
BeanFactoryChannelResolver resolver = new BeanFactoryChannelResolver(context);
|
||||
resolver.resolveChannelName("noSuchChannel");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -32,10 +32,9 @@ import org.springframework.context.event.SimpleApplicationEventMulticaster;
|
||||
import org.springframework.context.support.AbstractApplicationContext;
|
||||
import org.springframework.context.support.ClassPathXmlApplicationContext;
|
||||
import org.springframework.core.task.SyncTaskExecutor;
|
||||
import org.springframework.integration.bus.ApplicationContextMessageBus;
|
||||
import org.springframework.integration.bus.MessageBusEventTests.TestMessageBusListener;
|
||||
import org.springframework.integration.bus.MessageBusEventTests.TestMessageBusEventListener;
|
||||
import org.springframework.integration.channel.BeanFactoryChannelResolver;
|
||||
import org.springframework.integration.config.xml.MessageBusParser;
|
||||
import org.springframework.integration.core.MessageChannel;
|
||||
import org.springframework.integration.scheduling.TaskScheduler;
|
||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
||||
|
||||
@@ -49,18 +48,16 @@ public class MessageBusParserTests {
|
||||
public void testErrorChannelReference() {
|
||||
ApplicationContext context = new ClassPathXmlApplicationContext(
|
||||
"messageBusWithErrorChannel.xml", this.getClass());
|
||||
ApplicationContextMessageBus bus = (ApplicationContextMessageBus) context.getBean(MessageBusParser.MESSAGE_BUS_BEAN_NAME);
|
||||
MessageChannel channel = bus.resolveChannelName(ApplicationContextMessageBus.ERROR_CHANNEL_BEAN_NAME);
|
||||
assertEquals(context.getBean("errorChannel"), channel);
|
||||
BeanFactoryChannelResolver resolver = new BeanFactoryChannelResolver(context);
|
||||
assertEquals(context.getBean("errorChannel"), resolver.resolveChannelName("errorChannel"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDefaultErrorChannel() {
|
||||
ApplicationContext context = new ClassPathXmlApplicationContext(
|
||||
"messageBusWithDefaults.xml", this.getClass());
|
||||
ApplicationContextMessageBus bus = (ApplicationContextMessageBus) context.getBean(MessageBusParser.MESSAGE_BUS_BEAN_NAME);
|
||||
assertNotNull("parser should have created a default error channel",
|
||||
bus.resolveChannelName(ApplicationContextMessageBus.ERROR_CHANNEL_BEAN_NAME));
|
||||
BeanFactoryChannelResolver resolver = new BeanFactoryChannelResolver(context);
|
||||
assertEquals(context.getBean("errorChannel"), resolver.resolveChannelName("errorChannel"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -139,7 +136,7 @@ public class MessageBusParserTests {
|
||||
ApplicationContext context = new ClassPathXmlApplicationContext(
|
||||
"messageBusWithListener.xml", this.getClass());
|
||||
Lifecycle messageBus = (Lifecycle) context.getBean(MessageBusParser.MESSAGE_BUS_BEAN_NAME);
|
||||
TestMessageBusListener listener = (TestMessageBusListener) context.getBean("listener");
|
||||
TestMessageBusEventListener listener = (TestMessageBusEventListener) context.getBean("listener");
|
||||
assertNull(listener.getStartedBus());
|
||||
assertNull(listener.getStoppedBus());
|
||||
messageBus.start();
|
||||
@@ -153,7 +150,7 @@ public class MessageBusParserTests {
|
||||
ApplicationContext context = new ClassPathXmlApplicationContext(
|
||||
"messageBusWithListener.xml", this.getClass());
|
||||
Lifecycle messageBus = (Lifecycle) context.getBean(MessageBusParser.MESSAGE_BUS_BEAN_NAME);
|
||||
TestMessageBusListener listener = (TestMessageBusListener) context.getBean("listener");
|
||||
TestMessageBusEventListener listener = (TestMessageBusEventListener) context.getBean("listener");
|
||||
assertNull(listener.getStoppedBus());
|
||||
messageBus.start();
|
||||
messageBus.stop();
|
||||
|
||||
@@ -9,6 +9,6 @@
|
||||
|
||||
<message-bus auto-startup="false"/>
|
||||
|
||||
<beans:bean id="listener" class="org.springframework.integration.bus.MessageBusEventTests$TestMessageBusListener"/>
|
||||
<beans:bean id="listener" class="org.springframework.integration.bus.MessageBusEventTests$TestMessageBusEventListener"/>
|
||||
|
||||
</beans:beans>
|
||||
|
||||
Reference in New Issue
Block a user