Class XmlJmsBrowserSender

All Implemented Interfaces:
IConfigurable, IConfigurationAware, INamedObject, IScopeProvider, ISender, ISenderWithParameters, IWithParameters, org.springframework.beans.factory.Aware, org.springframework.context.ApplicationContextAware

public class XmlJmsBrowserSender extends SenderWithParametersBase
Sender for browsing and removing queue messages (with input and output in a XML message).

When input root element is browse all queue messages are returned.

When input root element is remove all queue messages are removed.

example (input):

   <browse>
      <jmsRealm>qcf</jmsRealm>
      <destinationName>jms/GetPolicyDetailsRequest</destinationName>
      <destinationType>QUEUE</destinationType>
   </browse>
 

example (browse output):

   <result>
            <items count="2">
               <item>
                  <timestamp>Thu Nov 20 13:36:31 CET 2014</timestamp>
                  <messageId>ID:LPAB00000003980-61959-1416486781822-3:5:33:1:1</messageId>
                  <correlationId>...</correlationId>
                  <message><![CDATA[...]]></message>
               </item>
               <item>
                  <timestamp>Thu Dec 12 11:59:22 CET 2014</timestamp>
                  <messageId>ID:LPAB00000003980-58359-1721486799722-3:4:19:1:1</messageId>
                  <correlationId>...</correlationId>
                  <message><![CDATA[...]]></message>
               </item>
            </items>
   </result>
 

example (remove output):

   <result>
            <itemsRemoved>2</itemsRemoved>
   </result>
 

Author:
Peter Leeuwenburgh
  • Constructor Details

    • XmlJmsBrowserSender

      public XmlJmsBrowserSender()
  • Method Details

    • createJmsBrowser

      public JmsBrowser<jakarta.jms.Message> createJmsBrowser()
    • sendMessage

      public SenderResult sendMessage(Message message, PipeLineSession session) throws SenderException, TimeoutException
      Description copied from interface: ISender
      Send a message to some destination (as configured in the Sender object). This method may only be called after the configure() method is called.

      The following table shows the difference between synchronous and a-synchronous senders:

       synchronousa-synchronous
      ISender.isSynchronous() returnstruefalse
      return value of sendMessage() isthe reply-messagethe messageId of the message sent
      the correlationID specified with sendMessage()may be ignoredis sent with the message
      a {link TimeOutException}may be thrown if a timeout occurs waiting for a replyshould not be expected

      Multiple objects may try to call this method at the same time, from different threads. Implementations of this method should therefore be thread-safe, or synchronized.

      Throws:
      SenderException
      TimeoutException