<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sheila&#039;s Blog &#187; Uncategorized</title>
	<atom:link href="http://sheilapollard.com/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://sheilapollard.com</link>
	<description>Software Development</description>
	<lastBuildDate>Wed, 24 Mar 2010 17:19:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Using Chainsaw to tail your JBoss server log</title>
		<link>http://sheilapollard.com/2009/04/07/using-chainsaw-to-tail-your-jboss-server-log/?utm_campaign=feed&utm_medium=feed&utm_source=blog</link>
		<comments>http://sheilapollard.com/2009/04/07/using-chainsaw-to-tail-your-jboss-server-log/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 11:06:21 +0000</pubDate>
		<dc:creator>Sheila</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[chainsaw]]></category>
		<category><![CDATA[jboss]]></category>
		<category><![CDATA[log4j]]></category>
		<category><![CDATA[logging]]></category>

		<guid isPermaLink="false">http://sheilapollard.wordpress.com/?p=271</guid>
		<description><![CDATA[Log4j is a logging library from Apache.  It consists of loggers (log events) and appenders (a destination for a log message).  There&#8217;s always a rootLogger defined, plus however many other loggers you require.  A logger can have several appenders attached to it which can format and write the message to the console or a file [...]]]></description>
			<content:encoded><![CDATA[<p>Log4j is a logging library from Apache.  It consists of loggers (log events) and appenders (a destination for a log message).  There&#8217;s always a rootLogger defined, plus however many other loggers you require.  A logger can have several appenders attached to it which can format and write the message to the console or a file etc.  The logging levels are TRACE, DEBUG, INFO, WARN, ERROR and FATAL.</p>
<p>A default JBoss installation uses log4j for logging.  The log4j settings are configured in JBOSS_HOME\server\default\conf\jboss-log4j.xml which sends output to both the console and JBOSS_HOME\server\default\log\server.log</p>
<p><a href="http://sheilapollard.com/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2xvZ2dpbmcuYXBhY2hlLm9yZy9jaGFpbnNhdw==" target=\"_blank\">Chainsaw</a> is a GUI tool for parsing and analysing log files generated by log4j.  It allows you to read and filter events.  It can be used to tail the server.log file allowing you to filter the messages you see rather than searching through the log file in an editor.</p>
<p>You can download Chainsaw from <a href="http://sheilapollard.com/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2xvZ2dpbmcuYXBhY2hlLm9yZy9jaGFpbnNhdy9kb3dubG9hZC5odG1s" target=\"_blank\">here</a>.</p>
<p>Download the chainsawWebStart.jnlp file and open it up to start the Chainsaw Log viewer.</p>
<p><strong>Tailing a Log file</strong><br />
Create a file somewhere on your system to hold configuration information for chainsaw.</p>
<p>chainsaw-config.xml
<code>&lt;log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="true"&gt;

  &lt;plugin name="jboss" class="org.apache.log4j.varia.LogFilePatternReceiver"&gt;

    &lt;param name="fileURL" value="file:///c:/Applications/jboss-4.2.2.GA/server/default/log/server.log" /&gt;
    &lt;param name="timestampFormat" value="yyyy-MM-dd HH:mm:ss,SSS"/&gt;
    &lt;param name="logFormat" value="TIMESTAMP LEVEL [LOGGER] MESSAGE"/&gt;
  &lt;param name="name" value="alpha-jboss" /&gt;
  &lt;param name="tailing" value="true" /&gt;
  &lt;/plugin&gt;

  &lt;root&gt;
    &lt;level value="debug"/&gt;
   &lt;root&gt;

&lt;/log4j:configuration&gt;</code></p>
<p>Edit the filename to match where the jboss server.log is on your system.</p>
<p>Select the &#8216;view-show application wide preferences&#8217; menu.</p>
<p>In the automatic configuration url field, enter the URL to your config file.<code&gt;file:///c:/chainsaw-config.xml&lt;/code><br />
Select OK and restart Chainsaw.</p>
<p>You'll see the file load up ina new tab 'file/c:Applications/jboss-4.2.2.GA/server/default/log/server.log.</p>
<p>There's a dropdown menu that lets you filter the log entries from the most verbose TRACE up to FATAL errors only.</p>
<p><strong>Chainsaw basics:</strong><br />
The toolbar icons at the top let you pause the logging, configure what gets displayed and clear the screen of events among other things.  The first thing to get accustomed to is drilling through the log events to see the information you're interested in.  In the left pane you can move through the logging tree to select a particular logger.  Any messages from a Logger matching the one selected are highlighted in black.  You can then right click on the selected logger in the tree and choose either 'Focus on' to filter to just those events or 'Ignore' to exclude them.  Selecting a specific event gives you more detailed information in the lower pane.</p>
<br /><a href="http://sheilapollard.com/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3NoZWlsYXBvbGxhcmQud29yZHByZXNzLmNvbS8/cD0yNzEjY29tbWVudHM=" title=\"Comments on &quot;Using Chainsaw to tail your JBoss server log&quot;\"><img src="http://sheilapollard.com/wp-content/plugins/feed-comments-number/image.php?271" alt="Comments" /></a> <img src="http://sheilapollard.com/wp-content/plugins/feed-statistics.php?view=1&post_id=271" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://sheilapollard.com/2009/04/07/using-chainsaw-to-tail-your-jboss-server-log/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Loading a properties file in a java web app</title>
		<link>http://sheilapollard.com/2009/03/31/loading-a-properties-file-in-a-java-web-app/?utm_campaign=feed&utm_medium=feed&utm_source=blog</link>
		<comments>http://sheilapollard.com/2009/03/31/loading-a-properties-file-in-a-java-web-app/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 11:00:23 +0000</pubDate>
		<dc:creator>Sheila</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[properties]]></category>

		<guid isPermaLink="false">http://sheilapollard.wordpress.com/?p=222</guid>
		<description><![CDATA[You&#8217;ll often want to configure parameters in a properties file and read this into a class.
config.properties:
value.a=orange
value.b=apple
If you&#8217;re simply loading a file in a java program you can use:
Properties props = new Properties();
props.load(new FileInputStream("config.properties"));
String value = props.getProperty("value.a");
But when loading a property file in a web application you should package the file in your deployed archive and [...]]]></description>
			<content:encoded><![CDATA[<p>You&#8217;ll often want to configure parameters in a properties file and read this into a class.</p>
<p>config.properties:
<code>value.a=orange
value.b=apple</code></p>
<p>If you&#8217;re simply loading a file in a java program you can use:
<code>Properties props = new Properties();
props.load(new FileInputStream("config.properties"));
String value = props.getProperty("value.a");</code></p>
<p>But when loading a property file in a web application you should package the file in your deployed archive and load the file from the classpath.  This avoids problems with loading files from different locations on a file system.</p>
<p>build.xml: gen-jar-files target
<code>&lt;copy todir="${jar.dir}"&gt;
  &lt;fileset dir="${resources.dir}"&gt;
    &lt;include name="*.properties" /&gt;
  &lt;/fileset&gt;
&lt;/copy&gt;</code></p>
<p>This takes any properties files in the resources.dir and copies them into the jar file.  Now you can access the file within your application from the classpath:
<code>ClassLoader cl = this.getClass().getClassLoader();
InputStream is = cl.getResourceAsStream("config.properties");
Properties configProperties  = new Properties();
try {
  configProperties.load(is);
  String valueA = configProperties.getProperty("value.a");
} catch (IOException e) {
  e.printStackTrace();
}</code></p>
<br /><a href="http://sheilapollard.com/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3NoZWlsYXBvbGxhcmQud29yZHByZXNzLmNvbS8/cD0yMjIjY29tbWVudHM=" title=\"Comments on &quot;Loading a properties file in a java web app&quot;\"><img src="http://sheilapollard.com/wp-content/plugins/feed-comments-number/image.php?222" alt="Comments" /></a> <img src="http://sheilapollard.com/wp-content/plugins/feed-statistics.php?view=1&post_id=222" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://sheilapollard.com/2009/03/31/loading-a-properties-file-in-a-java-web-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automated Build &#8211; Database scripts</title>
		<link>http://sheilapollard.com/2009/03/25/automated-build-database-scripts/?utm_campaign=feed&utm_medium=feed&utm_source=blog</link>
		<comments>http://sheilapollard.com/2009/03/25/automated-build-database-scripts/#comments</comments>
		<pubDate>Wed, 25 Mar 2009 17:42:38 +0000</pubDate>
		<dc:creator>Sheila</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[automated build]]></category>
		<category><![CDATA[database scripts]]></category>

		<guid isPermaLink="false">http://sheilapollard.wordpress.com/?p=197</guid>
		<description><![CDATA[When you&#8217;re developing a project, you put all your java code into source control.  You should also include database scripts in source control.  These scripts can be used by developers to keep their local copies of the database up to date in the same way as they get the latest code from source control.
As part [...]]]></description>
			<content:encoded><![CDATA[<p>When you&#8217;re developing a project, you put all your java code into source control.  You should also include database scripts in source control.  These scripts can be used by developers to keep their local copies of the database up to date in the same way as they get the latest code from source control.</p>
<p>As part of your automated build system you should run the database scripts whenever there&#8217;s a change to keep your code and database in synch.  You can add the code into your existing build in a db folder or check it into source control separately.</p>
<p>You follow almost the same process whether adding scripts for mysql or oraclexe and can modify the scripts to cater for multiple schemas across different databases.   In this example we&#8217;ll cover the configuration for setting up the testdb schema in both oraclexe and mysql before writing the scripts for each.  This example assumes you already have both databases running locally on your machine.</p>
<p>To start with you create a PROJECT_HOME/db folder which contains:
<code>db/config
db/datasources
db/lib
db/oraclexe/testdb
db/mysql/testdb</code></p>
<p>In the lib folder add the connector jars for the databases eg.
<code>db/lib/oracle/ojdbc5.jar
db/lib/mysql/mysql-connector-java-5.1.6-bin.jar</code></p>
<p>In the config folder we need some property files to configure the build.
<code>db/config/mysql.properties
db/config/xe.properties
db/config/schema.properties</code></p>
<p>Schema.properties is used to configure the build depending on whether you want to just use oracle xe or mysql or use both.  In this example oraclexe is enabled and mysql is disabled.</p>
<p>schema.properties:
<code>##
## Use this property file to enable or disable the databases and
## schemas you want to run the build scripts against.
## Comment them out with a # if you don't want to enable a
## setting.

#Databases

xe.db.enable
xe.username=testdb
xe.password=testdb

#mysql.db.enable
#mysql.username=testdb
#mysql.password=testdb</code></p>
<p>The next two give the access details for your oracle xe and mysql databases.</p>
<p>mysql.properties:
<code># MySql Database Details
mysql.rootuser=root
mysql.rootpass=password
mysql.url=jdbc:mysql://localhost:3306
mysql.schema=testdb

mysql.driver=com.mysql.jdbc.Driver
mysql.user.location=localhost

mysql.create.tables.script=createTables.sql
mysql.drop.tables.script=dropTables.sql
mysql.populate.tables.script=populateTables.sql
mysql.testdata.script=testData.sql

print=false</code></p>
<p>xe.properties:
<code># Oracle XE Database Details
xe.rootuser=sys
xe.host=localhost
xe.sid=XE
xe.rootpass=password

xe.port=1521
xe.driver=oracle.jdbc.OracleDriver
xe.url=jdbc:oracle:thin:@${xe.host}:${xe.port}:${xe.sid}

xe.create.user.script=createUser.sql
xe.delete.user.script=dropUser.sql
xe.create.tables.script=createTables.sql
xe.drop.tables.script=dropTables.sql
xe.populate.tables.script=populateTables.sql
xe.testdata.script=testdata.sql

print=false</code></p>
<p>We start off with a master build.xml script in PROJECT_HOME which calls oraclexe/testdb/build-xe-testdb.xml and mysql/testdb/build-mysql-testdb.xml script.  The &#8216;ant dir&#8217; value specifies the directory the script to be called in, &#8216;antfile&#8217; gives the name of the script, and lastly you specify the target to be run in that script.</p>
<p>db/build.xml:
<code>&lt;?xml version="1.0"?&gt;

&lt;project basedir="." name="db-master-build" default="recreateTables"&gt;

  &lt;property name="build.dir" value="${basedir}/build" /&gt;

  &lt;target name="clean"&gt;
    &lt;delete dir="${build.dir}" failonerror="false" /&gt;
  &lt;/target&gt;

  &lt;target name="install" depends="createUsers,createTables,populateTables,testData" description="Creates all users and schemas for a fresh install" /&gt;

  &lt;target name="recreateTables" description="Refreshes the database tables for all schemas"&gt;
    &lt;ant dir="oraclexe/testdb" antfile="build-xe-testdb.xml" target="recreateTables" /&gt;
    &lt;ant dir="mysql/testdb" antfile="build-mysql-testdb.xml" target="recreateTables" /&gt;
  &lt;/target&gt;

  &lt;target name="createUsers" description="Creates users for all schemas"&gt;
    &lt;ant dir="oraclexe/testdb" antfile="build-xe-testdb.xml" target="createUser" /&gt;
    &lt;ant dir="mysql/testdb" antfile="build-mysql-testdb.xml" target="createUser" /&gt;
  &lt;/target&gt;

  &lt;target name="dropUsers" description="Drops users for all schemas"&gt;
    &lt;ant dir="oraclexe/testdb" antfile="build-xe-testdb.xml" target="dropUser" /&gt;
    &lt;ant dir="mysql/testdb" antfile="build-mysql-testdb.xml" target="dropUser" /&gt;
  &lt;/target&gt;

  &lt;target name="createTables" description="Creates Database Tables for all schemas"&gt;
    &lt;ant dir="oraclexe/testdb" antfile="build-xe-testdb.xml" target="createTables" /&gt;
    &lt;ant dir="mysql/testdb" antfile="build-mysql-testdb.xml" target="createTables" /&gt;
  &lt;/target&gt;

  &lt;target name="populateTables" description="Populates Database Tables for all schemas"&gt;
    &lt;ant dir="oraclexe/testdb" antfile="build-xe-testdb.xml" target="populateTables" /&gt;
    &lt;ant dir="mysql/testdb" antfile="build-mysql-testdb.xml" target="populateTables" /&gt;
  &lt;/target&gt;

  &lt;target name="dropTables" description="Drops Database Tables for all schemas"&gt;
    &lt;ant dir="oraclexe/testdb" antfile="build-xe-testdb.xml" target="dropTables" /&gt;
    &lt;ant dir="mysql/testdb" antfile="build-mysql-testdb.xml" target="dropTables" /&gt;
  &lt;/target&gt;

  &lt;target name="testData" description="Refreshes test data for all schemas"&gt;
    &lt;ant dir="oraclexe/testdb" antfile="build-xe-testdb.xml" target="testData" /&gt;
    &lt;ant dir="mysql/testdb" antfile="build-mysql-testdb.xml" target="testData" /&gt;
  &lt;/target&gt;

&lt;/project&gt;</code></p>
<p>The install target is used to create the database schemas from scratch &#8211; including the users.</p>
<p>The recreateTables target is the default and is used when the schemas and users already exist and you just want to drop and create the tables to pick up changes.</p>
<p>The rest of the targets can be called separately for creating tables, populating them with default data (eg. lists of countries that would always be needed for an application) adding some test data and deleting the tables again.</p>
<p>The next step is to add the <a href="http://sheilapollard.com/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3NoZWlsYXBvbGxhcmQuY29tLzIwMDkvMDMvMjcvYXV0b21hdGVkLWJ1aWxkLW9yYWNsZXhlLWRhdGFiYXNlLXNjcmlwdHMvP3V0bV9jYW1wYWlnbj1mZWVkJnV0bV9tZWRpdW09ZmVlZCZ1dG1fc291cmNlPWJsb2c=">oraclexe</a>-specific scripts and the <a href="http://sheilapollard.com/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3NoZWlsYXBvbGxhcmQuY29tLzIwMDkvMDMvMzAvYXV0b21hdGVkLWJ1aWxkLW15c3FsLWRhdGFiYXNlLXNjcmlwdHMv">mysql</a>-specific scripts.</p>
<br /><a href="http://sheilapollard.com/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3NoZWlsYXBvbGxhcmQud29yZHByZXNzLmNvbS8/cD0xOTcjY29tbWVudHM=" title=\"Comments on &quot;Automated Build &#8211; Database scripts&quot;\"><img src="http://sheilapollard.com/wp-content/plugins/feed-comments-number/image.php?197" alt="Comments" /></a> <img src="http://sheilapollard.com/wp-content/plugins/feed-statistics.php?view=1&post_id=197" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://sheilapollard.com/2009/03/25/automated-build-database-scripts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Serving static external content in JBoss</title>
		<link>http://sheilapollard.com/2009/03/10/serving-static-external-content-in-jboss/?utm_campaign=feed&utm_medium=feed&utm_source=blog</link>
		<comments>http://sheilapollard.com/2009/03/10/serving-static-external-content-in-jboss/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 11:47:56 +0000</pubDate>
		<dc:creator>Sheila</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[jboss]]></category>

		<guid isPermaLink="false">http://sheilapollard.wordpress.com/?p=14</guid>
		<description><![CDATA[To serve external static content in JBoss you need to add a Context element mapping the url eg. /application/test_data to the external folder as follows:
Edit /server/default/deploy/jbossweb-tomcat50.sar/server.xml and add a Context element just under the host tag.
&#60;host name="localhost"
autoDeploy="false" deployOnStartup="false" deployXML="false"
configClass="org.jboss.web.tomcat.security.config.JBossContextConfig"&#62;

&#60;Context path="/app/test_data" appBase=""
docBase="C:/test_data"
debug="99" reloadable="true"&#62;
&#60;/Context&#62;
Replace C:/test_data with the path to the folder on the server.
Redeploy the application to [...]]]></description>
			<content:encoded><![CDATA[<p>To serve external static content in JBoss you need to add a Context element mapping the url eg. /application/test_data to the external folder as follows:</p>
<p>Edit /server/default/deploy/jbossweb-tomcat50.sar/server.xml and add a Context element just under the host tag.
<code>&lt;host name="localhost"
autoDeploy="false" deployOnStartup="false" deployXML="false"
configClass="org.jboss.web.tomcat.security.config.JBossContextConfig"&gt;

&lt;Context path="/app/test_data" appBase=""
docBase="C:/test_data"
debug="99" reloadable="true"&gt;
&lt;/Context&gt;</code></p>
<p>Replace C:/test_data with the path to the folder on the server.</p>
<p>Redeploy the application to make sure that the config change has been picked up and then test that the files can be accessed.</p>
<p>Note: this content will be accessible without logging into the application if the url is known.</p>
<br /><a href="http://sheilapollard.com/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3NoZWlsYXBvbGxhcmQud29yZHByZXNzLmNvbS8/cD0xNCNjb21tZW50cw==" title=\"Comments on &quot;Serving static external content in JBoss&quot;\"><img src="http://sheilapollard.com/wp-content/plugins/feed-comments-number/image.php?14" alt="Comments" /></a> <img src="http://sheilapollard.com/wp-content/plugins/feed-statistics.php?view=1&post_id=14" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://sheilapollard.com/2009/03/10/serving-static-external-content-in-jboss/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Use a different compiler with ant&#8217;s javac task</title>
		<link>http://sheilapollard.com/2009/03/09/use-a-different-compiler-with-ants-javac-task/?utm_campaign=feed&utm_medium=feed&utm_source=blog</link>
		<comments>http://sheilapollard.com/2009/03/09/use-a-different-compiler-with-ants-javac-task/#comments</comments>
		<pubDate>Mon, 09 Mar 2009 14:16:14 +0000</pubDate>
		<dc:creator>Sheila</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ant]]></category>

		<guid isPermaLink="false">http://sheilapollard.wordpress.com/2009/03/09/use-a-different-compiler-with-ants-javac-task/</guid>
		<description><![CDATA[To ignore the JAVA_HOME settings and specify the compiler to use in ant&#8217;s javac task set the following properties:
build.properties:
# Set the jdk compiler properties
build.javac.executable=C:/Applications/Java/jdk1.5.0_13/bin/javac.exe

build.javac.compiler=javac1.5
Then in the build script use:
&#60;javac srcdir="${src.dir}" destdir="${classes.dir}"
classpath="${classpath}" debug="${debug.flag}"
fork="yes" executable="${build.javac.executable}"
compiler="${build.javac.compiler}"/&#62;
 ]]></description>
			<content:encoded><![CDATA[<p>To ignore the JAVA_HOME settings and specify the compiler to use in ant&#8217;s javac task set the following properties:</p>
<p><em>build.properties:</em>
<code># Set the jdk compiler properties
build.javac.executable=C:/Applications/Java/jdk1.5.0_13/bin/javac.exe

build.javac.compiler=javac1.5</code></p>
<p>Then in the build script use:
<code>&lt;javac srcdir="${src.dir}" destdir="${classes.dir}"
classpath="${classpath}" debug="${debug.flag}"
fork="yes" executable="${build.javac.executable}"
compiler="${build.javac.compiler}"/&gt;</code></p>
<br /><a href="http://sheilapollard.com/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3NoZWlsYXBvbGxhcmQud29yZHByZXNzLmNvbS8yMDA5LzAzLzA5L3VzZS1hLWRpZmZlcmVudC1jb21waWxlci13aXRoLWFudHMtamF2YWMtdGFzay8jY29tbWVudHM=" title=\"Comments on &quot;Use a different compiler with ant&#8217;s javac task&quot;\"><img src="http://sheilapollard.com/wp-content/plugins/feed-comments-number/image.php?16" alt="Comments" /></a> <img src="http://sheilapollard.com/wp-content/plugins/feed-statistics.php?view=1&post_id=16" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://sheilapollard.com/2009/03/09/use-a-different-compiler-with-ants-javac-task/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
