Refactored MongoDbMessageStore to ensure that the Message metadata is persisted consistently using already provided converters. Major refactoring went into MessageWrapper and MongoDbMessageStore.write method which was greatly simplified based on the fact that MessageWrapper now represents the structure that needs to be persisted
INT-2479
fixed default converters to make sure that UUID is stored in Mongo with type information, so the actuall UUID type could be restored
This fix ensures that MongoDbMessageStore properly stores
MessageHistory that is stored in the 'history' header
of MessageHeaders.
polished contribution from Sean Brandt, added tests
fixed header deserialization logic to ensure that objects are converted to a proper type
removed write converter
modified implementation of MessageGroupQueue to use interruptible locks
Basically modeled it after LinkedBlockingQueue
changed to use ReadWriteLock
refactored MessageGroupQueue and added tests
changed MessageGroupQueue to use Condition
added messageGroupSize(groupId) method to MessageGroupStore and all the implementations
polishing based on Gary's comments
removed setStoreLock method in favor of additional constructors
polishing tests, decreased timeouts
made peek() thread safe
added logging
Fixed JdbcMessageStore to reuse CREATED_DATE while updating UPDATED_DATE
Added support for configuring MessageGroup timeout based on the idle time of the MessageGroup
Changed updatedTimestamp to lastModified
Added an assertion to AbsractMessageGroup.expireMessageGroups to check if lastModified is 0
Changed attribute name in MessageWrapper in Mongo Message Store
INT-2182 interim
INT-2182 work in progress
INT-2182 Refctored MessageGroupQueue and related classes
- created MGS.pollMessageFromGroup(groupId)
- removed MARKED messages concept
- renamed UNMARKED to just Messages
- removed keepReleasedMessages attribute
- refactored JdbcMessageStore to NOT store Messages that belong to a MessageGroup in the MessageGroup table, only relationship
- provided implementation of pollMessageFromGroup method in JdbcMessageStore
- polished tests
INT-2182 refactored MongoDB support to reflect changes to MGQ
INT-2182 added Gemfire support for polling
INT-2182 added Redis support
INT-2182 polishing
removed syncronized blocks from SMG, added availablePermits() method to UpperBound, polished JdbcMessageStore
INT-2182 polishing
INT-2182 polishing
INT-2182 polishing
INT-2182 polishing
INT-2182 polishing
INT-2182 polishing based on PR comments
subclassed from AbstractMessageGroupStore
added initial tests for Mongo based MessageGroupStore
added initial implementation of MongoDb-based MessageGroupStore
polished MongoDbMessageStore, made it more inline with JdbcMessageStore, added tests
using MessageWrapper as stored object to accommodate groupId and marked attributes
no longer setting _id explicitly
removed synchronized blocks and concurrency test