Websphere MQ Everyplace

examples.midp.exampleapp.messageservice
Interface MessageService

All Known Implementing Classes:
MQeMessageService

public interface MessageService

This acts as a frontend to WMQe, wrapping a queuemanager and performing functions such as queue creation and message sending. This is the core of the examples and allows the apps to be written with minimal calls to the WMQe API. This also means that to see the code required to create a local queue for example, a user can simply look at: createLocalQueue().

Functions can be split up as follows:

 Message Service Functions
 ---------------------------------------------
 open()
 close()
 setMessageConsumer()

 Queue Manager Functions
 ---------------------------------------------
 createQueueManager()
 updateQueueManager()
 deleteQueueManager()
 createConnection()

 Queue Functions
 ---------------------------------------------
 createLocalQueue()
 createRemoteQueue()
 createStoreAndForwardQueue()
 createHomeServerQueue()
 monitorQueue()
 emptyQueue()

 Messaging Functions
 ---------------------------------------------
 sendMessage()
 sendSecureMessage()
 getMessage()
 getSecureMessage()
 processMessages()
 waitForReply()
 


Field Summary
static short[] version
           
 
Method Summary
 void close()
          When an application wishes to stop, this method must be called to allow the model to tidy up.
 void createConnection(java.lang.String onQMgr, java.lang.String name, java.lang.String adapter, java.lang.String parms, java.lang.String options)
          Create a new connection to a queue manager.
 void createHomeServerQueue(java.lang.String onQMgr, java.lang.String qm, java.lang.String q, long pollTime)
          Create a home server queue.
 void createLocalQueue(java.lang.String onQMgr, java.lang.String q, boolean sync, java.lang.String compressor, java.lang.String cryptor)
          Create a new local queue.
 void createQueueManager()
          Creates the queue manager.
 void createRemoteQueue(java.lang.String onQMgr, java.lang.String qm, java.lang.String q, boolean sync, java.lang.String compressor, java.lang.String cryptor)
          Create a new remote queue.
 void createStoreAndForwardQueue(java.lang.String onQMgr, java.lang.String qm, java.lang.String q)
          Create a store and forward queue.
 void emptyQueue(java.lang.String queueManagerName, java.lang.String queueName)
          This method is called when a requestor wishes to delete all messages from a queue.
 MQeMsgObject getMessage(java.lang.String queueManagerName, java.lang.String queueName, MQeFields filter)
          Get a message from a given queue manager/queue.
 MQeMsgObject getSecureMessage(java.lang.String queueManagerName, java.lang.String queueName, MQeFields filter, MQeAttribute attribute)
          Get a secure message from a given queue manager/queue.
 void monitorQueue(java.lang.String queueManagerName, java.lang.String queueName)
          Montior the named queue for new messages as a result of which a view components displayMessage method will be called.
 void open()
          Performs processing needed to activate the system.
 void processMessages(java.lang.String queueManagerName, java.lang.String queueName, MQeFields match)
          This method reads messages from a queue that match a filter.
 void sendMessage(java.lang.String queueManagerName, java.lang.String queueName, MQeMsgObject message)
          Send a message to a queue on a specific queue manager.
 void sendSecureMessage(java.lang.String queueManagerName, java.lang.String queueName, MQeMsgObject message, MQeAttribute attribute)
          Send a secure message to a queue on a specific queue manager.
 void setMessageConsumer(MessageConsumer msgConsumer)
          Provide the model with an instance of a message consumer that can process messages.
 void updateQueueManager(java.lang.String onQMgr, MQeFields parms)
          Change the characteristics of a queue manager.
 MQeMsgObject waitForReply(java.lang.String onQMgr, java.lang.String onQueue, MQeFields msgTest)
          Wait a while for a message to turn up on a queue.
 

Field Detail

version

public static final short[] version
Method Detail

close

public void close()
           throws java.lang.Exception
When an application wishes to stop, this method must be called to allow the model to tidy up. For instance to shut down the queue manager.

Returns:
void
Throws:
java.lang.Exception

createConnection

public void createConnection(java.lang.String onQMgr,
                             java.lang.String name,
                             java.lang.String adapter,
                             java.lang.String parms,
                             java.lang.String options)
                      throws java.lang.Exception
Create a new connection to a queue manager.

Parameters:
onQMgr - Queue manager to send the admin message
name - Name of the connection
adapter - Adapter plus base parms to be used
parms - Connection parameters
options - Connection options
Returns:
void
Throws:
java.lang.Exception

createHomeServerQueue

public void createHomeServerQueue(java.lang.String onQMgr,
                                  java.lang.String qm,
                                  java.lang.String q,
                                  long pollTime)
                           throws java.lang.Exception
Create a home server queue.

Parameters:
onQMgr - Which QMgr to send the admin message
qm - Queue manager the queue resides on
q - Name of the queue
pollTime - The polltime for checking for messages 0 - do not poll check for messages on call to triggerTransmission()
Returns:
void
Throws:
java.lang.Exception

createLocalQueue

public void createLocalQueue(java.lang.String onQMgr,
                             java.lang.String q,
                             boolean sync,
                             java.lang.String compressor,
                             java.lang.String cryptor)
                      throws java.lang.Exception
Create a new local queue.

Parameters:
onQMgr - Queue manager the queue will be on
q - Queue name
sync - True for synchronous, false for async
compressor - The compressor to use
cryptor - The cryptor to use
Throws:
java.lang.Exception

