Refactored MessageConsumer with onMessage to MessageHandler with handleMessage.
This commit is contained in:
@@ -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()) {
|
||||
@@ -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()) {
|
||||
@@ -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");
|
||||
}
|
||||
|
||||
@@ -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));
|
||||
@@ -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");
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user