Refactored MessageConsumer with onMessage to MessageHandler with handleMessage.

This commit is contained in:
Mark Fisher
2008-11-03 14:17:53 +00:00
parent 90dcb7e88b
commit 39a8486ac8
101 changed files with 745 additions and 741 deletions

View File

@@ -25,25 +25,25 @@ import org.apache.commons.logging.LogFactory;
import org.springframework.integration.core.Message;
import org.springframework.integration.core.MessagingException;
import org.springframework.integration.message.MessageConsumer;
import org.springframework.integration.message.MessageHandler;
/**
* A {@link MessageConsumer} that writes a byte array to an {@link OutputStream}.
* A {@link MessageHandler} that writes a byte array to an {@link OutputStream}.
*
* @author Mark Fisher
*/
public class ByteStreamWritingMessageConsumer implements MessageConsumer {
public class ByteStreamWritingMessageHandler implements MessageHandler {
private final Log logger = LogFactory.getLog(this.getClass());
private final BufferedOutputStream stream;
public ByteStreamWritingMessageConsumer(OutputStream stream) {
public ByteStreamWritingMessageHandler(OutputStream stream) {
this(stream, -1);
}
public ByteStreamWritingMessageConsumer(OutputStream stream, int bufferSize) {
public ByteStreamWritingMessageHandler(OutputStream stream, int bufferSize) {
if (bufferSize > 0) {
this.stream = new BufferedOutputStream(stream, bufferSize);
}
@@ -53,7 +53,7 @@ public class ByteStreamWritingMessageConsumer implements MessageConsumer {
}
public void onMessage(Message<?> message) {
public void handleMessage(Message<?> message) {
Object payload = message.getPayload();
if (payload == null) {
if (logger.isWarnEnabled()) {

View File

@@ -28,11 +28,11 @@ import org.apache.commons.logging.LogFactory;
import org.springframework.integration.core.Message;
import org.springframework.integration.core.MessagingException;
import org.springframework.integration.message.MessageConsumer;
import org.springframework.integration.message.MessageHandler;
import org.springframework.util.Assert;
/**
* A {@link MessageConsumer} that writes characters to a {@link Writer}.
* A {@link MessageHandler} that writes characters to a {@link Writer}.
* String, character array, and byte array payloads will be written directly,
* but for other payload types, the result of the object's {@link #toString()}
* method will be written. To append a new-line after each write, set the
@@ -40,7 +40,7 @@ import org.springframework.util.Assert;
*
* @author Mark Fisher
*/
public class CharacterStreamWritingMessageConsumer implements MessageConsumer {
public class CharacterStreamWritingMessageHandler implements MessageHandler {
private final Log logger = LogFactory.getLog(this.getClass());
@@ -49,11 +49,11 @@ public class CharacterStreamWritingMessageConsumer implements MessageConsumer {
private volatile boolean shouldAppendNewLine = false;
public CharacterStreamWritingMessageConsumer(Writer writer) {
public CharacterStreamWritingMessageHandler(Writer writer) {
this(writer, -1);
}
public CharacterStreamWritingMessageConsumer(Writer writer, int bufferSize) {
public CharacterStreamWritingMessageHandler(Writer writer, int bufferSize) {
Assert.notNull(writer, "writer must not be null");
if (writer instanceof BufferedWriter) {
this.writer = (BufferedWriter) writer;
@@ -71,7 +71,7 @@ public class CharacterStreamWritingMessageConsumer implements MessageConsumer {
* Factory method that creates a target for stdout (System.out) with the
* default charset encoding.
*/
public static CharacterStreamWritingMessageConsumer stdout() {
public static CharacterStreamWritingMessageHandler stdout() {
return stdout(null);
}
@@ -79,7 +79,7 @@ public class CharacterStreamWritingMessageConsumer implements MessageConsumer {
* Factory method that creates a target for stdout (System.out) with the
* specified charset encoding.
*/
public static CharacterStreamWritingMessageConsumer stdout(String charsetName) {
public static CharacterStreamWritingMessageHandler stdout(String charsetName) {
return createTargetForStream(System.out, charsetName);
}
@@ -87,7 +87,7 @@ public class CharacterStreamWritingMessageConsumer implements MessageConsumer {
* Factory method that creates a target for stderr (System.err) with the
* default charset encoding.
*/
public static CharacterStreamWritingMessageConsumer stderr() {
public static CharacterStreamWritingMessageHandler stderr() {
return stderr(null);
}
@@ -95,16 +95,16 @@ public class CharacterStreamWritingMessageConsumer implements MessageConsumer {
* Factory method that creates a target for stderr (System.err) with the
* specified charset encoding.
*/
public static CharacterStreamWritingMessageConsumer stderr(String charsetName) {
public static CharacterStreamWritingMessageHandler stderr(String charsetName) {
return createTargetForStream(System.err, charsetName);
}
private static CharacterStreamWritingMessageConsumer createTargetForStream(OutputStream stream, String charsetName) {
private static CharacterStreamWritingMessageHandler createTargetForStream(OutputStream stream, String charsetName) {
if (charsetName == null) {
return new CharacterStreamWritingMessageConsumer(new OutputStreamWriter(stream));
return new CharacterStreamWritingMessageHandler(new OutputStreamWriter(stream));
}
try {
return new CharacterStreamWritingMessageConsumer(new OutputStreamWriter(stream, charsetName));
return new CharacterStreamWritingMessageHandler(new OutputStreamWriter(stream, charsetName));
}
catch (UnsupportedEncodingException e) {
throw new IllegalArgumentException("unsupported encoding: " + charsetName, e);
@@ -116,7 +116,7 @@ public class CharacterStreamWritingMessageConsumer implements MessageConsumer {
this.shouldAppendNewLine = shouldAppendNewLine;
}
public void onMessage(Message<?> message) {
public void handleMessage(Message<?> message) {
Object payload = message.getPayload();
if (payload == null) {
if (logger.isWarnEnabled()) {

View File

@@ -22,7 +22,7 @@ import org.springframework.beans.factory.support.AbstractBeanDefinition;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.ParserContext;
import org.springframework.integration.config.xml.AbstractOutboundChannelAdapterParser;
import org.springframework.integration.stream.CharacterStreamWritingMessageConsumer;
import org.springframework.integration.stream.CharacterStreamWritingMessageHandler;
import org.springframework.util.StringUtils;
/**
@@ -35,7 +35,7 @@ public class ConsoleOutboundChannelAdapterParser extends AbstractOutboundChannel
@Override
protected AbstractBeanDefinition parseConsumer(Element element, ParserContext parserContext) {
BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(
CharacterStreamWritingMessageConsumer.class);
CharacterStreamWritingMessageHandler.class);
if (element.getLocalName().startsWith("stderr")) {
builder.setFactoryMethod("stderr");
}

View File

@@ -40,11 +40,11 @@ import org.springframework.integration.scheduling.Trigger;
/**
* @author Mark Fisher
*/
public class ByteStreamWritingMessageConsumerTests {
public class ByteStreamWritingMessageHandlerTests {
private ByteArrayOutputStream stream;
private ByteStreamWritingMessageConsumer consumer;
private ByteStreamWritingMessageHandler handler;
private QueueChannel channel;
@@ -58,9 +58,9 @@ public class ByteStreamWritingMessageConsumerTests {
@Before
public void initialize() {
stream = new ByteArrayOutputStream();
consumer = new ByteStreamWritingMessageConsumer(stream);
handler = new ByteStreamWritingMessageHandler(stream);
this.channel = new QueueChannel(10);
this.endpoint = new PollingConsumerEndpoint(consumer, channel);
this.endpoint = new PollingConsumerEndpoint(channel, handler);
scheduler = new SimpleTaskScheduler(new SimpleAsyncTaskExecutor());
this.endpoint.setTaskScheduler(scheduler);
scheduler.start();
@@ -76,7 +76,7 @@ public class ByteStreamWritingMessageConsumerTests {
@Test
public void singleByteArray() {
consumer.onMessage(new GenericMessage<byte[]>(new byte[] {1,2,3}));
handler.handleMessage(new GenericMessage<byte[]>(new byte[] {1,2,3}));
byte[] result = stream.toByteArray();
assertEquals(3, result.length);
assertEquals(1, result[0]);
@@ -86,7 +86,7 @@ public class ByteStreamWritingMessageConsumerTests {
@Test
public void singleString() {
consumer.onMessage(new StringMessage("foo"));
handler.handleMessage(new StringMessage("foo"));
byte[] result = stream.toByteArray();
assertEquals(3, result.length);
assertEquals("foo", new String(result));

View File

@@ -39,11 +39,11 @@ import org.springframework.integration.scheduling.Trigger;
/**
* @author Mark Fisher
*/
public class CharacterStreamWritingMessageConsumerTests {
public class CharacterStreamWritingMessageHandlerTests {
private StringWriter writer;
private CharacterStreamWritingMessageConsumer consumer;
private CharacterStreamWritingMessageHandler handler;
private QueueChannel channel;
@@ -57,10 +57,10 @@ public class CharacterStreamWritingMessageConsumerTests {
@Before
public void initialize() {
writer = new StringWriter();
consumer = new CharacterStreamWritingMessageConsumer(writer);
handler = new CharacterStreamWritingMessageHandler(writer);
this.channel = new QueueChannel(10);
trigger.reset();
this.endpoint = new PollingConsumerEndpoint(consumer, channel);
this.endpoint = new PollingConsumerEndpoint(channel, handler);
scheduler = new SimpleTaskScheduler(new SimpleAsyncTaskExecutor());
this.endpoint.setTaskScheduler(scheduler);
scheduler.start();
@@ -76,7 +76,7 @@ public class CharacterStreamWritingMessageConsumerTests {
@Test
public void singleString() {
consumer.onMessage(new StringMessage("foo"));
handler.handleMessage(new StringMessage("foo"));
assertEquals("foo", writer.toString());
}
@@ -98,7 +98,7 @@ public class CharacterStreamWritingMessageConsumerTests {
@Test
public void twoStringsWithNewLines() {
consumer.setShouldAppendNewLine(true);
handler.setShouldAppendNewLine(true);
endpoint.setMaxMessagesPerPoll(1);
channel.send(new StringMessage("foo"), 0);
channel.send(new StringMessage("bar"), 0);
@@ -129,7 +129,7 @@ public class CharacterStreamWritingMessageConsumerTests {
public void maxMessagesPerTaskExceedsMessageCountWithAppendedNewLines() {
endpoint.setMaxMessagesPerPoll(10);
endpoint.setReceiveTimeout(0);
consumer.setShouldAppendNewLine(true);
handler.setShouldAppendNewLine(true);
channel.send(new StringMessage("foo"), 0);
channel.send(new StringMessage("bar"), 0);
endpoint.start();
@@ -166,7 +166,7 @@ public class CharacterStreamWritingMessageConsumerTests {
@Test
public void twoNonStringObjectWithNewLines() {
consumer.setShouldAppendNewLine(true);
handler.setShouldAppendNewLine(true);
endpoint.setReceiveTimeout(0);
endpoint.setMaxMessagesPerPoll(2);
TestObject testObject1 = new TestObject("foo");

View File

@@ -33,7 +33,7 @@ import org.springframework.beans.DirectFieldAccessor;
import org.springframework.beans.factory.BeanCreationException;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.integration.message.StringMessage;
import org.springframework.integration.stream.CharacterStreamWritingMessageConsumer;
import org.springframework.integration.stream.CharacterStreamWritingMessageHandler;
/**
* @author Mark Fisher
@@ -61,9 +61,9 @@ public class ConsoleOutboundChannelAdapterParserTests {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
"consoleOutboundChannelAdapterParserTests.xml", ConsoleOutboundChannelAdapterParserTests.class);
Object adapter = context.getBean("stdoutAdapterWithDefaultCharset");
CharacterStreamWritingMessageConsumer consumer = (CharacterStreamWritingMessageConsumer)
new DirectFieldAccessor(adapter).getPropertyValue("consumer");
DirectFieldAccessor accessor = new DirectFieldAccessor(consumer);
CharacterStreamWritingMessageHandler handler = (CharacterStreamWritingMessageHandler)
new DirectFieldAccessor(adapter).getPropertyValue("handler");
DirectFieldAccessor accessor = new DirectFieldAccessor(handler);
Writer bufferedWriter = (Writer) accessor.getPropertyValue("writer");
assertEquals(BufferedWriter.class, bufferedWriter.getClass());
DirectFieldAccessor bufferedWriterAccessor = new DirectFieldAccessor(bufferedWriter);
@@ -72,7 +72,7 @@ public class ConsoleOutboundChannelAdapterParserTests {
Charset writerCharset = Charset.forName(((OutputStreamWriter) writer).getEncoding());
assertEquals(Charset.defaultCharset(), writerCharset);
this.resetStreams();
consumer.onMessage(new StringMessage("foo"));
handler.handleMessage(new StringMessage("foo"));
assertEquals("foo", out.toString());
assertEquals("", err.toString());
}
@@ -82,9 +82,9 @@ public class ConsoleOutboundChannelAdapterParserTests {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
"consoleOutboundChannelAdapterParserTests.xml", ConsoleOutboundChannelAdapterParserTests.class);
Object adapter = context.getBean("stdoutAdapterWithProvidedCharset");
CharacterStreamWritingMessageConsumer consumer = (CharacterStreamWritingMessageConsumer)
new DirectFieldAccessor(adapter).getPropertyValue("consumer");
DirectFieldAccessor accessor = new DirectFieldAccessor(consumer);
CharacterStreamWritingMessageHandler handler = (CharacterStreamWritingMessageHandler)
new DirectFieldAccessor(adapter).getPropertyValue("handler");
DirectFieldAccessor accessor = new DirectFieldAccessor(handler);
Writer bufferedWriter = (Writer) accessor.getPropertyValue("writer");
assertEquals(BufferedWriter.class, bufferedWriter.getClass());
DirectFieldAccessor bufferedWriterAccessor = new DirectFieldAccessor(bufferedWriter);
@@ -93,7 +93,7 @@ public class ConsoleOutboundChannelAdapterParserTests {
Charset writerCharset = Charset.forName(((OutputStreamWriter) writer).getEncoding());
assertEquals(Charset.forName("UTF-8"), writerCharset);
this.resetStreams();
consumer.onMessage(new StringMessage("bar"));
handler.handleMessage(new StringMessage("bar"));
assertEquals("bar", out.toString());
assertEquals("", err.toString());
}
@@ -119,9 +119,9 @@ public class ConsoleOutboundChannelAdapterParserTests {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
"consoleOutboundChannelAdapterParserTests.xml", ConsoleOutboundChannelAdapterParserTests.class);
Object adapter = context.getBean("stderrAdapter");
CharacterStreamWritingMessageConsumer consumer = (CharacterStreamWritingMessageConsumer)
new DirectFieldAccessor(adapter).getPropertyValue("consumer");
DirectFieldAccessor accessor = new DirectFieldAccessor(consumer);
CharacterStreamWritingMessageHandler handler = (CharacterStreamWritingMessageHandler)
new DirectFieldAccessor(adapter).getPropertyValue("handler");
DirectFieldAccessor accessor = new DirectFieldAccessor(handler);
Writer bufferedWriter = (Writer) accessor.getPropertyValue("writer");
assertEquals(BufferedWriter.class, bufferedWriter.getClass());
DirectFieldAccessor bufferedWriterAccessor = new DirectFieldAccessor(bufferedWriter);
@@ -130,7 +130,7 @@ public class ConsoleOutboundChannelAdapterParserTests {
Charset writerCharset = Charset.forName(((OutputStreamWriter) writer).getEncoding());
assertEquals(Charset.defaultCharset(), writerCharset);
this.resetStreams();
consumer.onMessage(new StringMessage("bad"));
handler.handleMessage(new StringMessage("bad"));
assertEquals("", out.toString());
assertEquals("bad", err.toString());
}
@@ -140,9 +140,9 @@ public class ConsoleOutboundChannelAdapterParserTests {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
"consoleOutboundChannelAdapterParserTests.xml", ConsoleOutboundChannelAdapterParserTests.class);
Object adapter = context.getBean("newlineAdapter");
CharacterStreamWritingMessageConsumer consumer = (CharacterStreamWritingMessageConsumer)
new DirectFieldAccessor(adapter).getPropertyValue("consumer");
DirectFieldAccessor accessor = new DirectFieldAccessor(consumer);
CharacterStreamWritingMessageHandler handler = (CharacterStreamWritingMessageHandler)
new DirectFieldAccessor(adapter).getPropertyValue("handler");
DirectFieldAccessor accessor = new DirectFieldAccessor(handler);
Writer bufferedWriter = (Writer) accessor.getPropertyValue("writer");
assertEquals(BufferedWriter.class, bufferedWriter.getClass());
DirectFieldAccessor bufferedWriterAccessor = new DirectFieldAccessor(bufferedWriter);
@@ -151,7 +151,7 @@ public class ConsoleOutboundChannelAdapterParserTests {
Charset writerCharset = Charset.forName(((OutputStreamWriter) writer).getEncoding());
assertEquals(Charset.defaultCharset(), writerCharset);
this.resetStreams();
consumer.onMessage(new StringMessage("foo"));
handler.handleMessage(new StringMessage("foo"));
assertEquals("foo\n", out.toString());
}