Skip to content

Commit

Permalink
Update GenericEventDeadLetter
Browse files Browse the repository at this point in the history
Update GenericEventDeadLetter to comply with new DeadLetterEntry
interface

#2021
  • Loading branch information
smcvb committed Dec 3, 2021
1 parent 58f11ea commit acff8aa
Showing 1 changed file with 47 additions and 41 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

import org.axonframework.eventhandling.EventMessage;
import org.axonframework.eventhandling.GenericEventMessage;
import org.axonframework.messaging.deadletter.DeadLetter;
import org.axonframework.messaging.deadletter.DeadLetterEntry;

import java.time.Instant;
import java.util.Objects;
Expand All @@ -27,69 +27,71 @@
* @author Steven van Beelen
* @since 4.6.0
*/
public class GenericEventDeadLetter implements DeadLetter<EventMessage<?>> {
public class GenericEventDeadLetter implements DeadLetterEntry<EventMessage<?>> {

/**
*
*/
public static final Throwable SEQUENCED_DEAD_LETTER =
new Throwable("Added dead letter as part of earlier letters within the same sequence.");
public static final Throwable SEQUENCED_DEAD_LETTER = null;

private final String sequenceIdentifier;
private final String identifier;
private final String group;
private final EventMessage<?> deadLetter;
private final Throwable failure;
private final Instant expiresAt;
private final Instant deadLettered;

/**
* @param sequenceIdentifier
* @param deadLetter
*/
public GenericEventDeadLetter(String sequenceIdentifier, EventMessage<?> deadLetter) {
this(sequenceIdentifier, deadLetter, SEQUENCED_DEAD_LETTER);
public GenericEventDeadLetter(String identifier,
String group,
EventMessage<?> deadLetter,
Instant expiresAt) {
this(identifier, group, deadLetter, SEQUENCED_DEAD_LETTER, expiresAt);
}

/**
* @param sequenceIdentifier
* @param deadLetter
* @param failure
*/
public GenericEventDeadLetter(String sequenceIdentifier,
public GenericEventDeadLetter(String identifier,
String group,
EventMessage<?> deadLetter,
Throwable failure) {
this(sequenceIdentifier, deadLetter, failure, GenericEventMessage.clock.instant());
Throwable failure,
Instant expiresAt) {
this(identifier, group, deadLetter, failure, expiresAt, GenericEventMessage.clock.instant());
}

/**
* @param sequenceIdentifier
* @param deadLetter
* @param failure
* @param deadLettered
*/
public GenericEventDeadLetter(String sequenceIdentifier,
public GenericEventDeadLetter(String identifier,
String group,
EventMessage<?> deadLetter,
Throwable failure,
Instant expiresAt,
Instant deadLettered) {
this.sequenceIdentifier = sequenceIdentifier;
this.deadLettered = deadLettered;
this.identifier = identifier;
this.group = group;
this.deadLetter = deadLetter;
this.failure = failure;
this.expiresAt = expiresAt;
this.deadLettered = deadLettered;
}

@Override
public String identifier() {
return identifier;
}

@Override
public String sequenceIdentifier() {
return sequenceIdentifier;
public String group() {
return group;
}

@Override
public EventMessage<?> deadLetter() {
public EventMessage<?> message() {
return deadLetter;
}

@Override
public Throwable failure() {
public Throwable cause() {
return failure;
}

@Override
public Instant expiresAt() {
return expiresAt;
}

@Override
public Instant deadLettered() {
return deadLettered;
Expand All @@ -104,24 +106,28 @@ public boolean equals(Object o) {
return false;
}
GenericEventDeadLetter that = (GenericEventDeadLetter) o;
return Objects.equals(sequenceIdentifier, that.sequenceIdentifier)
&& Objects.equals(deadLettered, that.deadLettered)
return Objects.equals(identifier, that.identifier)
&& Objects.equals(group, that.group)
&& Objects.equals(deadLetter, that.deadLetter)
&& Objects.equals(failure, that.failure);
&& Objects.equals(failure, that.failure)
&& Objects.equals(expiresAt, that.expiresAt)
&& Objects.equals(deadLettered, that.deadLettered);
}

@Override
public int hashCode() {
return Objects.hash(sequenceIdentifier, deadLettered, deadLetter, failure);
return Objects.hash(identifier, group, deadLetter, failure, expiresAt, deadLettered);
}

@Override
public String toString() {
return "GenericEventDeadLetter{" +
"sequenceIdentifier='" + sequenceIdentifier + '\'' +
", deadLettered=" + deadLettered +
"identifier='" + identifier + '\'' +
", group='" + group + '\'' +
", deadLetter=" + deadLetter +
", failure=" + failure +
", expiresAt=" + expiresAt +
", deadLettered=" + deadLettered +
'}';
}
}

0 comments on commit acff8aa

Please sign in to comment.