Example: Code for closing a sequence

Your client application can take programmatic control of WS-ReliableMessaging sequences. Use these code fragments as guidance for coding your reliable messaging client application to close a sequence.

Before you begin

For your client application to gain programmatic control over reliable messaging sequences, it needs access to a WSRMSequenceManager instance. For information and example code explaining how to achieve this, see Controlling WS-ReliableMessaging sequences programmatically.

For a more complete specification of closing a sequence, see the WS-ReliableMessaging: supported specifications and standards.

By closing sequences programmatically, you limit the number of open sequences a single client has to support in a single JVM at one time. This helps avoid the problem described in the following troubleshooting tip: A client receives an out of memory exception message when working with large numbers of open sequences.

Example

To close a WS-ReliableMessaging sequence use the following method on the WSRMSequenceManager:

  /**
   * Closes the Web services reliable messaging session from this application to 
   * the endpoint url specified.
   * 
   * Throws a WSRMSequenceTerminatedException if the session between this application 
   * and the target endpoint url is already closed
   * 
   * Throws a WSRMSequenceTerminatedException when the session between this application
   * and the target endpoint has already been terminated.
   * 
   * Throws WSRMSequenceUnknownException exception when either reliable messaging is not engaged to 
   * the specified endpoint url or the sequence has previously been terminated and removed.
   * 
   * @param clientObject The JAX-WS Dispatch instance, or the Dynamic Proxy client instance. 
   * @param endPointUri The target endpoint url
   * 
   * @throws WSRMNotEnabledException    
   * @throws WSRMSequenceUnknownException 
   * @throws WSRMSequenceClosedException
   * @throws WSRMSequenceTerminatedException
   */
  public void closeSequence(Object clientObject, QName portQName, String endPointUri) 
  
  throws WSRMNotEnabledException, 
         WSRMSequenceUnknownException,
         WSRMSequenceClosedException,
         WSRMSequenceTerminatedException;




Related tasks
Learning about WS-ReliableMessaging
Controlling WS-ReliableMessaging sequences programmatically
Related reference
Example: Code for creating a sequence
Example: Code for sending an acknowledgement request
Example: Code for terminating a sequence
Example: Code for waiting for a sequence to complete
Reference topic Reference topic    

Terms and conditions for information centers | Feedback

Last updatedLast updated: Aug 31, 2013 1:23:07 AM CDT
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=pix&product=was-nd-dist&topic=rwbs_wsrm_prog_seq_close
File name: rwbs_wsrm_prog_seq_close.html