createQueueManager

public void createQueueManager()
                        throws java.lang.Exception
Creates the queue manager.

Part of the programatic creation of a queue manager.

Returns:
void
Throws:
java.lang.Exception

createRemoteQueue

public void createRemoteQueue(java.lang.String onQMgr,
                              java.lang.String qm,
                              java.lang.String q,
                              boolean sync,
                              java.lang.String compressor,
                              java.lang.String cryptor)
                       throws java.lang.Exception
Create a new remote queue.

Parameters:
onQMgr - The QMgr to send the admin message
qm - Queue manager the queue resides on
q - Name of the queue
sync - True for synchronous, false for asynchronous
compressor - The name of the compressor to use, or null for none
cryptor - The name of the cryptor to use, or null for none
Returns:
void
Throws:
java.lang.Exception

createStoreAndForwardQueue

public void createStoreAndForwardQueue(java.lang.String onQMgr,
                                       java.lang.String qm,
                                       java.lang.String q)
                                throws java.lang.Exception
Create a store and forward queue.

Parameters:
onQMgr - Which QMgr to send the admin message
qm - Queue manager the queue resides on
q - Name of the queue
Returns:
void
Throws:
java.lang.Exception

emptyQueue

public void emptyQueue(java.lang.String queueManagerName,
                       java.lang.String queueName)
                throws java.lang.Exception
This method is called when a requestor wishes to delete all messages from a queue.

Parameters:
queueManagerName - Queue manager that queue is located on
queueName - Name of queue
Returns:
void
Throws:
java.lang.Exception

getMessage

public MQeMsgObject getMessage(java.lang.String queueManagerName,
                               java.lang.String queueName,
                               MQeFields filter)
                        throws java.lang.Exception
Get a message from a given queue manager/queue.

Parameters:
queueManagerName - Which QMgr to get the message from
queueName - Which queue to get the message from
filter - Get a message that matches the filter
Returns:
MQeMsgObject message
Throws:
java.lang.Exception

getSecureMessage

public MQeMsgObject getSecureMessage(java.lang.String queueManagerName,
                                     java.lang.String queueName,
                                     MQeFields filter,
                                     MQeAttribute attribute)
                              throws java.lang.Exception
Get a secure message from a given queue manager/queue.

Parameters:
queueManagerName - Which QMgr to get the message from
queueName - Which queue to get the message from
filter - Get a message that matches the filter
attribute - The attribute used to decode the secure message
Returns:
MQeMsgObject message
Throws:
java.lang.Exception

monitorQueue

public void monitorQueue(java.lang.String queueManagerName,
                         java.lang.String queueName)
Montior the named queue for new messages as a result of which a view components displayMessage method will be called.

If the queue is a local queue then a message listener can be used to automatically monitor for new messages. If it is a remote queue then message listeners cannot be used and an alternative approach needs to be found for instance the remote queue could be polled either automatically or by user request to see if there are any new messages.

Parameters:
queueManagerName - Queue manager name
queueName - Queue name
Returns:
void

open

public void open()
          throws java.lang.Exception
Performs processing needed to activate the system.

For Example, start/configure the system.

Returns:
void
Throws:
java.lang.Exception

processMessages

public void processMessages(java.lang.String queueManagerName,
                            java.lang.String queueName,
                            MQeFields match)
This method reads messages from a queue that match a filter. Any messages that match the filter are then passed to the GUI for display.

Parameters:
queueName - Which queue to browse
match - Only return fields matching
Returns:
void

sendMessage

public void sendMessage(java.lang.String queueManagerName,
                        java.lang.String queueName,
                        MQeMsgObject message)
                 throws java.lang.Exception
Send a message to a queue on a specific queue manager.

Parameters:
queueManagerName - The queue manager that queue is on
queueName - The queue to put message on
message - The message to send
Returns:
void
Throws:
java.lang.Exception

sendSecureMessage

public void sendSecureMessage(java.lang.String queueManagerName,
                              java.lang.String queueName,
                              MQeMsgObject message,
                              MQeAttribute attribute)
                       throws java.lang.Exception
Send a secure message to a queue on a specific queue manager.

Parameters:
queueManagerName - The queue manager that queue is located on
queueName - The queue that message is going to
message - The message to send
Throws:
java.lang.Exception

setMessageConsumer

public void setMessageConsumer(MessageConsumer msgConsumer)
Provide the model with an instance of a message consumer that can process messages. I.e. a class that implements the AppGUIInterface.

Parameters:
msgConsumer - The message consumer to be set
Returns:
void

updateQueueManager

public void updateQueueManager(java.lang.String onQMgr,
                               MQeFields parms)
                        throws java.lang.Exception
Change the characteristics of a queue manager.

Parameters:
onQMgr - A String containing the name of the queue manager where the admin message will be sent.
Returns:
void
Throws:
java.lang.Exception

waitForReply

public MQeMsgObject waitForReply(java.lang.String onQMgr,
                                 java.lang.String onQueue,
                                 MQeFields msgTest)
                          throws java.lang.Exception
Wait a while for a message to turn up on a queue.

Parameters:
onQMgr - Wait for message on queue manager
onQueue - Wait for message on queue
msgTest - Filter for a specific message
Returns:
MQeMsgObject The reply
Throws:
java.lang.Exception

Websphere MQ Everyplace