Class MessageRouter

java.lang.Object
org.jivesoftware.openfire.container.BasicModule
org.jivesoftware.openfire.MessageRouter
All Implemented Interfaces:
Module

public class MessageRouter extends BasicModule

Route message packets throughout the server.

Routing is based on the recipient and sender addresses. The typical packet will often be routed twice, once from the sender to some internal server component for handling or processing, and then back to the router to be delivered to it's final destination.

Author:
Iain Shigeoka
  • Constructor Details

    • MessageRouter

      public MessageRouter()
      Constructs a message router.
  • Method Details

    • route

      public void route(org.xmpp.packet.Message packet)

      Performs the actual packet routing.

      You routing is considered 'quick' and implementations may not take excessive amounts of time to complete the routing. If routing will take a long amount of time, the actual routing should be done in another thread so this method returns quickly.

      Warning

      Be careful to enforce concurrency DbC of concurrent by synchronizing any accesses to class resources.

      Parameters:
      packet - The packet to route
      Throws:
      NullPointerException - If the packet is null
    • initialize

      public void initialize(XMPPServer server)
      Description copied from class: BasicModule

      Initializes the basic module.

      Inheriting classes that choose to override this method MUST call this initialize() method before accessing BasicModule resources.

      Specified by:
      initialize in interface Module
      Overrides:
      initialize in class BasicModule
      Parameters:
      server - the server hosting this module.
    • routingFailed

      public void routingFailed(org.xmpp.packet.JID recipient, org.xmpp.packet.Packet packet)
      Notification message indicating that a packet has failed to be routed to the recipient.
      Parameters:
      recipient - address of the entity that failed to receive the packet.
      packet - Message packet that failed to be sent to the recipient.