We would like to have the capability to intercept prior to the action pipeline the Message, globally. This will lay the foundation for being able to hook in global interceptors for global exception handling, business activity monitoring, and service analytics.
When the interceptor is executed for the service, it would be helpful to send in not just the Message, but information on the current service (name, etc) as well. This may include which adapter the message is arriving on, what the service name and category is, etc. We have tried in the past to create something like this for a client using AOP, but couldn't achieve it this way, as JBoss AOP has some serious limitations in the Enterprise offerings.
It would be also great if the interceptor had the capability to read the full configuration of the service to know what listeners are provided. This could be used in the future to log inputs for services to a service registry.
In addition to the hooks for this in the Action Pipeline code, we would also need to have a globally defined configuration for interceptors.
The background behind this request is that often times, clients need to do analytics over service request / response times, or need to globally define rules for Exception Handling, or need to intercept input and output messages for auditing. We are hoping that this feature would facilitate all of these by allowing Red Hat to start shipping generic implementations for these things incrementally, and also enabling customers to craft their own to meet specific business needs.