@Override public boolean equals(Object obj) { if (obj instanceof SubscribeReceiver) { SubscribeReceiver other = (SubscribeReceiver) obj; return other.canEquals(this) && super.equals(other) && receiverActor.equals(other.getReceiverActor()); } else { return false; } }
@Override public void onReceive(Object message) { if (message instanceof SubscribeReceiver) { ActorRef receiver = ((SubscribeReceiver) message).getReceiverActor(); Object data; switch (messageType) { case SINGLE_DATA: data = createSingleDataMessage(); break; case ITERABLE_DATA: data = createIterableOfMessages(); break; case BYTES_DATA: data = createByteMessages(); break; case SINGLE_DATA_WITH_TIMESTAMP: data = createTimestampMessage(); break; default: throw new RuntimeException("Message format specified is incorrect"); } receiver.tell(data, getSelf()); } else if (message instanceof String) { Message.ACK_MESSAGE = message.toString(); } else if (message instanceof UnsubscribeReceiver) { LOG.info("Stop actor!"); } }
@Override public void preStart() throws Exception { remotePublisher = getContext().actorSelection(urlOfPublisher); remotePublisher.tell(new SubscribeReceiver(getSelf()), getSelf()); }
@Override public void onReceive(Object message) { if (message instanceof SubscribeReceiver) { ActorRef receiver = ((SubscribeReceiver) message).getReceiverActor(); Object data; switch (messageType) { case SINGLE_DATA: data = createSingleDataMessage(); break; case ITERABLE_DATA: data = createIterableOfMessages(); break; case BYTES_DATA: data = createByteMessages(); break; case SINGLE_DATA_WITH_TIMESTAMP: data = createTimestampMessage(); break; default: throw new RuntimeException("Message format specified is incorrect"); } receiver.tell(data, getSelf()); } else if (message instanceof String) { Message.ACK_MESSAGE = message.toString(); } else if (message instanceof UnsubscribeReceiver) { LOG.info("Stop actor!"); } }
@Override public void preStart() throws Exception { remotePublisher = getContext().actorSelection(urlOfPublisher); remotePublisher.tell(new SubscribeReceiver(getSelf()), getSelf()); }
@Override public boolean equals(Object obj) { if (obj instanceof SubscribeReceiver) { SubscribeReceiver other = (SubscribeReceiver) obj; return other.canEquals(this) && super.equals(other) && receiverActor.equals(other.getReceiverActor()); } else { return false; } }