is the message between spectator and participant?

Unfortunately spectator don’t have a way to receive messages from others-
controllers and participants can.

Can you describe your usecase, may be I can suggest an alternate solution.

On Sun, Oct 7, 2018 at 3:52 AM Rob McKinnon <[email protected]> wrote:

> Kishore - I tried the following code:
>
> public HelixTaskResult handleMessage() throws InterruptedException {
>     Message msg = getMessage();
>     System.out.println("working with message");
>     System.out.println(String.format("sub message %s", msg.getMsgSubType()));
>
>     ClusterMessagingService service = 
> _notificationContext.getManager().getMessagingService();
>
>     Message respmsg = new Message(Message.MessageType.TASK_REPLY.name(), 
> UUID.randomUUID().toString());
>     respmsg.setCorrelationId(msg.getCorrelationId());
>     respmsg.setSrcInstanceType(msg.getSrcInstanceType());
>     respmsg.setMsgState(Message.MessageState.NEW);
>
>     String srcInstance = msg.getRecord().getSimpleField("SRC_NAME");
>
>     Criteria criteria = new Criteria();
>     criteria.setInstanceName(srcInstance);
>     criteria.setRecipientInstanceType(InstanceType.SPECTATOR);
>
>
>     int dest = service.send(criteria, respmsg);
>
>
>     HelixTaskResult result = new HelixTaskResult();
>     result.setMessage("hello");
>     result.setSuccess(true);
>     return result;
> }
>
>
> This did not work.
>
> On Sat, Oct 6, 2018 at 6:49 PM kishore g <[email protected]> wrote:
>
>> You have source instanceID and correlation ID in the message. Send the
>> response back using those two and set the msg type as TASK_REPLY.  Will try
>> to find an example
>>
>> On Sat, Oct 6, 2018 at 10:06 AM Rob McKinnon <[email protected]>
>> wrote:
>>
>>> Kishore - That was helpful. I am also looking on how to send a response
>>> message back to the caller. When the caller sends a message and defines an
>>> AsyncCallback, how does the recipient respond so that the AsyncCallback is
>>> invoked?
>>>
>>> On Sat, Oct 6, 2018 at 11:09 AM kishore g <[email protected]> wrote:
>>>
>>>> Here is an example from Pinot.
>>>>
>>>> https://github.com/linkedin/pinot/blob/7fe310f3eb20dcac0bb5e8d39a21894fdae2b5ee/pinot-server/src/main/java/com/linkedin/pinot/server/starter/helix/SegmentMessageHandlerFactory.java
>>>>
>>>>
>>>>
>>>> // Register message handler factory
>>>> SegmentMessageHandlerFactory messageHandlerFactory =
>>>> new SegmentMessageHandlerFactory(fetcherAndLoader, _serverInstance.
>>>> getInstanceDataManager());
>>>> _helixManager.getMessagingService()
>>>> .registerMessageHandlerFactory(Message.MessageType.USER_DEFINE_MSG.toString(),
>>>> messageHandlerFactory);
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Sat, Oct 6, 2018 at 7:51 AM Rob McKinnon <[email protected]>
>>>> wrote:
>>>>
>>>>> Is there a good example available for Cluster Messaging? The tutorial
>>>>> demonstrated how to send a message but didn't didn't go into detail about
>>>>> how to receive a message. Specifically, I am looking on how to send and
>>>>> receive user defined cluster messages.
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Rob
>>>>>
>>>>

Reply via email to