I have checked in some new code in servicemix-bean to be able to handle InOut exchanges and acting as a consumer. However there are a few things that do not work yet and some things I did not find a clean way to handle.
We can now inject several stuff using @Resource annotation (not yet JNDI references), mainly a ComponentContext and a DeliveryChannel. @PostConstruct is also supported, but I think we need to have scoped beans and create new beans for each request received (or maybe pool them). There is a Callback annotation which has a condition expression evaluated using jexl each time an consumer exchange is received (i.e. a response to an InOut or a DONE status of an InOnly exchange that the bean has created and sent). The condition is evaluated using jexl. But we need to find a way to not call the same condition several times (maybe keep the old evaluation result and only call the callback when the value changes from false to true). Last, I haven't coded yet how to return the response when using an InOut request. And we also need a way to receive / throw faults. Ideas ? -- Cheers, Guillaume Nodet