boolean drop = false;
if (rmMsgContext.getMessageType() == Sandesha2Constants.MessageTypes.APPLICATION) {
Sequence sequence = (Sequence) rmMsgContext
.getMessagePart(Sandesha2Constants.MessageParts.SEQUENCE);
String sequenceId = null;
if (sequence != null) {
sequenceId = sequence.getIdentifier().getIdentifier();
}
long msgNo = sequence.getMessageNumber().getMessageNumber();
if (sequenceId != null && msgNo > 0) {
StorageManager storageManager = SandeshaUtil
.getSandeshaStorageManager(rmMsgContext
.getMessageContext().getConfigurationContext());
SequencePropertyBeanMgr seqPropMgr = storageManager
.getSequencePropretyBeanMgr();
SequencePropertyBean receivedMsgsBean = seqPropMgr.retrieve(
sequenceId,
Sandesha2Constants.SequenceProperties.RECEIVED_MESSAGES);
if (receivedMsgsBean != null) {
String receivedMsgStr = (String) receivedMsgsBean
.getValue();
ArrayList msgNoArrList = SandeshaUtil
.getSplittedMsgNoArraylist(receivedMsgStr);
Iterator iterator = msgNoArrList.iterator();
while (iterator.hasNext()) {
String temp = (String) iterator.next();
String msgNoStr = new Long(msgNo).toString();
if (msgNoStr.equals(temp)) {
drop = true;
}
}
}
if (drop == false) {
//Checking for RM specific EMPTY_BODY LASTMESSAGE.
SOAPBody body = rmMsgContext.getSOAPEnvelope().getBody();
boolean emptyBody = false;
if (body.getChildElements().hasNext() == false) {
emptyBody = true;
}
if (emptyBody) {
boolean lastMessage = false;
if (sequence.getLastMessage() != null) {
System.out
.println("Empty Body Last Message Received");
drop = true;
if (receivedMsgsBean == null) {