Tutorials : Run a Background Process in a Web Container Using Spring and ActiveMQ :

Run a Background Process in a Web Container Using Spring and ActiveMQ

by Alexander Prohorenko and Olexiy Prohorenko

If you're developing lightweight applications using Spring Framework inside a Web container (for instance, Tomcat), you probably occasionally need to to launch a "background" execution. You can do this fairly easily with a stand-alone Java application using threads, but you can't use threads in J2EE.

However, J2EE brings Java Message Service (JMS), a powerful tool with the ability to consume messages asynchronously with a message-driven bean. And nowadays, there are a lot of JMS servers—commercial and open source. So why not use JMS?

This article shows you how to create a Web application, complete with user's records with login, password, and email fields, work with those records (change, delete, list) and show you how to start mailing simple "Hello World" letters to all the created users in background—all without requiring the Web client to wait for the mailing to finish.

Requirements

First, you'll need to be pretty familiar with J2EE in general, Spring, Web containers, and JMS. You need to have some hands-on experience with developing Web applications. This article will describe how to accomplish certain goals—it's not a detailed documentation on why things need to be done this way or how the tools are working.

This articles uses:

  • The Spring Framework
  • ActiveMQ: this is a fast, open source JMS 1.1 provider. It supports clustering, peer networks, discovery, TCP, SSL, multicast, persistence, XA, and smooth, easy integration with containers and frameworks.
  • JavaMail API: This provides a platform- and protocol-independent framework upon which to build mail and messaging applications.
  • Hibernate: This is a powerful, ultra-high performance object/relational persistence and query service for Java.
  • MySQL Connector/J: This is a native Java driver that converts JDBC (Java Database Connectivity) calls into the network protocol used by the MySQL database.
  • JavaServer Pages Standard Tag Library: This encapsulates as simple tags the core functionality common to many Web applications.
You do not need to download these tools separately; they all are bundled into the example source code. However, to build and run the code, you will the following software:

How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.