If all u want to do is to start a long running conversation for each request(click on a link)
<s:conversationPropagation type="none"> </s:conversationPropagation>
into your ajax enabled link (a4j:commandLink for example)
and annotate the action method with
jBPM will do what you want.
If your use case is simple, you can achieve asynchronicity (
not hijacking the servlet thread) by using JMS. The component that handles the request posts a message to a queue. Then another component (a Message Driven Bean usually) receives the message, possibly at a later time, and executes the actual business logic, without blocking the original thread.
What I want to achieve is sending a SMS to many recipients (bulk sent)
The process containing data base interactions and HTTP request and it may a long time to finish.
I don't think JMS is an option (no plans to use MOM).
You can use an asynchronous method call (look at @Asynchronous in the docs).