Question: I have an application (to be precise its a Batch job),
Shell script --> Executes 12 instances of Java Class (each instance is invoked using different parameters but same Java class for all of 'em)
This Java application (called JobStarter.java) uses java.util.TimerTask, which does processing every 15 mins and sleeps during remaining time.
This processes runs on Solaris server (2 GB RAM) and occupies around 55% (on avg) of Memory all the time. When 15 mins job runs, CPU hits 48% and stays there for 10 mins (on avg) and sleeps back again.
But these 12 concurrent JobStarter's does lot of processing in terms of parsing and creating XML's (around 30 XML's of each 2 MB size / JobStarter) at every 15 mins.
First of all, is this reasonable performance? If its really horrible, what are the ways to improve it? Is TimerTask overkill?