com.softwareag.sagd.PMQServer
Class PMQServer

java.lang.Object
  extended by com.softwareag.sagd.PMQServer.PMQServer
Direct Known Subclasses:
PMQMessageServer

public class PMQServer
extends java.lang.Object

This class provides a (PMQ) persistent message server. The server waits for messages and dispatches these to an interface instance PMQInterfaceDispatcher.

Initialize the server with the constructor and start it with start(). start() waits for messages. Create an own worker thread to work parallel or call startAsynch().

The server loop logs messages and calls doLog(boolean, String). These log messages are written to Logger. To use your own logger, overwrite doLog(boolean, String) and doLog(Throwable) in own inherited class.

setStopOnWaitTimeout(boolean) defines the handling when no message is available.

To suppress connection problem, call setRestartDelay(int) and set delay time. Now, the reconnect handling is enabled.

Version:
$Revision: 1.5 $

Field Summary
 int DEFAULT_MAX_RECEIVE_LENGTH
          Defines the buffer length of receiving messages.
 java.lang.String DEFAULT_WAIT_TIMEOUT
          Defines the wait time.
 
Constructor Summary
PMQServer()
          Creates server object without parameter.
PMQServer(java.lang.String brokerIPAddress, java.lang.String brokerQueue, java.lang.String userid, java.lang.String dispatcherClass)
          Creates a new server object.
PMQServer(java.lang.String brokerIPAddress, java.lang.String brokerQueue, java.lang.String userid, java.lang.String token, java.lang.String dispatcherClass)
          Creates a new server object.
PMQServer(java.lang.String brokerIPAddress, java.lang.String brokerQueue, java.lang.String userid, java.lang.String token, java.lang.String password, PMQInterfaceDispatcher dispatcherObject)
          Creates a new server object.
PMQServer(java.lang.String brokerIPAddress, java.lang.String brokerQueue, java.lang.String userid, java.lang.String token, java.lang.String password, java.lang.String dispatcherClass)
          Creats a new server object.
 
Method Summary
protected  void doLog(boolean info, java.lang.String logMessage)
          The server calls this message to print out log messages.
protected  void doLog(java.lang.Throwable exception)
          The server calls this message to print out log messages.
protected  void getDispatcherException()
          Throws remembered exception
protected  void initBroker(java.lang.String brokerIPAddress, java.lang.String brokerQueue, java.lang.String userid, java.lang.String token, java.lang.String password)
          Creates the EntireX Broker objects
protected  void initBroker(java.lang.String brokerIPAddress, java.lang.String brokerQueue, java.lang.String userid, java.lang.String token, java.lang.String password, java.lang.String compression, java.lang.String encryption)
          Creates the EntireX Broker objects
protected  void initDispatcher(PMQInterfaceDispatcher dispatcher)
          Instances the dispatcher receive message object.
protected  void initDispatcher(java.lang.String dispatcherClass)
          Instances the dispatcher receive message object.
static void main(java.lang.String[] args)
          Starts server from the command line.
 void setRestartDelay(int time)
          Enables the server restart option.
 void setStopOnWaitTimeout(boolean flag)
          Set this value to true and the server loop is stopped at the next wait timeout message.
 void setWaitTimeout(java.lang.String time)
          Set the max. wait time for the wait-for-receive-loop.
 void shutdown()
          Stops the server wait-for-receive loop.
 void start()
          Starts the server wait-for-receive loop.
 void startAsynch()
          Start asynchronous worker thead and call start() for starting the server.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_MAX_RECEIVE_LENGTH

public int DEFAULT_MAX_RECEIVE_LENGTH
Defines the buffer length of receiving messages.


DEFAULT_WAIT_TIMEOUT

public java.lang.String DEFAULT_WAIT_TIMEOUT
Defines the wait time.

Constructor Detail

PMQServer

public PMQServer()
Creates server object without parameter. Use and call initBroker(String, String, String, String, String) and initDispatcher(String) later to initialize the server.


PMQServer

public PMQServer(java.lang.String brokerIPAddress,
                 java.lang.String brokerQueue,
                 java.lang.String userid,
                 java.lang.String dispatcherClass)
          throws java.lang.Throwable
Creates a new server object.

Parameters:
brokerIPAddress - Broker IP/DNS address
brokerQueue - Service address in notation QUEUE/SERVER/SERVICE
userid - User ID in EntireX Broker
dispatcherClass - Class name to receive messages from the dispatcher
Throws:
java.lang.Throwable

PMQServer

public PMQServer(java.lang.String brokerIPAddress,
                 java.lang.String brokerQueue,
                 java.lang.String userid,
                 java.lang.String token,
                 java.lang.String dispatcherClass)
          throws java.lang.Throwable
Creates a new server object.

