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 Detail

      • XmlJmsBrowserSender

        public XmlJmsBrowserSender()
    • Method Detail

      • createJmsBrowser

        public JmsBrowser<javax.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