ServerListener

ServerListener is a JMS message producer that listens to a ServerSocket and accepts socket connections from it. Once there is a new connection, it checks out a thread to handle the authentication on the socket. The thread reads the byte stream, converts them into an ObjectEvent and invokes authentcation method on it. If successful, it sends a response message back to the socket. Before the thread exits, it sets the socket to the event and puts the message to the output XQueue. ServerListener supports flow control and allows object control from its owner. It is fault tolerant with retry and idle options. The maximum number of client connections is determined by both Capacity and Partition of the XQueue. Backlog is the queue length of the server socket listener.

Currently, ServiceNode is the only the MessageNode that can process the messages from ServerListener.

Apart from the common properties, there are many implementation specific properties for ServerListener.
Property Name Data Type Requirement Description Examples
Backlog integer optional length of the backlog queue 16 (default: 1)
KeepAlive string of true or false optional keepAlive of the server socket true (default: false)

Here is an example of ServerListener:

{
  "Name": "rcvr_listener",
  "ClassName": "org.qbroker.receiver.ServerListener",
  "URI": "tcp://localhost:6625",
  "Operation": "accept",
  "LinkName": "root",
  "Partition": "0,0",
  "Mode": "daemon",
  "ReceiveTime": "30000",
  "XAMode": "1",
  "TextMode": "1",
  "EOTBytes": "0x0a",
  "DisplayMask": "0"
}