Ascent Phase.org Site

Simple UI Toolkit

The files for suit are hosted on the Sourceforge website and are available in tarball and zip format. Anonymous CVS access is available if you prefer to download the latest source tree.
Files: Sourceforge
CVS: Sourceforge

PooliT

The files for PooliT are hosted on the Sourceforge website and are available in tarball and zip format. Anonymous CVS access is available if you prefer to download the latest source tree.
Files: Sourceforge
CVS: Sourceforge

Patch for QuartzPlugin for struts

We have found the QuartzPlugin for struts, available from JGSullivan, a handy extension to the struts framework, tying together two powerful tools. However, minor changes were required to accomplish the tasks involved in one of our projects.

The changes to the source code, available as a patch file, provide the following features and fixes:

  • The struts ActionServlet is exposed in the scheduler context and may be obtained from the JobExecutionContext as follows:
    ActionServlet servlet =
        (ActionServlet)context.getScheduler().getContext().get(
            QuartzPlugIn.PLUGIN_KEY);
    
    where context is a reference to the JobExecutionContext instance. This allows you to create jobs that are scheduled by the QuartzPlugIn and that interact with the ActionServlet. In our case, we have a job that periodically performs database updates using one of the pooled JDBC connections from the ActionServlet.
  • The scheduler is shutdown when the QuartzPlugIn is destroyed. This ensures that when struts is shutdown, all threads spawned by the scheduler are stopped to allow a clean shutdown of the servlet container. In our case, tomcat was not exiting fully because the scheduler threads were still active.

To apply the patch, download and extract the source code from JGSullivan and run the following patch command from the parent directory (containing jgs-struts-0.2-dev/):

#$ ls
jgs-struts-0.2-dev
jgs-struts.patch
#$ patch -p0 -c < jgs-struts.patch

Patch for CocoonPlugin for struts

Another useful extension to struts is the CocoonPlugin, available from the Struts Applications site. The latest version (0.2 at the time of this writing) does not compile with more recent versions of Cocoon because of more recent changes to the logging libraries.

Our changes to the source code, available as a patch file, fix the following issues:

  • The logging classes have been updated to the more recent API now used with Cocoon.
  • The handler is destroyed when the CocoonPlugin in destroyed. This ensures that when struts is shutdown, all threads spawned by the handler are stopped to allow a clean shutdown of the servlet container. In our case, tomcat was not exiting fully because the cocoon handler threads were still active.

To apply the patch, download and extract the source code from the Struts Applications site and run the following patch command from the directory containing the src directory:

#src/$ patch -p0 -c < struts-cocoon.patch