Record Class DurableQueueConfig
java.lang.Object
java.lang.Record
org.j7m.middleware.messaging.DurableQueueConfig
- Record Components:
durableLog- durable log substratequeueOptions- queue limits and policiesoutboxOptions- outbox limits and policiesinboxOptions- inbox limits and policiesclock- clock used for deterministic time semanticsownsDurableLog- whether the queue closes the durable logmaxEventPayloadBytes- maximum encoded queue-event payload size; the effective value is also capped by the strict queue event codec so a queue never writes an event that its own recovery codec rejectsDuplicate idempotency and dedupe decisions, terminal message summaries, and completed outbox records are retained in bounded deterministic insertion order. Once an old protection entry is evicted, a repeated idempotency key, dedupe key, or completed outbox entry may be treated as a new operation rather than a retained duplicate decision. Live queued messages, pending outbox records, and inbox dedupe entries remain governed by their explicit queue, outbox, and inbox limits.
public record DurableQueueConfig(org.j7m.middleware.api.durablelog.DurableLog durableLog, org.j7m.middleware.api.messaging.QueueOptions queueOptions, org.j7m.middleware.api.messaging.OutboxOptions outboxOptions, org.j7m.middleware.api.messaging.InboxOptions inboxOptions, Clock clock, boolean ownsDurableLog, long maxEventPayloadBytes)
extends Record
Immutable durable queue configuration.
-
Constructor Summary
ConstructorsConstructorDescriptionDurableQueueConfig(org.j7m.middleware.api.durablelog.DurableLog durableLog, org.j7m.middleware.api.messaging.QueueOptions queueOptions, org.j7m.middleware.api.messaging.OutboxOptions outboxOptions, org.j7m.middleware.api.messaging.InboxOptions inboxOptions, Clock clock) Creates a borrowed-log configuration using the default event payload limit derived from the supplied durable log.DurableQueueConfig(org.j7m.middleware.api.durablelog.DurableLog durableLog, org.j7m.middleware.api.messaging.QueueOptions queueOptions, org.j7m.middleware.api.messaging.OutboxOptions outboxOptions, org.j7m.middleware.api.messaging.InboxOptions inboxOptions, Clock clock, boolean ownsDurableLog, long maxEventPayloadBytes) Creates validated configuration. -
Method Summary
Modifier and TypeMethodDescriptionclock()Returns the value of theclockrecord component.org.j7m.middleware.api.durablelog.DurableLogReturns the value of thedurableLogrecord component.final booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.org.j7m.middleware.api.messaging.InboxOptionsReturns the value of theinboxOptionsrecord component.longReturns the value of themaxEventPayloadBytesrecord component.org.j7m.middleware.api.messaging.OutboxOptionsReturns the value of theoutboxOptionsrecord component.booleanReturns the value of theownsDurableLogrecord component.org.j7m.middleware.api.messaging.QueueOptionsReturns the value of thequeueOptionsrecord component.final StringtoString()Returns a string representation of this record class.
-
Constructor Details
-
DurableQueueConfig
public DurableQueueConfig(org.j7m.middleware.api.durablelog.DurableLog durableLog, org.j7m.middleware.api.messaging.QueueOptions queueOptions, org.j7m.middleware.api.messaging.OutboxOptions outboxOptions, org.j7m.middleware.api.messaging.InboxOptions inboxOptions, Clock clock, boolean ownsDurableLog, long maxEventPayloadBytes) Creates validated configuration.- Throws:
IllegalArgumentException- whendurableLogis null
-
DurableQueueConfig
public DurableQueueConfig(org.j7m.middleware.api.durablelog.DurableLog durableLog, org.j7m.middleware.api.messaging.QueueOptions queueOptions, org.j7m.middleware.api.messaging.OutboxOptions outboxOptions, org.j7m.middleware.api.messaging.InboxOptions inboxOptions, Clock clock) Creates a borrowed-log configuration using the default event payload limit derived from the supplied durable log.- Parameters:
durableLog- durable log substratequeueOptions- queue limits and policiesoutboxOptions- outbox limits and policiesinboxOptions- inbox limits and policiesclock- clock used for deterministic time semantics
-
-
Method Details
-
toString
-
hashCode
-
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared withObjects::equals(Object,Object); primitive components are compared with thecomparemethod from their corresponding wrapper classes. -
durableLog
public org.j7m.middleware.api.durablelog.DurableLog durableLog()Returns the value of thedurableLogrecord component.- Returns:
- the value of the
durableLogrecord component
-
queueOptions
public org.j7m.middleware.api.messaging.QueueOptions queueOptions()Returns the value of thequeueOptionsrecord component.- Returns:
- the value of the
queueOptionsrecord component
-
outboxOptions
public org.j7m.middleware.api.messaging.OutboxOptions outboxOptions()Returns the value of theoutboxOptionsrecord component.- Returns:
- the value of the
outboxOptionsrecord component
-
inboxOptions
public org.j7m.middleware.api.messaging.InboxOptions inboxOptions()Returns the value of theinboxOptionsrecord component.- Returns:
- the value of the
inboxOptionsrecord component
-
clock
-
ownsDurableLog
public boolean ownsDurableLog()Returns the value of theownsDurableLogrecord component.- Returns:
- the value of the
ownsDurableLogrecord component
-
maxEventPayloadBytes
public long maxEventPayloadBytes()Returns the value of themaxEventPayloadBytesrecord component.- Returns:
- the value of the
maxEventPayloadBytesrecord component
-