Hey Barry,
you're talking about scheduled jobs. With scheduled jobs external trigger
may work well.
In our apps we're using embedded Quartz and anjlab-tapestry-quartz [1] for
scheduled jobs to do the same without external process like Jenkins. We've
implemented simple REST interface to get quartz
While it does create a separate process I run my batch jobs with Jenkins.
The jobs are just pages so you don't have weird lifecycle problems and they
are easy to test because you can just go to the page. Your load balancer
will distribute the load, you get history and you don't need to write any
co