List of usage examples for org.springframework.integration.store SimpleMessageGroup SimpleMessageGroup
public SimpleMessageGroup(MessageGroup messageGroup)
From source file:org.springframework.integration.jdbc.JdbcMessageStore.java
@Override public MessageGroup getMessageGroup(Object groupId) { String key = getKey(groupId); final AtomicReference<Date> createDate = new AtomicReference<Date>(); final AtomicReference<Date> updateDate = new AtomicReference<Date>(); final AtomicReference<Boolean> completeFlag = new AtomicReference<Boolean>(); final AtomicReference<Integer> lastReleasedSequenceRef = new AtomicReference<Integer>(); List<Message<?>> messages = jdbcTemplate.query(getQuery(Query.LIST_MESSAGES_BY_GROUP_KEY), new Object[] { key, region }, mapper); jdbcTemplate.query(getQuery(Query.GET_GROUP_INFO), new Object[] { key, region }, new RowCallbackHandler() { @Override//from w ww . j a va 2 s .c o m public void processRow(ResultSet rs) throws SQLException { updateDate.set(rs.getTimestamp("UPDATED_DATE")); createDate.set(rs.getTimestamp("CREATED_DATE")); completeFlag.set(rs.getInt("COMPLETE") > 0); lastReleasedSequenceRef.set(rs.getInt("LAST_RELEASED_SEQUENCE")); } }); if (createDate.get() == null && updateDate.get() == null) { if (logger.isWarnEnabled()) { for (Message<?> message : messages) { logger.warn("Missing group row for message id: " + message.getHeaders().getId()); } } return new SimpleMessageGroup(groupId); } long timestamp = createDate.get().getTime(); boolean complete = completeFlag.get().booleanValue(); SimpleMessageGroup messageGroup = new SimpleMessageGroup(messages, groupId, timestamp, complete); messageGroup.setLastModified(updateDate.get().getTime()); int lastReleasedSequenceNumber = lastReleasedSequenceRef.get(); messageGroup.setLastReleasedMessageSequenceNumber(lastReleasedSequenceNumber); return messageGroup; }
From source file:org.springframework.integration.jdbc.store.JdbcChannelMessageStore.java
/** * Not fully used. Only wraps the provided group id. */ public MessageGroup getMessageGroup(Object groupId) { return new SimpleMessageGroup(groupId); }
From source file:org.springframework.integration.jdbc.store.JdbcMessageStore.java
@Override public MessageGroup getMessageGroup(Object groupId) { String key = getKey(groupId); final AtomicReference<Date> createDate = new AtomicReference<Date>(); final AtomicReference<Date> updateDate = new AtomicReference<Date>(); final AtomicReference<Boolean> completeFlag = new AtomicReference<Boolean>(); final AtomicReference<Integer> lastReleasedSequenceRef = new AtomicReference<Integer>(); this.jdbcTemplate.query(getQuery(Query.GET_GROUP_INFO), rs -> { updateDate.set(rs.getTimestamp("UPDATED_DATE")); createDate.set(rs.getTimestamp("CREATED_DATE")); completeFlag.set(rs.getInt("COMPLETE") > 0); lastReleasedSequenceRef.set(rs.getInt("LAST_RELEASED_SEQUENCE")); }, key, this.region); if (createDate.get() == null && updateDate.get() == null) { return new SimpleMessageGroup(groupId); }/* w w w .j a v a2s. c o m*/ MessageGroup messageGroup = getMessageGroupFactory().create(this, groupId, createDate.get().getTime(), completeFlag.get()); messageGroup.setLastModified(updateDate.get().getTime()); messageGroup.setLastReleasedMessageSequenceNumber(lastReleasedSequenceRef.get()); return messageGroup; }