org.springframework.batch.item.jms
Class JmsItemReader<T>

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

public class JmsItemReader<T>
extends Object
implements ItemReader<T>, 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

Field Summary
protected  Class<? extends T> itemType
           
protected  JmsOperations jmsTemplate
           
protected  Log logger
           
 
Constructor Summary
JmsItemReader()
           
 
Method Summary
 void afterPropertiesSet()
           
 T read()
          Reads a piece of input data and advance to the next one.
 void setItemType(Class<? extends T> itemType)
          Set the expected type of incoming message payloads.
 void setJmsTemplate(JmsOperations jmsTemplate)
          Setter for jms template.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected Log logger

itemType

protected Class<? extends T> itemType

jmsTemplate

protected JmsOperations jmsTemplate
Constructor Detail

JmsItemReader

public JmsItemReader()
Method Detail

setJmsTemplate

public void setJmsTemplate(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

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>

afterPropertiesSet

public void afterPropertiesSet()
                        throws Exception
Specified by:
afterPropertiesSet in interface InitializingBean
Throws:
Exception


Copyright © 2009 SpringSource. All Rights Reserved.