Class InboundMessageRoutingServiceImpl

java.lang.Object
com.flowable.engage.external.system.service.InboundMessageRoutingServiceImpl
All Implemented Interfaces:
InboundMessageRoutingService

public class InboundMessageRoutingServiceImpl extends Object implements InboundMessageRoutingService
Author:
Filip Hrisafov
  • Field Details

  • Constructor Details

  • Method Details

    • routeInboundMessage

      public void routeInboundMessage(InboundMessage inboundMessage, UserAccount userAccount)
      Description copied from interface: InboundMessageRoutingService
      Route the inbound message to a conversation for the give userAccount
      Specified by:
      routeInboundMessage in interface InboundMessageRoutingService
      Parameters:
      inboundMessage - the received message from the external system
      userAccount - the user account that the message belongs to
    • extractEventPayload

      protected Collection<org.flowable.eventregistry.api.runtime.EventPayloadInstance> extractEventPayload(InboundMessage inboundMessage, UserAccount userAccount, Message message)
    • extractHints

      protected Map<String,String> extractHints(InboundMessage inboundMessage)
    • findConversationForUserAccount

      public String findConversationForUserAccount(UserAccount userAccount)
      Description copied from interface: InboundMessageRoutingService
      Find the conversation id for the given userAccount. The conversation id is the if of the conversation that can be used to route messages into.
      Specified by:
      findConversationForUserAccount in interface InboundMessageRoutingService
      Parameters:
      userAccount - the user account
      Returns:
      the id of the conversation, never null
    • isDuplicateMessage

      protected boolean isDuplicateMessage(String externalId)
    • getReplyToMessage

      protected Message getReplyToMessage(String externalSystemId, String replyToExternalMessageId)
    • isAlwaysSendSystemEvent

      public boolean isAlwaysSendSystemEvent()
    • setAlwaysSendSystemEvent

      public void setAlwaysSendSystemEvent(boolean alwaysSendSystemEvent)