java-cookbook/messaging/src/main/java/messagebroker/MessageHandlerContext.java
Thibaud c4477aca38 messaging: add a simple message broker
Add a simple message broker which uses the chain of responsibility design pattern for
message handling.

Inspired by this article: http://www.softwarematters.org/message-broker.html#java-implementation

In this design, a message handler can contain a reference to the next
message handler. If the current handler cannot handle the message given
to him by the MessageBroker, he passes this message to the next
MessageHandler.

The chain of responsibility pattern is used in order to decouple the creation of a
concrete message instance from the broker communication logic. This adheres to the Open
Closed Principle, because it is possible to add a new message type without modifying the
message broker.
2019-10-19 17:48:53 +02:00

30 lines
680 B
Java

package messagebroker;
import java.io.OutputStream;
public class MessageHandlerContext {
private final MessageBroker broker;
private OutputStream outputStream;
MessageHandlerContext(MessageBroker broker) {
this(broker, null);
}
private MessageHandlerContext(MessageBroker broker, OutputStream outputStream) {
this.broker = broker;
this.outputStream = outputStream;
}
public MessageBroker getBroker() {
return broker;
}
public OutputStream getOutputStream() {
return outputStream;
}
public void setOutputStream(OutputStream outputStream) {
this.outputStream = outputStream;
}
}