Quite an epic change set (sorry). Highlights include:
Introduced a number of different implementations of the newMessageClassifier interface (previously there was only a single MessageClassifier - now know as ExecutingMessageClassifier ), implementations include:
MessageClassifierGroup - An ordered collection of MessageClassifiers
DelegatingMessageClassifier - If the given FailedMessagePredicate equates to true then execute the supplied
MessageClassifier
ExecutingMessageClassifier - If the given FailedMessagePredicate equates to true then execute the supplied FailedMessageAction.
UnmatchedMessageClassifier - Always returns unmatched. Used mainly for testing.
Changes to the MessageClassificationClient providing an endpoint to allow either a FailedMessageId or a FailedMessage to be classified "in-memory" (i.e. the FailedMessageAction will not be executed). This returns a MessageClassificationOutcomeResponse which allows the user to see which MessageClassifer's were executed and what the outcome was.
Cosmetic changes:
Centralising ObjectMapper configuration to simplify testing (moved from new ObjectMapper(); to JacksonConfiguration.defaultObjectMapper();)
Renamed MessageClassifierRepository to MessageClassificationRepository
Fixed incorrect package for FailedMessageResponseMatcher
Improved test coverage in dao-mongo-test support (MongoDatabaseCleanerTest, MongoDatabaseLoggerTest etc)
Quite an epic change set (sorry). Highlights include:
MessageClassifier
interface (previously there was only a singleMessageClassifier
- now know asExecutingMessageClassifier
), implementations include:MessageClassifierGroup
- An ordered collection ofMessageClassifiers
DelegatingMessageClassifier
- If the givenFailedMessagePredicate
equates to true then execute the suppliedMessageClassifier
ExecutingMessageClassifier
- If the givenFailedMessagePredicate
equates to true then execute the suppliedFailedMessageAction
.UnmatchedMessageClassifier
- Always returns unmatched. Used mainly for testing.MessageClassificationClient
providing an endpoint to allow either aFailedMessageId
or aFailedMessage
to be classified "in-memory" (i.e. theFailedMessageAction
will not be executed). This returns aMessageClassificationOutcomeResponse
which allows the user to see whichMessageClassifer
's were executed and what the outcome was.Cosmetic changes:
ObjectMapper
configuration to simplify testing (moved fromnew ObjectMapper();
toJacksonConfiguration.defaultObjectMapper();
)MessageClassifierRepository
toMessageClassificationRepository
FailedMessageResponseMatcher
MongoDatabaseCleanerTest
,MongoDatabaseLoggerTest
etc)