CFMX and Java Servlet Integration
Recently, I was investigating how to integrate CFMX and Java Servlets.
I found that I needed to cycle the CFMX application after each change to my Java classes. In order to make this process less onerous I developed the following ant build file. You’ll notice that the CFMX log files are deleted. This was done so that I didn’t have to wade through large files in order to find the messages related to whatever change I was making at the time. You might also notice that I’ve added a four second delay before each delete task. This delay gives the operating system time to write its buffers to disk and close the files after the service has been stopped.</p>
<project name="dispatcher" default="" basedir="."> <property name="cfmx.home" value="c:/CFusionMX" /> <property name="cfmx.runtime-log.dir" value="${cfmx.home}/runtime/logs" /> <property name="cfmx.log.dir" value="${cfmx.home}/logs" /> <property name="cfmx.service" value="ColdFusion MX Application Server" /> <property name="apache.home" value="D:/Program Files/Apache Group/Apache" /> <property name="apache.service" value="Apache" /> <property name="apache.log.dir" value="${apache.home}/logs" /> <property name="login.url" value="http://localhost/login.cfm?userid=david&password=password" /> <property name="temp.dir" value="${user.home}/Temp" /> <target name="restart_cfmx" description="Deploys Dispatcher servlet to CFMX."> <exec executable="c:/WINNT/system32/net.exe"> <arg value="stop" /> <arg value="${cfmx.service}" /> </exec> <echo>Sleeping for 4 seconds.</echo> <sleep seconds="4"/> <!-- delete CFMX log files --> <delete> <fileset dir="${cfmx.log.dir}" includes="*.log"/> <fileset dir="${cfmx.runtime-log.dir}" includes="*.log"/> </delete> <exec executable="c:/WINNT/system32/net.exe"> <arg value="start" /> <arg value="${cfmx.service}" /> </exec> <echo>Sleeping for 4 seconds.</echo> <sleep seconds="4"/> <get src="${login.url}" dest="${temp.dir}" /> <echo>Done!</echo> </target> <target name="restart_apache" description="Deploys Dispatcher servlet to CFMX."> <exec executable="c:/WINNT/system32/net.exe"> <arg value="stop" /> <arg value="${cfmx.service}" /> </exec> <echo>Sleeping for 4 seconds.</echo> <sleep seconds="4"/> <!-- delete CFMX log files --> <delete> <fileset dir="${cfmx.log.dir}" includes="*.log"/> <fileset dir="${cfmx.runtime-log.dir}" includes="*.log"/> </delete> <exec executable="c:/WINNT/system32/net.exe"> <arg value="stop" /> <arg value="${apache.service}" /> </exec> <echo>Sleeping for 4 seconds.</echo> <sleep seconds="4"/> <!-- delete Apache log files --> <delete> <fileset dir="${apache.log.dir}" includes="*.log"/> </delete> <exec executable="c:/WINNT/system32/net.exe"> <arg value="start" /> <arg value="${apache.service}" /> </exec> <exec executable="c:/WINNT/system32/net.exe"> <arg value="start" /> <arg value="${cfmx.service}" /> </exec> <echo>Sleeping for 4 seconds.</echo> <sleep seconds="4"/> <get src="${login.url}" dest="${temp.dir}" /> <echo>Done!</echo> </target> </project>