TestMessagingHandlerFactoryException factoryE = new TestMessagingHandlerFactoryException();
_startCMResultMap.get(hostDest)._manager.getMessagingService()
.registerMessageHandlerFactory(factoryE.getMessageType(), factoryE);
String msgId = new UUID(123, 456).toString();
Message msg = new Message(factoryE.getMessageType(),msgId);
msg.setMsgId(msgId);
msg.setSrcName(hostSrc);
msg.setTgtSessionId("*");
msg.setMsgState(MessageState.NEW);
String para = "Testing messaging para";
msg.getRecord().setSimpleField("TestMessagingPara", para);
Criteria cr = new Criteria();
cr.setInstanceName(hostDest);
cr.setRecipientInstanceType(InstanceType.PARTICIPANT);
cr.setSessionSpecific(false);
int nMsgs = _startCMResultMap.get(hostSrc)._manager.getMessagingService().send(cr, msg);
AssertJUnit.assertTrue(nMsgs == 1);
msg.setMsgId(UUID.randomUUID().toString());
AsyncCallback asyncCallback = new MockAsyncCallback();
int messagesSent = _startCMResultMap.get(hostSrc)._manager.getMessagingService()
.sendAndWait(cr, msg, asyncCallback, 3000);
Assert.assertTrue(messagesSent == 1);
Assert.assertTrue(asyncCallback.isTimedOut());
HelixDataAccessor accessor = _startCMResultMap.get(hostDest)._manager.getHelixDataAccessor();
Assert.assertTrue(accessor.getChildNames(accessor.keyBuilder().messages(hostDest)).size() == 0);
msg = new Message(factory.getMessageType(),msgId);
msg.setMsgId(msgId);
msg.setSrcName(hostSrc);
msg.setTgtSessionId("*");
msg.setMsgState(MessageState.NEW);
para = "Testing messaging para";
msg.getRecord().setSimpleField("TestMessagingPara", para);
cr = new Criteria();
cr.setInstanceName(hostDest);
cr.setRecipientInstanceType(InstanceType.PARTICIPANT);
cr.setSessionSpecific(false);