Parameters:
brokerIPAddress - Broker IP/DNS address
brokerQueue - Service address in notation QUEUE/SERVER/SERVICE
userid - User ID in EntireX Broker
token - Token in EntireX Broker to create a unique 'user'
dispatcherClass - Class name to receive messages from the dispatcher
Throws:
java.lang.Throwable

PMQServer

public PMQServer(java.lang.String brokerIPAddress,
                 java.lang.String brokerQueue,
                 java.lang.String userid,
                 java.lang.String token,
                 java.lang.String password,
                 PMQInterfaceDispatcher dispatcherObject)
          throws java.lang.Throwable
Creates a new server object.

Parameters:
brokerIPAddress - Broker IP/DNS address
brokerQueue - Service address in notation QUEUE/SERVER/SERVICE
userid - User ID in EntireX Broker
token - Token in EntireX Broker to create a unique 'user'
password - EntireX Security password of user ID
dispatcherObject - Class name to receive messages from the dispatcher
Throws:
java.lang.Throwable

PMQServer

public PMQServer(java.lang.String brokerIPAddress,
                 java.lang.String brokerQueue,
                 java.lang.String userid,
                 java.lang.String token,
                 java.lang.String password,
                 java.lang.String dispatcherClass)
          throws java.lang.Throwable
Creats a new server object.

Parameters:
brokerIPAddress - Broker IP/DNS address
brokerQueue - Service address in notation QUEUE/SERVER/SERVICE
userid - User ID in EntireX Broker
token - Token in EntireX Broker to create a unique 'user'
password - EntireX Security password of user ID
dispatcherClass - Class to receive messages
Throws:
java.lang.Throwable
Method Detail

initBroker

protected void initBroker(java.lang.String brokerIPAddress,
                          java.lang.String brokerQueue,
                          java.lang.String userid,
                          java.lang.String token,
                          java.lang.String password)
                   throws java.lang.Throwable
Creates the EntireX Broker objects

Throws:
java.lang.Throwable - any exception

initBroker

protected void initBroker(java.lang.String brokerIPAddress,
                          java.lang.String brokerQueue,
                          java.lang.String userid,
                          java.lang.String token,
                          java.lang.String password,
                          java.lang.String compression,
                          java.lang.String encryption)
                   throws java.lang.Throwable
Creates the EntireX Broker objects

Throws:
java.lang.Throwable - any exception

initDispatcher

protected void initDispatcher(java.lang.String dispatcherClass)
                       throws java.lang.Throwable
Instances the dispatcher receive message object.

Parameters:
dispatcherClass - Name of the class
Throws:
java.lang.Throwable - If class doesn't exist.

initDispatcher

protected void initDispatcher(PMQInterfaceDispatcher dispatcher)
                       throws java.lang.Throwable
Instances the dispatcher receive message object.

Parameters:
dispatcher - Name of the class
Throws:
java.lang.Throwable - If class doesn't exist.

start

public void start()
           throws java.lang.Throwable
Starts the server wait-for-receive loop. This method returns if the server ends and/or exception is not handled.. To suppress connection problems, call setRestartDelay(int).

Throws:
java.lang.Throwable - last occured error.

startAsynch

public void startAsynch()
Start asynchronous worker thead and call start() for starting the server. To stop the server thread, call shutdown().


getDispatcherException

protected void getDispatcherException()
                               throws java.lang.Throwable
Throws remembered exception

Throws:
java.lang.Throwable

shutdown

public void shutdown()
Stops the server wait-for-receive loop. This method must be called in an own thread.


setRestartDelay

public void setRestartDelay(int time)
Enables the server restart option. The server tries to restart the connection if there is set a sleep time.

Parameters:
time - sleep time in seconds

setStopOnWaitTimeout

public void setStopOnWaitTimeout(boolean flag)
Set this value to true and the server loop is stopped at the next wait timeout message.

Parameters:
flag - controls server loop

setWaitTimeout

public void setWaitTimeout(java.lang.String time)
Set the max. wait time for the wait-for-receive-loop. Same as DEFAULT_WAIT_TIMEOUT.

Parameters:
time - wait this time

doLog

protected void doLog(boolean info,
                     java.lang.String logMessage)
The server calls this message to print out log messages. As default, the log message is forwarded to Logger instance.

Parameters:
info - true for information, false for debug.
logMessage - message text

doLog

protected void doLog(java.lang.Throwable exception)
The server calls this message to print out log messages. In this case an exception was occured. As default, the log message is forwarded to Logger instance.

Parameters:
exception - Writes this message

main

public static void main(java.lang.String[] args)
Starts server from the command line. The command line is returned if the server is called wwithout parameter.

Parameters:
args - command line parameter


Copyright © 2004-2008 Software AG. All Rights Reserved.