public void put(ApplicationMessage message) {
// LOGGER.info(Thread.currentThread().getName() + " put: mesageNumber = " + message.getMessageNumber());
assert message.getSequenceId().equals(sequence.getId());
if (rejectOutOfOrderMessages && !isDeliverable(message)) {
JaxwsApplicationMessage jam = null;
if (message instanceof JaxwsApplicationMessage) {
jam = JaxwsApplicationMessage.class.cast(message);
} else {
throw LOGGER.logSevereException(new RxRuntimeException(LocalizationMessages.WSRM_1141_UNEXPECTED_MESSAGE_CLASS(
message.getClass().getName(),
JaxwsApplicationMessage.class.getName())));
}
String correlationId = jam.getCorrelationId();
SuspendedFiberStorage sfs = deliveryCallback.getRuntimeContext().suspendedFiberStorage;
OutOfOrderMessageException e = new OutOfOrderMessageException(sequence.getId(), message.getMessageNumber());
sfs.resumeFiber(correlationId, e);
} else {
try {