0 Replies Latest reply on Nov 3, 2015 3:06 AM by sandeepshanu

    Need Info Regarding Event Handling Mechanism in Jive

    sandeepshanu

      Hi All,

       

      We are sending the custom updates in the inbox of the users,

      To do so we are firing an event which is handled asynchronously, and though in the list of users who has opted to get the alerts, there is no duplicacy, but still we are getting the duplicate alerts for the same user.

       

      Fyi, we are not getting the same issue on the lower environment, even on the jive hosted test environment which contains 2 nodes.

       

      Potential Cause can be

      1. Event handling mechanism of Jive

      2. Environment configuration on prod

       

      Below is the code snippet of the event that we have fired and the handler

       

       

      Event firing:

       

          //Jive OOTB EventDispatcher bean autowired

          @Autowired

          private EventDispatcher dispatcher;

       

      somemethod{

      dispatcher.fire(new StoryStateNotificationEvent(StoryStateNotificationEvent.Type.MODIFIED,

                          new StoryStateNotificationEvent.Metadata(entity, socialGroup.getName(), socialGroup

                                  .getDisplayName(), socialGroup.getDescription(), loggedInUser.getName(), loggedInUser

                                  .getID())));

      }

       

       

      Event Handler:

       

      public class StoryStateEventNotificationListener implements EventListener<StoryStateNotificationEvent>

      {

             @Override

          public void handle(StoryStateNotificationEvent storyStateNotificationEvent)

          {

      ..

      .

      .Some code here

      .

      .

      }

      }

       

      We need information regarding event handling mechanism of Jive.

      1. Is the event dispatcher and event handler are bound on the same node in multinode environment.

      i.e. is there any case that the event dispatcher and event handler are loaded on 2 different JVMs/nodes.

      2. As far as we are able to figure out, the event are queued and some generic handler based on the type of event in the queue will call the handle method of the required handler.

          Is Our understanding is correct? If yes, Please give some more information on the same else please provide us the correct information.

       

      Thanks,

      Sandeep