Skip to content

Implement MessagePublishingInterceptor [INT-28] #4046

@spring-operator

Description

@spring-operator

Mark Fisher opened INT-28 and commented

This issue was deferred from the 1.0.x roadmap, because the use of EL will provide a much better experience for mapping arguments, return values, and exceptions to the Message to be published. I am re-opening and assigning to 2.0-M1 now that we depend on Spring 3.0 and have the EL support.

This was the original description back in the early milestones (things will be a bit different now because of EL - see the version in the sandbox for a rough idea):
"The MessagePublishingInterceptor will serve as an AOP-driven messaging gateway - providing a setter for the output channel. It should also allow for configuration of the type of interception (before or after) as well as an optional Message-preparing/payload-extracting strategy. For 'before' interception (e.g. auditing), the MethodInvocation itself would be passed as Message payload, unless a payload extractor is provided. For 'after' interception, the default behavior (when no payload extractor is provided) will depend on the message outcome: if the method returns successfully, the return value will be passed as the Message payload, but if the method throws an exception, the exception will be the payload (of an ErrorMessage). The sending of ErrorMessages should probably be configurable - minimally with a simple enable/disable boolean flag. The default interception type should most likely be 'after'."


Sub-tasks:

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions