Message Endpoints and the SimpleTaskScheduler now manage their own lifecycles. The ApplicationContextMessageBus is no longer necessary (part of INT-462). The MessagePublishingErrorHandler now detects the default error channel within the beanFactory if necessary (INT-464).

This commit is contained in:
Mark Fisher
2008-11-11 20:11:21 +00:00
parent 7c28053b0f
commit f4ccde6257
52 changed files with 759 additions and 1076 deletions

View File

@@ -50,7 +50,8 @@ public class ApplicationEventInboundChannelAdapter extends MessageProducerSuppor
}
}
public void onApplicationEvent(ApplicationEvent event) {
@Override
protected void onEvent(ApplicationEvent event) {
if (CollectionUtils.isEmpty(this.eventTypes)) {
this.sendEventAsMessage(event);
return;
@@ -67,4 +68,12 @@ public class ApplicationEventInboundChannelAdapter extends MessageProducerSuppor
return this.sendMessage(MessageBuilder.withPayload(event).build());
}
@Override
protected void doStart() {
}
@Override
protected void doStop() {
}
}

View File

@@ -30,8 +30,6 @@ import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.context.event.ContextStartedEvent;
import org.springframework.context.event.ContextStoppedEvent;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.integration.bus.MessageBusStartedEvent;
import org.springframework.integration.bus.MessageBusStoppedEvent;
import org.springframework.integration.channel.PollableChannel;
import org.springframework.integration.channel.QueueChannel;
import org.springframework.integration.core.Message;
@@ -76,26 +74,20 @@ public class ApplicationEventInboundChannelAdapterTests {
}
@Test
public void messageBusAndApplicationContextEvents() {
public void applicationContextEvents() {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
"applicationEventInboundChannelAdapterTests.xml", this.getClass());
PollableChannel channel = (PollableChannel) context.getBean("channel");
Message<?> busStartedEventMessage = channel.receive(0);
Message<?> contextRefreshedEventMessage = channel.receive(0);
assertNotNull(busStartedEventMessage);
assertNotNull(contextRefreshedEventMessage);
assertEquals(MessageBusStartedEvent.class, busStartedEventMessage.getPayload().getClass());
assertEquals(ContextRefreshedEvent.class, contextRefreshedEventMessage.getPayload().getClass());
context.start();
Message<?> startedEventMessage = channel.receive(0);
assertNotNull(startedEventMessage);
assertEquals(ContextStartedEvent.class, startedEventMessage.getPayload().getClass());
context.stop();
Message<?> busStoppedEventMessage = channel.receive(0);
Message<?> contextStoppedEventMessage = channel.receive(0);
assertNotNull(busStoppedEventMessage);
assertNotNull(contextStoppedEventMessage);
assertEquals(MessageBusStoppedEvent.class, busStoppedEventMessage.getPayload().getClass());
assertEquals(ContextStoppedEvent.class, contextStoppedEventMessage.getPayload().getClass());
context.close();
Message<?> closedEventMessage = channel.receive(0);