The Java Service Launcher is a small executable to start JAVA-programs as a Service under 32bit versions of Windows NT 4, Windows 2000, Windows 2003 and XP.
I used it successfully to run background services to maintain index files. See it at: http://www.roeschter.com/index.html
As I really need to run scheduled tasks in the background, say each 1 hour, I found Quartz a better solution.
Quartz is a full-featured, open source job scheduling system that can be integrated with, or used along side virtually any J2EE or J2SE application – from the smallest stand-alone application to the largest e-commerce system. Quartz can be used to create simple or complex schedules for executing tens, hundreds, or even tens-of-thousands of jobs; jobs whose tasks are defined as standard Java components or EJBs. The Quartz Scheduler includes many enterprise-class features, such as JTA transactions and clustering.
I am not yet used Quartz, but it is in my TODO list.