Index

A B C D E G H I L M P Q R S V 
All Classes and Interfaces|All Packages|Constant Field Values

A

acknowledgeMessageAsHandled(AcknowledgeMessageAsHandled) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 
addInterceptor(DurableQueuesInterceptor) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 
ALL - Enum constant in enum class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues.IncludeMessages
 

B

build() - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueuesBuilder
 
builder() - Static method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 

C

consumeFromQueue(ConsumeFromQueue) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 
createDefaultObjectMapper() - Static method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
Default ObjectMapper supporting Jdk8Module, JavaTimeModule, EssentialTypesJacksonModule and EssentialsImmutableJacksonModule, which is used together with the JacksonJSONSerializer
createQueuePollingOptimizerFor(ConsumeFromQueue) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
Override this method to provide another QueuePollingOptimizer than the default QueuePollingOptimizer.SimpleQueuePollingOptimizer
Only called if the PostgresqlDurableQueues is configured with a MultiTableChangeListener

D

DEAD_LETTER_MESSAGES - Enum constant in enum class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues.IncludeMessages
 
DEFAULT_DURABLE_QUEUES_TABLE_NAME - Static variable in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 
deleteMessage(DeleteMessage) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 
dk.cloudcreate.essentials.components.queue.postgresql - module dk.cloudcreate.essentials.components.queue.postgresql
 
dk.cloudcreate.essentials.components.queue.postgresql - package dk.cloudcreate.essentials.components.queue.postgresql
 
dk.cloudcreate.essentials.components.queue.postgresql.jdbi - package dk.cloudcreate.essentials.components.queue.postgresql.jdbi
 

E

extractDuplicationKey(JsonNode) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.QueueNameDuplicationFilter
Extracts the "queue_name" field from the given JSON parameter, if it exists.
Example Notification.getParameter() content:

G

getDeadLetterMessage(GetDeadLetterMessage) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 
getDeadLetterMessages(GetDeadLetterMessages) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 
getInterceptors() - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 
getNextMessageReadyForDelivery(GetNextMessageReadyForDelivery) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 
getQueuedMessage(GetQueuedMessage) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 
getQueuedMessageCountsFor(GetQueuedMessageCountsFor) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 
getQueuedMessages(GetQueuedMessages) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 
getQueueNameFor(QueueEntryId) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 
getQueueNames() - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 
getSharedQueueTableName() - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
The name of the shared table where all queue messages are stored
getTotalDeadLetterMessagesQueuedFor(GetTotalDeadLetterMessagesQueuedFor) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 
getTotalMessagesQueuedFor(GetTotalMessagesQueuedFor) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 
getTransactionalMode() - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 
getUnitOfWorkFactory() - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 

H

hasMessagesQueuedFor(QueueName) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 

I

isStarted() - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 

L

lastResetStuckMessagesCheckTimestamps - Variable in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
Contains the timestamp of the last performed PostgresqlDurableQueues.resetMessagesStuckBeingDelivered(QueueName) check
Only used if PostgresqlDurableQueues.transactionalMode has value TransactionalMode.SingleOperationTransaction

M

markAsDeadLetterMessage(MarkAsDeadLetterMessage) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 

P

PostgresqlDurableQueueConsumer - Class in dk.cloudcreate.essentials.components.queue.postgresql
 
PostgresqlDurableQueueConsumer(ConsumeFromQueue, HandleAwareUnitOfWorkFactory, PostgresqlDurableQueues, Consumer<DurableQueueConsumer>, long, QueuePollingOptimizer) - Constructor for class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueueConsumer
 
PostgresqlDurableQueues - Class in dk.cloudcreate.essentials.components.queue.postgresql
Postgresql version of the DurableQueues concept.
Works together with UnitOfWorkFactory in order to support queuing message together with business logic (such as failing to handle an Event, etc.)

