public class JmsReader extends IntegrationReader
Records
from a Java Message Service (JMS) provider.DataEndpoint.State
fieldLineage, recordLineage
lastRecord, PRODUCT, PRODUCT_VERSION, VENDOR, XML_INPUT_FACTORY_KEY
BUFFER_SIZE, captureElapsedTime, DEFAULT_READ_BUFFER_SIZE
id, log, name, TIMESTAMP_FORMAT
Constructor and Description |
---|
JmsReader(JmsSettings settings)
Connects to a Java Message Service server.
Apache ActiveMQ Example:
Properties props = new Properties(); |
Modifier and Type | Method and Description |
---|---|
DataException |
addExceptionProperties(DataException exception)
Adds this endpoint's current state to a
DataException . |
protected void |
addMessageHeader(Message message,
Record record) |
void |
close()
Indicates that this endpoint has finished reading or writing.
|
JmsConnection |
getConnection() |
Long |
getReceiveTimeout()
Returns the timeout interval for receiving messages or
null if reads should not timeout (default to null ). |
JmsSettings |
getSettings() |
protected Record |
onBytesMessage(BytesMessage message) |
protected Record |
onMapMessage(MapMessage message) |
protected Record |
onMessage(Message message) |
protected Record |
onObjectMessage(ObjectMessage message) |
protected Record |
onStreamMessage(StreamMessage message) |
protected Record |
onTextMessage(TextMessage message) |
void |
open()
Makes this endpoint ready for reading or writing.
|
protected Record |
readImpl()
Overridden by subclasses to read the next record from this
DataReader . |
JmsReader |
setReceiveTimeout(Long timeout)
Sets the timeout interval for receiving messages or
null if reads should not timeout (default to null ). |
addLineage, available, getBufferSize, getNestedEndpoint, getNestedReader, getRootEndpoint, getRootReader, isExhausted, isLineageSupported, isSaveLineage, peek, pop, push, read, setSaveLineage, skip
decrementRecordCount, enableJmx, getLastRecord, getRecordCount, getRecordCountAsBigInteger, getRecordCountAsString, incrementRecordCount, isRecordCountBigInteger, resetRecordCount, toString
addElapsedtime, assertClosed, assertNotOpened, assertOpened, finalize, getClosedOn, getDescription, getElapsedTime, getElapsedTimeAsString, getOpenedOn, getOpenElapsedTime, getOpenElapsedTimeAsString, getSelfTime, getSelfTimeAsString, getState, isCaptureElapsedTime, isClosed, isOpen, setCaptureElapsedTime, setDescription
public JmsReader(JmsSettings settings)
Properties props = new Properties();
props.setProperty(Context.INITIAL_CONTEXT_FACTORY,"org.apache.activemq.jndi.ActiveMQInitialContextFactory");
props.setProperty(Context.PROVIDER_URL,"tcp://localhost:61616");
DataReader reader = new JmsReader(props, JmsDestinationType.QUEUE, "queueName");
Read your JMS provider manual for more details
properties
- the properties required by the JMS servertype
- the type of messaging useddestinationName
- the name of the Topic or QueueJmsDestinationType
public JmsSettings getSettings()
public JmsConnection getConnection()
public Long getReceiveTimeout()
null
if reads should not timeout (default to null
).public JmsReader setReceiveTimeout(Long timeout)
null
if reads should not timeout (default to null
).timeout
- timeout interval for receiving messagesJmsReader
instancepublic void open() throws DataException
DataEndpoint
open
in class IntegrationReader
DataException
public void close() throws DataException
DataEndpoint
close
in class DataEndpoint
DataException
protected Record readImpl() throws Throwable
DataReader
DataReader
. The default
implementation of DataReader.read()
now insures that this method will not be called again after it returns
a null
.
If no record is available, null
will be returned.
readImpl
in class DataReader
Throwable
protected void addMessageHeader(Message message, Record record) throws Throwable
Throwable
protected Record onMapMessage(MapMessage message) throws JMSException
JMSException
protected Record onBytesMessage(BytesMessage message) throws JMSException
JMSException
protected Record onObjectMessage(ObjectMessage message) throws JMSException
JMSException
protected Record onStreamMessage(StreamMessage message) throws JMSException
JMSException
protected Record onTextMessage(TextMessage message) throws JMSException
JMSException
public DataException addExceptionProperties(DataException exception)
Endpoint
DataException
. Since this method is called whenever an
exception is thrown, subclasses should override it to add their specific information.addExceptionProperties
in class DataReader
Copyright (c) 2006-2024 North Concepts Inc. All Rights Reserved.