I'm looking for a sanity check for this scenario.
Requirement is to integrate a 3rd party application via a web service. The 3rd party client is a java front end to c++ code (jni) for a data cruncher. This data cruncher allocates up to 3GB of memory (cannot run on a 32bit system). In a typical use case, this data cruncher will need to be called ~75 times sequentially. Realizing that threading inside a JBoss AS is generally frowned upon, I can't come up with another option other than to:
Implement an asynchronous web service.
Pass the call to a static class that handles/queues the calls in a java.util.concurrent.ThreadPoolExecutor using a LinkedBlockingQueue with a pool size of 1 and an adequate queue size.
Notify the client via an RMI call (we are using Cajo for now, might be replaced by JMS in the future).