I'm not sure if you're meaning batching when you're saying long running jobs. But we are developing two processes based in a proposed J2EE batch framework. You can get more detailed information o
from the article "High-volume Transaction Processing in J2EE" at http://www.devx.com/Java/Article/20791/0
. This framework divides the task essentially in two parts or interfaces: Chunker and Worker. Chunker produces chunks or partitions of data to be processed. This function is serial. And one or more Workers process de chunks of data. This function is possible to run in a parallel way on a application server. This design is very flexible and enables us scaling the solution in horizontal way by distributing the chunks processing on more application servers.
Job scheduling is not an issue for us in this moment because we have different alternatives to initiate the job. Nowadays we are concentrated to explore alternatives to the traditional shell script calling a C program that is serial in essence. We think this framework is a good alternative.
I hope this information may be useful for you.