Class RqueueMessageManagerImpl
- java.lang.Object
-
- com.github.sonus21.rqueue.core.impl.RqueueMessageManagerImpl
-
- All Implemented Interfaces:
RqueueMessageManager
public class RqueueMessageManagerImpl extends java.lang.Object implements RqueueMessageManager
-
-
Field Summary
Fields Modifier and Type Field Description protected org.springframework.messaging.converter.MessageConverter
messageConverter
protected org.springframework.messaging.MessageHeaders
messageHeaders
protected RqueueMessageTemplate
messageTemplate
protected RqueueConfig
rqueueConfig
protected RqueueMessageMetadataService
rqueueMessageMetadataService
protected RqueueStringDao
rqueueStringDao
-
Constructor Summary
Constructors Constructor Description RqueueMessageManagerImpl(RqueueMessageTemplate messageTemplate, org.springframework.messaging.converter.MessageConverter messageConverter, org.springframework.messaging.MessageHeaders messageHeaders)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.Object
deleteAllMessages(QueueDetail queueDetail)
boolean
deleteAllMessages(java.lang.String queueName)
Very dangerous method it will delete all messages in a queueboolean
deleteMessage(java.lang.String queueName, java.lang.String id)
Delete a message that's enqueued to the given queueprotected void
enqueue(QueueDetail queueDetail, RqueueMessage rqueueMessage, java.lang.Long delayInMilliSecs)
boolean
exist(java.lang.String queueName, java.lang.String id)
Extension to methodRqueueMessageManager.getMessage(String, String)
, instead of providing message it returns true/false.java.util.List<java.lang.Object>
getAllMessages(java.lang.String queueName)
Find all messages stored on a given queue, it considers three types of messagesjava.util.List<RqueueMessage>
getAllRqueueMessage(java.lang.String queueName)
Extension to the methodRqueueMessageManager.getAllMessages(String)
this returns internal message.java.lang.Object
getMessage(java.lang.String queueName, java.lang.String id)
Find the enqueued message, messages are deleted automatically post consumption, post consumption message has a fixed lifetime.org.springframework.messaging.converter.MessageConverter
getMessageConverter()
Get currently used message converterRqueueMessage
getRqueueMessage(java.lang.String queueName, java.lang.String id)
Extension to the methodRqueueMessageManager.getMessage(String, String)
, this returns internal message.protected java.lang.String
pushMessage(java.lang.String queueName, java.lang.String messageId, java.lang.Object message, java.lang.Integer retryCount, java.lang.Long delayInMilliSecs)
protected java.lang.String
pushPeriodicMessage(java.lang.String queueName, java.lang.String messageId, java.lang.Object message, long periodInMilliSeconds)
protected void
registerQueueInternal(java.lang.String queueName, java.lang.String... priorities)
protected void
storeMessageMetadata(RqueueMessage rqueueMessage, java.lang.Long delayInMillis)
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.github.sonus21.rqueue.core.RqueueMessageManager
deleteAllMessages, deleteMessage, exist, getAllMessages, getAllRqueueMessage, getMessage, getRqueueMessage
-
-
-
-
Field Detail
-
messageHeaders
protected final org.springframework.messaging.MessageHeaders messageHeaders
-
messageConverter
protected org.springframework.messaging.converter.MessageConverter messageConverter
-
messageTemplate
protected RqueueMessageTemplate messageTemplate
-
rqueueStringDao
@Autowired protected RqueueStringDao rqueueStringDao
-
rqueueConfig
@Autowired protected RqueueConfig rqueueConfig
-
rqueueMessageMetadataService
@Autowired protected RqueueMessageMetadataService rqueueMessageMetadataService
-
-
Constructor Detail
-
RqueueMessageManagerImpl
public RqueueMessageManagerImpl(RqueueMessageTemplate messageTemplate, org.springframework.messaging.converter.MessageConverter messageConverter, org.springframework.messaging.MessageHeaders messageHeaders)
-
-
Method Detail
-
deleteAllMessages
public boolean deleteAllMessages(java.lang.String queueName)
Description copied from interface:RqueueMessageManager
Very dangerous method it will delete all messages in a queue- Specified by:
deleteAllMessages
in interfaceRqueueMessageManager
- Parameters:
queueName
- queue name- Returns:
- fail/success
-
getAllMessages
public java.util.List<java.lang.Object> getAllMessages(java.lang.String queueName)
Description copied from interface:RqueueMessageManager
Find all messages stored on a given queue, it considers three types of messages1. In-Progress/In-Flight messages 2. Scheduled messages 3. Waiting for execution
- Specified by:
getAllMessages
in interfaceRqueueMessageManager
- Parameters:
queueName
- queue name to be query for- Returns:
- list of messages
-
getMessage
public java.lang.Object getMessage(java.lang.String queueName, java.lang.String id)
Description copied from interface:RqueueMessageManager
Find the enqueued message, messages are deleted automatically post consumption, post consumption message has a fixed lifetime.- Specified by:
getMessage
in interfaceRqueueMessageManager
- Parameters:
queueName
- queue name on which message was enqueuedid
- message id- Returns:
- the enqueued message, it could be null if message is not found or it's deleted.
- See Also:
RqueueConfig
-
getRqueueMessage
public RqueueMessage getRqueueMessage(java.lang.String queueName, java.lang.String id)
Description copied from interface:RqueueMessageManager
Extension to the methodRqueueMessageManager.getMessage(String, String)
, this returns internal message.- Specified by:
getRqueueMessage
in interfaceRqueueMessageManager
- Parameters:
queueName
- queue name on which message was enqueuedid
- message id- Returns:
- the enqueued message
-
getAllRqueueMessage
public java.util.List<RqueueMessage> getAllRqueueMessage(java.lang.String queueName)
Description copied from interface:RqueueMessageManager
Extension to the methodRqueueMessageManager.getAllMessages(String)
this returns internal message.- Specified by:
getAllRqueueMessage
in interfaceRqueueMessageManager
- Parameters:
queueName
- queue name on which message was enqueued- Returns:
- the enqueued message
-
exist
public boolean exist(java.lang.String queueName, java.lang.String id)
Description copied from interface:RqueueMessageManager
Extension to methodRqueueMessageManager.getMessage(String, String)
, instead of providing message it returns true/false.- Specified by:
exist
in interfaceRqueueMessageManager
- Parameters:
queueName
- queue name on which message was enqueuedid
- message id- Returns:
- whether the message exist or not
-
deleteMessage
public boolean deleteMessage(java.lang.String queueName, java.lang.String id)
Description copied from interface:RqueueMessageManager
Delete a message that's enqueued to the given queue- Specified by:
deleteMessage
in interfaceRqueueMessageManager
- Parameters:
queueName
- queue on which message was enqueuedid
- message id- Returns:
- success/failure
-
getMessageConverter
public org.springframework.messaging.converter.MessageConverter getMessageConverter()
Description copied from interface:RqueueMessageManager
Get currently used message converter- Specified by:
getMessageConverter
in interfaceRqueueMessageManager
- Returns:
- message converter that's used for message (de)serialization
-
storeMessageMetadata
protected void storeMessageMetadata(RqueueMessage rqueueMessage, java.lang.Long delayInMillis)
-
enqueue
protected void enqueue(QueueDetail queueDetail, RqueueMessage rqueueMessage, java.lang.Long delayInMilliSecs)
-
pushMessage
protected java.lang.String pushMessage(java.lang.String queueName, java.lang.String messageId, java.lang.Object message, java.lang.Integer retryCount, java.lang.Long delayInMilliSecs)
-
pushPeriodicMessage
protected java.lang.String pushPeriodicMessage(java.lang.String queueName, java.lang.String messageId, java.lang.Object message, long periodInMilliSeconds)
-
deleteAllMessages
protected java.lang.Object deleteAllMessages(QueueDetail queueDetail)
-
registerQueueInternal
protected void registerQueueInternal(java.lang.String queueName, java.lang.String... priorities)
-
-