Security
DurableQueues allows the user of the component to override the PostgresqlDurableQueues.getSharedQueueTableName(), which is the name of the table that will contain all messages (across all QueueName's)
Note:
To support customization of storage table name, the sharedQueueTableName will be directly used in constructing SQL statements through string concatenation, which exposes the component to SQL injection attacks.

Security Note:
It is the responsibility of the user of this component to sanitize the sharedQueueTableName to ensure the security of all the SQL statements generated by this component.
The PostgresqlDurableQueues component will call the PostgresqlUtil.checkIsValidTableOrColumnName(String) method to validate the table name as a first line of defense.
The PostgresqlUtil.checkIsValidTableOrColumnName(String) provides an initial layer of defense against SQL injection by applying naming conventions intended to reduce the risk of malicious input.
However, Essentials components as well as PostgresqlUtil.checkIsValidTableOrColumnName(String) does not offer exhaustive protection, nor does it assure the complete security of the resulting SQL against SQL injection threats.
The responsibility for implementing protective measures against SQL Injection lies exclusively with the users/developers using the Essentials components and its supporting classes.
Users must ensure thorough sanitization and validation of API input parameters, column, table, and index names.
Insufficient attention to these practices may leave the application vulnerable to SQL injection, potentially endangering the security and integrity of the database.
The responsibility for implementing protective measures against SQL Injection lies exclusively with the users/developers using the Essentials components and its supporting classes.
Users must ensure thorough sanitization and validation of API input parameters, column, table, and index names.
Insufficient attention to these practices may leave the application vulnerable to SQL injection, potentially endangering the security and integrity of the database.

It is highly recommended that the sharedQueueTableName value is only derived from a controlled and trusted source.
To mitigate the risk of SQL injection attacks, external or untrusted inputs should never directly provide the sharedQueueTableName value.
PostgresqlDurableQueues(HandleAwareUnitOfWorkFactory<? extends HandleAwareUnitOfWork>) - Constructor for class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
Create DurableQueues with sharedQueueTableName: "durable_queues" and the default JacksonJSONSerializer using PostgresqlDurableQueues.createDefaultObjectMapper() configuration
PostgresqlDurableQueues(HandleAwareUnitOfWorkFactory<? extends HandleAwareUnitOfWork>, JSONSerializer) - Constructor for class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
Create DurableQueues with custom jsonSerializer with sharedQueueTableName: "durable_queues"
PostgresqlDurableQueues(HandleAwareUnitOfWorkFactory<? extends HandleAwareUnitOfWork>, JSONSerializer, String, MultiTableChangeListener<TableChangeNotification>, Function<ConsumeFromQueue, QueuePollingOptimizer>) - Constructor for class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
Create DurableQueues with custom jsonSerializer and sharedQueueTableName
PostgresqlDurableQueues(HandleAwareUnitOfWorkFactory<? extends HandleAwareUnitOfWork>, JSONSerializer, String, MultiTableChangeListener<TableChangeNotification>, Function<ConsumeFromQueue, QueuePollingOptimizer>, TransactionalMode, Duration) - Constructor for class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
Create DurableQueues with custom jsonSerializer and sharedQueueTableName
PostgresqlDurableQueues(HandleAwareUnitOfWorkFactory<? extends HandleAwareUnitOfWork>, JSONSerializer, Function<ConsumeFromQueue, QueuePollingOptimizer>) - Constructor for class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
Create DurableQueues with custom jsonSerializer with sharedQueueTableName: "durable_queues"
PostgresqlDurableQueues(HandleAwareUnitOfWorkFactory<? extends HandleAwareUnitOfWork>, Function<ConsumeFromQueue, QueuePollingOptimizer>) - Constructor for class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
Create DurableQueues with sharedQueueTableName: "durable_queues" and the default JacksonJSONSerializer using PostgresqlDurableQueues.createDefaultObjectMapper() configuration
PostgresqlDurableQueues.IncludeMessages - Enum Class in dk.cloudcreate.essentials.components.queue.postgresql
 
PostgresqlDurableQueues.QueueTableNotification - Class in dk.cloudcreate.essentials.components.queue.postgresql
 
PostgresqlDurableQueuesBuilder - Class in dk.cloudcreate.essentials.components.queue.postgresql
Security
It is the responsibility of the user of this component to sanitize the PostgresqlDurableQueuesBuilder.setSharedQueueTableName(String) to ensure the security of all the SQL statements generated by this component.
PostgresqlDurableQueuesBuilder() - Constructor for class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueuesBuilder
 
purgeQueue(PurgeQueue) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 

Q

queryForMessagesSoonReadyForDelivery(QueueName, Instant, int) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 
queryQueuedMessages(QueueName, DurableQueues.QueueingSortOrder, PostgresqlDurableQueues.IncludeMessages, long, long) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 
QUEUED_MESSAGES - Enum constant in enum class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues.IncludeMessages
 
QueueEntryIdArgumentFactory - Class in dk.cloudcreate.essentials.components.queue.postgresql.jdbi
 
QueueEntryIdArgumentFactory() - Constructor for class dk.cloudcreate.essentials.components.queue.postgresql.jdbi.QueueEntryIdArgumentFactory
 
QueueEntryIdColumnMapper - Class in dk.cloudcreate.essentials.components.queue.postgresql.jdbi
QueueEntryId ColumnMapper
QueueEntryIdColumnMapper() - Constructor for class dk.cloudcreate.essentials.components.queue.postgresql.jdbi.QueueEntryIdColumnMapper
 
queueMessage(QueueMessage) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 
queueMessage(QueueName, Message, boolean, Optional<Exception>, Optional<Duration>) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 
queueMessageAsDeadLetterMessage(QueueMessageAsDeadLetterMessage) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 
queueMessages(QueueMessages) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 
QueueNameArgumentFactory - Class in dk.cloudcreate.essentials.components.queue.postgresql.jdbi
 
QueueNameArgumentFactory() - Constructor for class dk.cloudcreate.essentials.components.queue.postgresql.jdbi.QueueNameArgumentFactory
 
QueueNameColumnMapper - Class in dk.cloudcreate.essentials.components.queue.postgresql.jdbi
QueueName ColumnMapper
QueueNameColumnMapper() - Constructor for class dk.cloudcreate.essentials.components.queue.postgresql.jdbi.QueueNameColumnMapper
 
QueueNameDuplicationFilter - Class in dk.cloudcreate.essentials.components.queue.postgresql
Custom filter to extract the "queue_name" property from the Postgresql Notification.getParameter() JSON content.
This filter is useful when dealing with multiple Notification's involving the same queue.
Example: if 100 messages are queued for the same QueueName in the same UnitOfWork, then the MultiTableChangeListener will notify the PostgresqlDurableQueues with 100 TableChangeNotification's.
QueueNameDuplicationFilter() - Constructor for class dk.cloudcreate.essentials.components.queue.postgresql.QueueNameDuplicationFilter
 
QueueTableNotification() - Constructor for class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues.QueueTableNotification
 

R

removeInterceptor(DurableQueuesInterceptor) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 
resetMessagesStuckBeingDelivered(QueueName) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
This operation will scan for messages that has been marked as QueuedMessage.isBeingDelivered() for longer than PostgresqlDurableQueues.messageHandlingTimeoutMs
All messages found will have QueuedMessage.isBeingDelivered() and QueuedMessage.getDeliveryTimestamp() reset
Only relevant for when using TransactionalMode.SingleOperationTransaction
resurrectDeadLetterMessage(ResurrectDeadLetterMessage) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 
retryMessage(RetryMessage) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 

S

setJsonSerializer(JSONSerializer) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueuesBuilder
 
setMessageHandlingTimeout(Duration) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueuesBuilder
 
setMultiTableChangeListener(MultiTableChangeListener<TableChangeNotification>) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueuesBuilder
 
setQueuePollingOptimizerFactory(Function<ConsumeFromQueue, QueuePollingOptimizer>) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueuesBuilder
 
setSharedQueueTableName(String) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueuesBuilder
 
setTransactionalMode(TransactionalMode) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueuesBuilder
 
setUnitOfWorkFactory(HandleAwareUnitOfWorkFactory<? extends HandleAwareUnitOfWork>) - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueuesBuilder
 
start() - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 
stop() - Method in class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues
 

V

valueOf(String) - Static method in enum class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues.IncludeMessages
Returns the enum constant of this class with the specified name.
values() - Static method in enum class dk.cloudcreate.essentials.components.queue.postgresql.PostgresqlDurableQueues.IncludeMessages
Returns an array containing the constants of this enum class, in the order they are declared.
A B C D E G H I L M P Q R S V 
All Classes and Interfaces|All Packages|Constant Field Values