Class JmsItemReader<T>

java.lang.Object
org.springframework.batch.item.jms.JmsItemReader<T>
All Implemented Interfaces:
ItemReader<T>, org.springframework.beans.factory.InitializingBean

public class JmsItemReader<T> extends Object implements ItemReader<T>, org.springframework.beans.factory.InitializingBean
An ItemReader for JMS using a JmsTemplate. The template should have a default destination, which will be used to provide items in read().

The implementation is thread-safe after its properties are set (normal singleton behavior).
Author:
Dave Syer, Mahmoud Ben Hassine
  • Field Details

    • logger

      protected org.apache.commons.logging.Log logger
    • itemType

      protected Class<? extends T> itemType
    • jmsTemplate

      protected org.springframework.jms.core.JmsOperations jmsTemplate
  • Constructor Details

    • JmsItemReader

      public JmsItemReader()
  • Method Details

    • setJmsTemplate

      public void setJmsTemplate(org.springframework.jms.core.JmsOperations jmsTemplate)
      Setter for JMS template.
      Parameters:
      jmsTemplate - a JmsOperations instance
    • setItemType

      public void setItemType(Class<? extends T> itemType)
      Set the expected type of incoming message payloads. Set this to Message to receive the raw underlying message.
      Parameters:
      itemType - the java class of the items to be delivered. Typically the same as the class parameter
      Throws:
      IllegalStateException - if the message payload is of the wrong type.
    • read

      @Nullable public T read()
      Description copied from interface: ItemReader
      Reads a piece of input data and advance to the next one. Implementations must return null at the end of the input data set. In a transactional setting, caller might get the same item twice from successive calls (or otherwise), if the first call was in a transaction that rolled back.
      Specified by:
      read in interface ItemReader<T>
      Returns:
      T the item to be processed or null if the data source is exhausted
    • afterPropertiesSet

      public void afterPropertiesSet() throws Exception
      Specified by:
      afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
      Throws:
      Exception