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).
Wink, wink, nudge, nudge, say no more, it's a tiny ad: