| 
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.springframework.integration.store.AbstractMessageGroupStore
org.springframework.integration.jdbc.JdbcMessageStore
public class JdbcMessageStore
Implementation of MessageStore using a relational database via JDBC. SQL scripts to create the necessary
 tables are packaged as org/springframework/integration/jdbc/schema-*.sql, where * is the
 target database type.
| Field Summary | |
|---|---|
static java.lang.String | 
CREATED_DATE_KEY
The name of the message header that stores a timestamp for the time the message was inserted.  | 
static int | 
DEFAULT_LONG_STRING_LENGTH
 | 
static java.lang.String | 
DEFAULT_TABLE_PREFIX
Default value for the table prefix property.  | 
static java.lang.String | 
SAVED_KEY
The name of the message header that stores a flag to indicate that the message has been saved.  | 
| Constructor Summary | |
|---|---|
JdbcMessageStore()
Convenient constructor for configuration use.  | 
|
JdbcMessageStore(javax.sql.DataSource dataSource)
Create a MessageStore with all mandatory properties. | 
|
| Method Summary | ||
|---|---|---|
 | 
addMessage(Message<T> message)
Put the provided Message into the MessageStore.  | 
|
 MessageGroup | 
addMessageToGroup(java.lang.Object groupId,
                  Message<?> message)
Store a message with an association to a group id.  | 
|
 void | 
afterPropertiesSet()
Check mandatory properties (data source and incrementer).  | 
|
 Message<?> | 
getMessage(java.util.UUID id)
Return the Message with the given id, or null if no Message with that id exists in the MessageStore.  | 
|
 MessageGroup | 
getMessageGroup(java.lang.Object groupId)
Return all Messages currently in the MessageStore that were stored using MessageGroupStore.addMessageToGroup(Object, Message) with this group id. | 
|
protected  java.lang.String | 
getQuery(java.lang.String base)
Replace patterns in the input to produce a valid SQL query.  | 
|
 java.util.Iterator<MessageGroup> | 
iterator()
 | 
|
 MessageGroup | 
markMessageFromGroup(java.lang.Object groupId,
                     Message<?> messageToMark)
Persist a mark on a single message from the group.  | 
|
 MessageGroup | 
markMessageGroup(MessageGroup group)
Persist the mark on all the messages from the group.  | 
|
 Message<?> | 
removeMessage(java.util.UUID id)
Remove the Message with the given id from the MessageStore, if present, and return it.  | 
|
 MessageGroup | 
removeMessageFromGroup(java.lang.Object groupId,
                       Message<?> messageToRemove)
Persist a deletion on a single message from the group.  | 
|
 void | 
removeMessageGroup(java.lang.Object groupId)
Remove the message group with this id.  | 
|
 void | 
setDataSource(javax.sql.DataSource dataSource)
The JDBC DataSource to use when interacting with the database. | 
|
 void | 
setDeserializer(Deserializer<? extends Message<?>> deserializer)
A converter for deserializing byte arrays to messages.  | 
|
 void | 
setJdbcTemplate(JdbcOperations jdbcTemplate)
The JdbcOperations to use when interacting with the database. | 
|
 void | 
setLobHandler(LobHandler lobHandler)
Override the LobHandler that is used to create and unpack large objects in SQL queries. | 
|
 void | 
setRegion(java.lang.String region)
A unique grouping identifier for all messages persisted with this store.  | 
|
 void | 
setSerializer(Serializer<? super Message<?>> serializer)
A converter for serializing messages to byte arrays for storage.  | 
|
 void | 
setTablePrefix(java.lang.String tablePrefix)
Public setter for the table prefix property.  | 
|
| Methods inherited from class org.springframework.integration.store.AbstractMessageGroupStore | 
|---|
expireMessageGroups, registerMessageGroupExpiryCallback, setExpiryCallbacks | 
| Methods inherited from class java.lang.Object | 
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
|---|
public static final java.lang.String DEFAULT_TABLE_PREFIX
public static final int DEFAULT_LONG_STRING_LENGTH
public static final java.lang.String SAVED_KEY
public static final java.lang.String CREATED_DATE_KEY
| Constructor Detail | 
|---|
public JdbcMessageStore()
public JdbcMessageStore(javax.sql.DataSource dataSource)
MessageStore with all mandatory properties.
dataSource - a DataSource| Method Detail | 
|---|
protected java.lang.String getQuery(java.lang.String base)
base - the SQL query to be transformed
public void setTablePrefix(java.lang.String tablePrefix)
DEFAULT_TABLE_PREFIX.
tablePrefix - the tablePrefix to setpublic void setRegion(java.lang.String region)
DEFAULT.
region - the region name to setpublic void setDataSource(javax.sql.DataSource dataSource)
DataSource to use when interacting with the database. Either this property can be set or the
 jdbcTemplate.
dataSource - a DataSourcepublic void setJdbcTemplate(JdbcOperations jdbcTemplate)
JdbcOperations to use when interacting with the database. Either this property can be set or the
 dataSource.
jdbcTemplate - a JdbcOperationspublic void setLobHandler(LobHandler lobHandler)
LobHandler that is used to create and unpack large objects in SQL queries. The default is
 fine for almost all platforms, but some Oracle drivers require a native implementation.
lobHandler - a LobHandlerpublic void setSerializer(Serializer<? super Message<?>> serializer)
serializer - the serializer to setpublic void setDeserializer(Deserializer<? extends Message<?>> deserializer)
deserializer - the deserializer to set
public void afterPropertiesSet()
                        throws java.lang.Exception
java.lang.Exceptionpublic Message<?> removeMessage(java.util.UUID id)
MessageStore
removeMessage in interface MessageStorepublic Message<?> getMessage(java.util.UUID id)
MessageStore
getMessage in interface MessageStorepublic <T> Message<T> addMessage(Message<T> message)
MessageStoreMessageStore.getMessage(UUID) and MessageStore.removeMessage(UUID) behave properly. Since messages are immutable, putting
 the same message more than once is a no-op.
addMessage in interface MessageStore
public MessageGroup addMessageToGroup(java.lang.Object groupId,
                                      Message<?> message)
MessageGroupStore
addMessageToGroup in interface MessageGroupStoregroupId - the group id to store the message undermessage - a messagepublic MessageGroup getMessageGroup(java.lang.Object groupId)
MessageGroupStoreMessageGroupStore.addMessageToGroup(Object, Message) with this group id.
getMessageGroup in interface MessageGroupStorepublic MessageGroup markMessageGroup(MessageGroup group)
MessageGroupStore
markMessageGroup in interface MessageGroupStoregroup - a MessageGroup with no unmarked messages
public MessageGroup removeMessageFromGroup(java.lang.Object groupId,
                                           Message<?> messageToRemove)
MessageGroupStore
removeMessageFromGroup in interface MessageGroupStoregroupId - the groupId for the group containing the messagemessageToRemove - the message to be removed
public MessageGroup markMessageFromGroup(java.lang.Object groupId,
                                         Message<?> messageToMark)
markMessageFromGroup in interface MessageGroupStoregroupId - the groupId for the group containing the messagemessageToMark - the message to be markedpublic void removeMessageGroup(java.lang.Object groupId)
MessageGroupStore
removeMessageGroup in interface MessageGroupStoregroupId - the id of the group to removepublic java.util.Iterator<MessageGroup> iterator()
iterator in interface java.lang.Iterable<MessageGroup>iterator in class AbstractMessageGroupStore
  | 
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||