public boolean equals(Object obj) { if (this == obj) { return true; } if (obj != null && obj instanceof GenericMessage) { GenericMessage<?> other = (GenericMessage<?>) obj; if (!this.headers.getId().equals(other.headers.getId())) { return false; } return this.headers.equals(other.headers) && this.payload.equals(other.payload); } return false; }
@Override protected final void handleRequestMessage(Message<?> message, ReplyMessageHolder replyHolder) { Object result = this.splitMessage(message); if (result == null) { return; } Object correlationId = (message.getHeaders().getCorrelationId() != null) ? message.getHeaders().getCorrelationId(): message.getHeaders().getId(); if (result instanceof Collection) { Collection<?> items = (Collection<?>) result; int sequenceNumber = 0; int sequenceSize = items.size(); for (Object item : items) { this.addReply(replyHolder, item, correlationId, ++sequenceNumber, sequenceSize); } } else if (result.getClass().isArray()) { Object[] items = (Object[]) result; int sequenceNumber = 0; int sequenceSize = items.length; for (Object item : items) { this.addReply(replyHolder, item, correlationId, ++sequenceNumber, sequenceSize); } } else { this.addReply(replyHolder, result, correlationId, 1, 1); } }
public boolean dispatch(Message<?> message) { boolean dispatched = false; int sequenceNumber = 1; List<MessageHandler> handlers = this.getHandlers(); int sequenceSize = handlers.size(); for (final MessageHandler handler : handlers) { final Message<?> messageToSend = (!this.applySequence) ? message : MessageBuilder.fromMessage(message) .setSequenceNumber(sequenceNumber++) .setSequenceSize(sequenceSize) .setCorrelationId(message.getHeaders().getId()) .setHeader(MessageHeaders.ID, UUID.randomUUID()) .build(); if (this.taskExecutor != null) { this.taskExecutor.execute(new Runnable() { public void run() { invokeHandler(handler, messageToSend); } }); dispatched = true; } else { boolean success = this.invokeHandler(handler, messageToSend); dispatched = (success || dispatched); } } return dispatched; }
.setSequenceNumber(sequenceNumber++) .setSequenceSize(sequenceSize) .setCorrelationId(message.getHeaders().getId()) .setHeader(MessageHeaders.ID, UUID.randomUUID()) .build();
.setSequenceNumber(sequenceNumber++) .setSequenceSize(sequenceSize) .setCorrelationId(message.getHeaders().getId()) .setHeader(MessageHeaders.ID, UUID.randomUUID()) .build()); .setSequenceNumber(sequenceNumber++) .setSequenceSize(sequenceSize) .setCorrelationId(message.getHeaders().getId()) .setHeader(MessageHeaders.ID, UUID.randomUUID()) .build();
.setSequenceNumber(sequenceNumber++) .setSequenceSize(sequenceSize) .setCorrelationId(message.getHeaders().getId()) .setHeader(MessageHeaders.ID, UUID.randomUUID()) .build()); .setSequenceNumber(sequenceNumber++) .setSequenceSize(sequenceSize) .setCorrelationId(message.getHeaders().getId()) .setHeader(MessageHeaders.ID, UUID.randomUUID()) .build();