Example usage for org.springframework.integration.store MessageGroup setLastReleasedMessageSequenceNumber

List of usage examples for org.springframework.integration.store MessageGroup setLastReleasedMessageSequenceNumber

Introduction

In this page you can find the example usage for org.springframework.integration.store MessageGroup setLastReleasedMessageSequenceNumber.

Prototype

void setLastReleasedMessageSequenceNumber(int sequenceNumber);

Source Link

Usage

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);
    }// ww  w .  j  av a2s . co m

    MessageGroup messageGroup = getMessageGroupFactory().create(this, groupId, createDate.get().getTime(),
            completeFlag.get());
    messageGroup.setLastModified(updateDate.get().getTime());
    messageGroup.setLastReleasedMessageSequenceNumber(lastReleasedSequenceRef.get());
    return messageGroup;
}