batchserver-cvs Mailing List for Enterprise Batch Server (Page 3)
Brought to you by:
suresh_pragada
You can subscribe to this list here.
2006 |
Jan
|
Feb
(10) |
Mar
(159) |
Apr
(5) |
May
(52) |
Jun
(70) |
Jul
|
Aug
(28) |
Sep
(256) |
Oct
(38) |
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Suresh <sur...@us...> - 2006-09-20 12:53:40
|
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batch/framework/management In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv20357/framework/management Modified Files: JobConnectorHelper.java Log Message: no message Index: JobConnectorHelper.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batch/framework/management/JobConnectorHelper.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** JobConnectorHelper.java 19 Sep 2006 22:51:28 -0000 1.2 --- JobConnectorHelper.java 20 Sep 2006 12:53:37 -0000 1.3 *************** *** 65,69 **** * implementation class cannot be accessed or instantiated. */ ! public static synchronized JobConnectorHelper getJobConnectorHelper(JobConnectorConfig jobConnectorConfig, JobManagementAgent agent) { logger.trace("Entering getJobConnectorHelper"); --- 65,69 ---- * implementation class cannot be accessed or instantiated. */ ! public static JobConnectorHelper getJobConnectorHelper(JobConnectorConfig jobConnectorConfig, JobManagementAgent agent) { logger.trace("Entering getJobConnectorHelper"); |
From: Suresh <sur...@us...> - 2006-09-20 12:53:40
|
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batch/framework In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv20357/framework Modified Files: LoggingManager.java Log Message: no message Index: LoggingManager.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batch/framework/LoggingManager.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** LoggingManager.java 15 Sep 2006 20:05:44 -0000 1.1 --- LoggingManager.java 20 Sep 2006 12:53:37 -0000 1.2 *************** *** 137,141 **** * @throws ConfigurationException If logging directory cannot be created. */ ! public static synchronized void initializeFrameworkLogging(FrameworkLoggingConfig frameworkLoggingConfig, Main loggingInitalizer) { if(!(loggingInitalizer instanceof Main)) --- 137,141 ---- * @throws ConfigurationException If logging directory cannot be created. */ ! public static void initializeFrameworkLogging(FrameworkLoggingConfig frameworkLoggingConfig, Main loggingInitalizer) { if(!(loggingInitalizer instanceof Main)) |
From: Suresh <sur...@us...> - 2006-09-20 02:44:08
|
Update of /cvsroot/batchserver/batchserver/test/org/jmonks/batch/framework/repository/jdbc In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv4002/repository/jdbc Modified Files: MySQLJdbcRepositoryTest.java OracleJdbcRepositoryTest.java Log Message: no message Index: OracleJdbcRepositoryTest.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/test/org/jmonks/batch/framework/repository/jdbc/OracleJdbcRepositoryTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** OracleJdbcRepositoryTest.java 15 Sep 2006 20:27:14 -0000 1.1 --- OracleJdbcRepositoryTest.java 20 Sep 2006 02:44:05 -0000 1.2 *************** *** 51,58 **** { TestSuite suite = new TestSuite(); ! suite.addTest(new OracleJdbcRepositoryTest("testInit")); ! suite.addTest(new OracleJdbcRepositoryTest("testJobDataTransfer")); ! suite.addTest(new OracleJdbcRepositoryTest("testLogStatistics")); ! suite.addTest(new OracleJdbcRepositoryTest("testJobMgmtMntrInfo")); return suite; } --- 51,61 ---- { TestSuite suite = new TestSuite(); ! if(OracleJdbcRepositoryTest.isOracleDBStarted()) ! { ! suite.addTest(new OracleJdbcRepositoryTest("testInit")); ! suite.addTest(new OracleJdbcRepositoryTest("testJobDataTransfer")); ! suite.addTest(new OracleJdbcRepositoryTest("testLogStatistics")); ! suite.addTest(new OracleJdbcRepositoryTest("testJobMgmtMntrInfo")); ! } return suite; } *************** *** 308,310 **** --- 311,335 ---- } + + private static boolean isOracleDBStarted() + { + boolean started=false; + try + { + Map configMap=new HashMap(); + configMap.put(JdbcConnectionHelper.PROPERTY_JDBC_DRIVER_CLASS_NAME, "oracle.jdbc.driver.OracleDriver"); + configMap.put(JdbcConnectionHelper.PROPERTY_JDBC_URL, "jdbc:oracle:thin:@hostname:1521:myinstance"); + configMap.put(JdbcConnectionHelper.PROPERTY_DATABASE_USER_NAME, "scott"); + configMap.put(JdbcConnectionHelper.PROPERTY_DATABASE_PASSWORD, "tiger"); + Connection connection=JdbcConnectionHelper.getConnection(configMap); + if(connection!=null) + started=true; + } + catch(Throwable exception) + { + started=false; + } + return started; + } + } Index: MySQLJdbcRepositoryTest.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/test/org/jmonks/batch/framework/repository/jdbc/MySQLJdbcRepositoryTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MySQLJdbcRepositoryTest.java 15 Sep 2006 20:27:14 -0000 1.1 --- MySQLJdbcRepositoryTest.java 20 Sep 2006 02:44:05 -0000 1.2 *************** *** 49,56 **** { TestSuite suite = new TestSuite(); ! suite.addTest(new MySQLJdbcRepositoryTest("testInit")); ! suite.addTest(new MySQLJdbcRepositoryTest("testJobDataTransfer")); ! suite.addTest(new MySQLJdbcRepositoryTest("testLogStatistics")); ! suite.addTest(new MySQLJdbcRepositoryTest("testJobMgmtMntrInfo")); return suite; } --- 49,59 ---- { TestSuite suite = new TestSuite(); ! if(MySQLJdbcRepositoryTest.isMySqlDBStarted()) ! { ! suite.addTest(new MySQLJdbcRepositoryTest("testInit")); ! suite.addTest(new MySQLJdbcRepositoryTest("testJobDataTransfer")); ! suite.addTest(new MySQLJdbcRepositoryTest("testLogStatistics")); ! suite.addTest(new MySQLJdbcRepositoryTest("testJobMgmtMntrInfo")); ! } return suite; } *************** *** 302,304 **** --- 305,329 ---- } + + private static boolean isMySqlDBStarted() + { + boolean started=false; + try + { + Map configMap=new HashMap(); + configMap.put(JdbcConnectionHelper.PROPERTY_JDBC_DRIVER_CLASS_NAME, "com.mysql.jdbc.Driver"); + configMap.put(JdbcConnectionHelper.PROPERTY_JDBC_URL, "jdbc:mysql://localhost:3306/batchserver"); + configMap.put(JdbcConnectionHelper.PROPERTY_DATABASE_USER_NAME, "root"); + configMap.put(JdbcConnectionHelper.PROPERTY_DATABASE_PASSWORD, "ramesh"); + Connection connection=JdbcConnectionHelper.getConnection(configMap); + if(connection!=null) + started=true; + } + catch(Throwable exception) + { + started=false; + } + return started; + } + } |
From: Suresh <sur...@us...> - 2006-09-20 02:44:08
|
Update of /cvsroot/batchserver/batchserver/test/org/jmonks/batch/framework/util In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv4002/util Modified Files: JdbcConnectionHelperTest.java Log Message: no message Index: JdbcConnectionHelperTest.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/test/org/jmonks/batch/framework/util/JdbcConnectionHelperTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** JdbcConnectionHelperTest.java 15 Sep 2006 20:22:13 -0000 1.1 --- JdbcConnectionHelperTest.java 20 Sep 2006 02:44:05 -0000 1.2 *************** *** 39,44 **** { TestSuite suite = new TestSuite(); ! suite.addTest(new JdbcConnectionHelperTest("testGetConnection")); ! suite.addTest(new JdbcConnectionHelperTest("testCloseConnection")); return suite; } --- 39,47 ---- { TestSuite suite = new TestSuite(); ! if(JdbcConnectionHelperTest.isMySqlDBStarted()) ! { ! suite.addTest(new JdbcConnectionHelperTest("testGetConnection")); ! suite.addTest(new JdbcConnectionHelperTest("testCloseConnection")); ! } return suite; } *************** *** 92,95 **** --- 95,119 ---- } } + + private static boolean isMySqlDBStarted() + { + boolean started=false; + try + { + Map configMap=new HashMap(); + configMap.put(JdbcConnectionHelper.PROPERTY_JDBC_DRIVER_CLASS_NAME, "com.mysql.jdbc.Driver"); + configMap.put(JdbcConnectionHelper.PROPERTY_JDBC_URL, "jdbc:mysql://localhost:3306/batchserver"); + configMap.put(JdbcConnectionHelper.PROPERTY_DATABASE_USER_NAME, "root"); + configMap.put(JdbcConnectionHelper.PROPERTY_DATABASE_PASSWORD, "ramesh"); + Connection connection=JdbcConnectionHelper.getConnection(configMap); + if(connection!=null) + started=true; + } + catch(Throwable exception) + { + started=false; + } + return started; + } } |
From: Suresh <sur...@us...> - 2006-09-20 02:43:29
|
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batch/framework/controller/pool In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv3833 Modified Files: AbstractPoolJobLoader.java PoolJobLoader.java PoolJobProcessor.java Log Message: no message Index: PoolJobProcessor.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batch/framework/controller/pool/PoolJobProcessor.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** PoolJobProcessor.java 15 Sep 2006 20:06:49 -0000 1.1 --- PoolJobProcessor.java 20 Sep 2006 02:43:27 -0000 1.2 *************** *** 9,12 **** --- 9,30 ---- * processes it. Along with the processing methods, it exposes some methods used * by management and monitoring clients. + * <br> + * <pre> + * public class MyPoolJobProcessor implements PoolJobProcessor + * { + * public ErrorCode processPool(JobContext jobContext, JobPool pool) + * { + * Object jobData=null; + * while((jobData=pool.getNextJobData())!=null) + * { + * // Perform the business logic on jobData + * } + * + * return ErrorCode.JOB_COMPLETED_SUCCESSFULLY; + * } + * + * // Implement all the other management and monitoring APIs. + * } + * </pre> * </p> * *************** *** 20,42 **** * <p> * Process the job data available in the job pool until the job loader done loading ! * of all the job data. JobContext reference provides the access to ! * many different resources in the framework. Following is an examples shows ! * the sample implementation of processPool method. ! * <br><br> ! * <pre> ! * public class MyPoolJobProcessor implements PoolJobProcessor ! * { ! * public ErrorCode processPool(JobContext jobContext, JobPool pool) ! * { ! * Object jobData=null; ! * while((jobData=pool.getNextJobData())!=null) ! * { ! * // Perform the business logic on jobData ! * } ! * ! * return ErrorCode.JOB_COMPLETED_SUCCESSFULLY; ! * } ! * } ! * </pre> * </p> * --- 38,44 ---- * <p> * Process the job data available in the job pool until the job loader done loading ! * of all the job data into the pool. JobContext reference provides the access to ! * many different resources in the framework. Return the final error code inditcating ! * the status of this processor. * </p> * Index: AbstractPoolJobLoader.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batch/framework/controller/pool/AbstractPoolJobLoader.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** AbstractPoolJobLoader.java 15 Sep 2006 20:06:49 -0000 1.1 --- AbstractPoolJobLoader.java 20 Sep 2006 02:43:27 -0000 1.2 *************** *** 20,25 **** * <p> * AbstractPoolJobLoader implements all the management and monitoring methods ! * and abstracts the user from the job pool. This allows the loader implementation ! * to concentrate on the business logic. * </p> * --- 20,47 ---- * <p> * AbstractPoolJobLoader implements all the management and monitoring methods ! * and abstracts the user from the job pool. This allows the loader implementers ! * to concentrate on the business logic. Following is an example, how to write ! * your own loader by using AbstractPoolJobLoader. ! * <br> ! * <pre> ! * public class MyPoolJobLoader extends AbstractPoolJobLoader ! * { ! * public ErrorCode loadPool(JobContext jobContext) ! * { ! * for(int i=0;i<100;i++) ! * { ! * loadJobData(new Integer(i)); ! * if(super.stopLoading()) ! * { ! * doCleanup(); ! * super.loaderStatus=ProcessorStatus.STOPPED; ! * break; ! * } ! * } ! * loadJobData(null); ! * return ErrorCode.JOB_COMPLETED_SUCCESSFULLY; ! * } ! * } ! * </pre> * </p> * *************** *** 207,232 **** * Load the job data into the pool that needs to be processed by job processor(s). * Implementers can take the help of the <i>loadJobData(Object)</i> method defined ! * here to load the jobs into the pool. ! * <br> ! * <pre> ! * public class MyPoolJobLoader extends AbstractPoolJobLoader ! * { ! * public ErrorCode loadPool(JobContext jobContext) ! * { ! * for(int i=0;i<100;i++) ! * { ! * loadJobData(new Integer(i)); ! * if(super.stopLoading()) ! * { ! * doCleanup(); ! * super.loaderStatus=ProcessorStatus.STOPPED; ! * break; ! * } ! * } ! * loadJobData(null); ! * return ErrorCode.JOB_COMPLETED_SUCCESSFULLY; ! * } ! * } ! * </pre> * </p> * --- 229,234 ---- * Load the job data into the pool that needs to be processed by job processor(s). * Implementers can take the help of the <i>loadJobData(Object)</i> method defined ! * here to load the jobs into the pool. Please see the example given in class ! * description to how to implement the <i>loadPool</i> method. * </p> * Index: PoolJobLoader.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batch/framework/controller/pool/PoolJobLoader.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** PoolJobLoader.java 15 Sep 2006 20:06:49 -0000 1.1 --- PoolJobLoader.java 20 Sep 2006 02:43:27 -0000 1.2 *************** *** 9,13 **** * PoolJobProcessor(s). Along with the methods to load job data into the * pool, it exposes the some other methods used by the management and ! * monitoring clients. * </p> * --- 9,30 ---- * PoolJobProcessor(s). Along with the methods to load job data into the * pool, it exposes the some other methods used by the management and ! * monitoring clients. ! * <br> ! * Example loading the 100 integer objects into the pool. ! * <pre> ! * public class MyPoolJobLoader implements PoolJobLoader ! * { ! * public ErrorCode loadPool(JobContext jobContext, JobPool pool) ! * { ! * for(int i=0;i<100;i++) ! * pool.loadJobData(new Integer(i)); ! * pool.loadJobData(null); ! * ! * return ErrorCode.JOB_COMPLETED_SUCCESSFULLY ! * } ! * ! * // Implement all the other management and monitor APIs. ! * } ! * </pre> * </p> * *************** *** 21,43 **** * <p> * Loads the job data that needs to be processed in to the job pool. ! * When finished loading of all the job data, loads the <i>null</i> into the pool ! * to singal the processor(s) that loading of all the jobs have been done. * Configuration defined for this loader in job configuration can be accessed * using job context reference. - * <br> - * Example loading the 100 integer objects into the pool. - * <pre> - * public class MyPoolJobLoader implements PoolJobLoader - * { - * public ErrorCode loadPool(JobContext jobContext, JobPool pool) - * { - * for(int i=0;i<100;i++) - * pool.loadJobData(new Integer(i)); - * pool.loadJobData(null); - * - * return ErrorCode.JOB_COMPLETED_SUCCESSFULLY - * } - * } - * <pre> * </p> * --- 38,45 ---- * <p> * Loads the job data that needs to be processed in to the job pool. ! * When finished loading of all the job data, load <i>null</i> into the pool ! * to singal the processor(s) that loading of all the jobData has been done. * Configuration defined for this loader in job configuration can be accessed * using job context reference. * </p> * |
From: Suresh <sur...@us...> - 2006-09-20 02:43:16
|
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batch/framework/controller/basic In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv3817 Modified Files: BasicJobProcessor.java Log Message: no message Index: BasicJobProcessor.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batch/framework/controller/basic/BasicJobProcessor.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** BasicJobProcessor.java 15 Sep 2006 20:06:39 -0000 1.1 --- BasicJobProcessor.java 20 Sep 2006 02:43:13 -0000 1.2 *************** *** 9,12 **** --- 9,23 ---- * BasicJobProcessor lets job developers to implement their business logic * in the process method and this method will be executed by the BasicJobController. + * <br> + * <pre> + * public class MyBasicJobProcessor extends BasicJobProcessor + * { + * public ErrorCode process(JobContext jobContext) + * { + * //Perform the business logic. + * return ErrorCode.JOB_COMPLETED_SUCCESSFULLY; + * } + * } + * </pre> * </p> * *************** *** 129,143 **** * Does the processing and return the appropriate error code. Properties * configured for this job processor can be retrieved from the JobContext. - * <br> - * <pre> - * public class MyBasicJobProcessor extends BasicJobProcessor - * { - * public ErrorCode process(JobContext jobContext) - * { - * //Perform the business logic. - * return ErrorCode.JOB_COMPLETED_SUCCESSFULLY; - * } - * } - * </pre> * </p> * --- 140,143 ---- |
From: Suresh <sur...@us...> - 2006-09-20 02:42:39
|
Update of /cvsroot/batchserver/batchserver In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv3399 Modified Files: build_framework.xml Log Message: no message Index: build_framework.xml =================================================================== RCS file: /cvsroot/batchserver/batchserver/build_framework.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** build_framework.xml 19 Sep 2006 22:52:20 -0000 1.4 --- build_framework.xml 20 Sep 2006 02:42:37 -0000 1.5 *************** *** 11,14 **** --- 11,15 ---- <property name="build.home" value="${basedir}/build"/> <property name="dist.home" value="${basedir}/dist"/> + <property name="bin.home" value="${basedir}/bin"/> <property name="docs.home" value="${basedir}/docs"/> <property name="src.home" value="${basedir}/src"/> *************** *** 67,70 **** --- 68,72 ---- <path refid="test.compile.classpath"/> <pathelement location="${build.home}/test"/> + <pathelement location="${conf.home}"/> </path> <property name="test.runtime.classpath" refid="test.runtime.classpath"/> *************** *** 162,166 **** </copy> <replace file="${dist.home}/conf/framework-config.xml" token="test-batch-config" value="batch-config"/> ! <!-- Create application JAR file --> --- 164,176 ---- </copy> <replace file="${dist.home}/conf/framework-config.xml" token="test-batch-config" value="batch-config"/> ! ! <mkdir dir="${dist.home}/bin/scripts"/> ! <copy todir="${dist.home}/bin/scripts"> ! <fileset dir="${bin.home}/dbscripts"> ! <include name="mysql/*.sql"/> ! <include name="oracle/*.sql"/> ! </fileset> ! </copy> ! <!-- Create application JAR file --> *************** *** 210,214 **** <echo message="Classpath for test compilation : ${test.compile.classpath}"/> ! <javac srcdir="${test.home}" destdir="${build.home}/test" debug="${compile.debug}" --- 220,224 ---- <echo message="Classpath for test compilation : ${test.compile.classpath}"/> ! <javac srcdir="${test.home}/org/jmonks/batch/framework" destdir="${build.home}/test" debug="${compile.debug}" *************** *** 230,234 **** <!-- ==================== Run Framework Test Suite Target ===================================== --> ! <target name="run-framework-test-suite" depends="test-compile" description="Run Framework Test Suite"> <!-- Make sure you have junit jar and junit ant jar in ant lib directory --> <echo message="Running Framework Test Suite"/> --- 240,244 ---- <!-- ==================== Run Framework Test Suite Target ===================================== --> ! <target name="run-framework-test-suite" depends="test-clean-compile" description="Run Framework Test Suite"> <!-- Make sure you have junit jar and junit ant jar in ant lib directory --> <echo message="Running Framework Test Suite"/> *************** *** 241,245 **** <formatter type="xml" usefile="true"/> <!-- <formatter type="plain" usefile="false"/> --> ! <test name="org.jmonks.batchserver.framework.FrameworkTestSuite" todir="${reports.home}"/> </junit> </target> --- 251,255 ---- <formatter type="xml" usefile="true"/> <!-- <formatter type="plain" usefile="false"/> --> ! <test name="org.jmonks.batch.framework.FrameworkTestSuite" todir="${reports.home}"/> </junit> </target> |
From: Suresh <sur...@us...> - 2006-09-20 02:42:19
|
Update of /cvsroot/batchserver/batchserver/conf In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv3380 Modified Files: batch-config.xml framework-config.xml Log Message: no message Index: framework-config.xml =================================================================== RCS file: /cvsroot/batchserver/batchserver/conf/framework-config.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** framework-config.xml 19 Sep 2006 00:05:29 -0000 1.5 --- framework-config.xml 20 Sep 2006 02:42:16 -0000 1.6 *************** *** 1,4 **** --- 1,6 ---- <?xml version="1.0" encoding="UTF-8"?> <framework-config> + <!-- job-config-factory-config identifies the source of the job configuration and this can be configurable + to read either from XML file or any JDBC complaint database --> <job-config-factory-config job-config-factory-class-name="org.jmonks.batch.framework.config.xml.XMLJobConfigFactory"> <property key="job-config-file-classpath-location">test-batch-config.xml</property> *************** *** 14,24 **** --- 16,46 ---- </job-config-factory-config> --> + <!-- repository-config identifies the repository implementation to be used for the framework and the available + imlementations as of now are Db4oRepository (uses DB4O) and JdbcRepository (uses any Jdbc complaint database) --> <repository-config repository-class-name="org.jmonks.batch.framework.repository.db4o.Db4oRepository"> <property key="db4o-directory">/batchserver/repository</property> </repository-config> + <!-- + Following is the sample repository configuration to configurre any jdbc complaint database. + + <job-config-factory-config job-config-factory-class-name="org.jmonks.batch.framework.repository.jdbc.JdbcRepository"> + <property key="jdbc-driver-class-name">com.mysql.jdbc.Driver</property> + <property key="jdbc-url">jdbc:mysql://localhost:3306/batchserver</property> + <property key="username">root</property> + <property key="password">password</property> + </job-config-factory-config> --> + + + <!-- framework-logging-config defines the logging configuration framework uses by default. Loggers can be + added controlled at the job level in the job configuration. --> <framework-logging-config framework-logging-level="DEBUG" job-logging-directory="/batchserver/logs" job-base-package-name="com.mycompany.batch" job-logging-level="INFO"/> + + <!-- job-connector-config identifies the JMX Connector Helper implementation to be used by the framework. As of now + RepositoryJMXMPConnectorHelper is the only one available which uses repository as the lookup location. --> <job-connector-config job-connector-helper-class-name="org.jmonks.batch.framework.management.jmxmp.RepositoryJMXMPConnectorHelper"> </job-connector-config> + + <!-- Configuration identifies the configuration objects for the different controllers. No need to change these settings. --> <job-controller-config> <job-controller controller-class-name="org.jmonks.batch.framework.controller.pool.PoolJobController" Index: batch-config.xml =================================================================== RCS file: /cvsroot/batchserver/batchserver/conf/batch-config.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** batch-config.xml 19 Sep 2006 00:05:29 -0000 1.4 --- batch-config.xml 20 Sep 2006 02:42:16 -0000 1.5 *************** *** 1,32 **** <?xml version="1.0" encoding="UTF-8"?> <batch-config> <job-config job-name="process_file_abc" job-status="active"> <job-controller job-controller-class-name="org.jmonks.batch.framework.controller.pool.PoolJobController"> ! <pool-job-loader pool-job-loader-class-name="com.mycompany.batch.processfileabc.AbcJobLoader"> ! <property key="pool-job-loader-key1">loader-value1</property> </pool-job-loader> ! <pool-job-processor pool-job-processor-class-name="com.mycompany.batch.processfileabc.AbcJobProcessor" thread-count="5"> ! <property key="pool-job-processor-key1">processor-value1</property> </pool-job-processor> <job-pool job-pool-class-name="org.jmonks.batch.framework.controller.pool.CollectionJobPool"> <property key="job-pool-size">50000</property> </job-pool> ! <property key="pool-job-controller-restart">true</property> </job-controller> <job-logging-config> ! <job-logger-config logger-name="com.mycompany.batch.abc" logger-level="DEBUG"/> </job-logging-config> </job-config> - <job-config job-name="process_file_xyz" job-status="active"> - <job-controller job-controller-class-name="org.jmonks.batch.framework.controller.basic.BasicJobController"> - <basic-job-processor basic-job-processor-class-name="org.jmonks.batch.framework.controller.basic.TestBasicJobProcessor" thread-count="5"> - <property key="processor-config-key1">processor-config-value1</property> - </basic-job-processor> - <property key="controller-config-key1">controller-config-value1</property> - </job-controller> - <job-logging-config> - <job-logger-config logger-name="org.jmonks.batch.framework.controller.basic" logger-level="TRACE"/> - <job-logger-config logger-name="org.jmonks.batch.framework" logger-level="ERROR"/> - </job-logging-config> - </job-config> </batch-config> \ No newline at end of file --- 1,36 ---- <?xml version="1.0" encoding="UTF-8"?> <batch-config> + <!-- Configuration of the job using Basic Job Controller --> + <job-config job-name="process_file_xyz" job-status="active"> + <job-controller job-controller-class-name="org.jmonks.batch.framework.controller.basic.BasicJobController"> + <basic-job-processor basic-job-processor-class-name="com.mycompany.jobs.xyz.MyBasicJobProcessor" thread-count="5"> + <property key="processor-config-key1">processor-config-value1</property> + </basic-job-processor> + <property key="controller-config-key1">controller-config-value1</property> + </job-controller> + <job-logging-config> + <job-logger-config logger-name="com.mycompany.jobs.xyz" logger-level="DEBUG"/> + <job-logger-config logger-name="org.jmonks.batch.framework" logger-level="ERROR"/> + </job-logging-config> + </job-config> + + <!-- Configuration of the job using Pool Job Controller --> <job-config job-name="process_file_abc" job-status="active"> <job-controller job-controller-class-name="org.jmonks.batch.framework.controller.pool.PoolJobController"> ! <pool-job-loader pool-job-loader-class-name="com.mycompany.jobs.abc.MyPoolJobLoader"> ! <property key="pool-job-loader-config-key1">loader-config-value1</property> </pool-job-loader> ! <pool-job-processor pool-job-processor-class-name="com.mycompany.jobs.abc.MyPoolJobProcessor" thread-count="5"> ! <property key="pool-job-processor-config-key1">processor-config-value1</property> </pool-job-processor> <job-pool job-pool-class-name="org.jmonks.batch.framework.controller.pool.CollectionJobPool"> <property key="job-pool-size">50000</property> </job-pool> ! <property key="pool-job-controller-config-key1">controller-config-value1</property> </job-controller> <job-logging-config> ! <job-logger-config logger-name="com.mycompany.jobs.abc" logger-level="TRACE"/> ! <job-logger-config logger-name="org.jmonks.batch.framework" logger-level="DEBUG"/> </job-logging-config> </job-config> </batch-config> \ No newline at end of file |
From: Suresh <sur...@us...> - 2006-09-20 02:42:02
|
Update of /cvsroot/batchserver/batchserver/bin/dbscripts/oracle In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv3008 Added Files: run_all.sql Log Message: no message --- NEW FILE: run_all.sql --- @create_job_config.sql @create_job_logging_config.sql @create_basic_job_controller_config.sql @create_pool_job_controller_config.sql @create_job_data_transfer.sql @create_job_statistics.sql @create_job_mgmt_mntr_info.sql @insert_sample_jobs.sql |
From: Suresh <sur...@us...> - 2006-09-20 02:41:40
|
Update of /cvsroot/batchserver/batchserver/bin/dbscripts/mysql In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv2979 Added Files: run_all.sql Log Message: no message --- NEW FILE: run_all.sql --- @create_database_batchserver.sql @create_job_config.sql @create_job_logging_config.sql @create_basic_job_controller_config.sql @create_pool_job_controller_config.sql @create_job_data_transfer.sql @create_job_statistics.sql @create_job_mgmt_mntr_info.sql @insert_sample_jobs.sql |
From: Suresh <sur...@us...> - 2006-09-20 00:36:00
|
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batch/framework/controller/pool In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv17005 Modified Files: PoolJobController.java Log Message: no message Index: PoolJobController.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batch/framework/controller/pool/PoolJobController.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** PoolJobController.java 19 Sep 2006 22:51:29 -0000 1.3 --- PoolJobController.java 20 Sep 2006 00:35:57 -0000 1.4 *************** *** 149,153 **** { PoolJobProcessor jobProcessor=(PoolJobProcessor)this.getInstance(poolJobControllerConfig.getPoolJobProcessorClassName()); ! String jobProcessorName=super.jobContext.getJobName()+"_Processor_"+i; FutureResult jobProcessorFutureResult=new FutureResult(); Thread jobProcessorThread=new Thread(jobProcessorFutureResult.setter(this.getCallableProcessor( --- 149,153 ---- { PoolJobProcessor jobProcessor=(PoolJobProcessor)this.getInstance(poolJobControllerConfig.getPoolJobProcessorClassName()); ! String jobProcessorName=super.jobContext.getJobName()+"_Processor_"+(i+1); FutureResult jobProcessorFutureResult=new FutureResult(); Thread jobProcessorThread=new Thread(jobProcessorFutureResult.setter(this.getCallableProcessor( |
From: Suresh <sur...@us...> - 2006-09-20 00:35:43
|
Update of /cvsroot/batchserver/batchserver/test/org/jmonks/batch/framework In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv16992 Modified Files: FrameworkTestSuite.java Log Message: no message Index: FrameworkTestSuite.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/test/org/jmonks/batch/framework/FrameworkTestSuite.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** FrameworkTestSuite.java 20 Sep 2006 00:18:04 -0000 1.3 --- FrameworkTestSuite.java 20 Sep 2006 00:35:41 -0000 1.4 *************** *** 114,120 **** Map configMap=new HashMap(); configMap.put(JdbcConnectionHelper.PROPERTY_JDBC_DRIVER_CLASS_NAME, "oracle.jdbc.driver.OracleDriver"); ! configMap.put(JdbcConnectionHelper.PROPERTY_JDBC_URL, "jdbc:oracle:thin:@himeros:1521:BRTST05"); ! configMap.put(JdbcConnectionHelper.PROPERTY_DATABASE_USER_NAME, "w951h8m"); ! configMap.put(JdbcConnectionHelper.PROPERTY_DATABASE_PASSWORD, "prag18"); Connection connection=JdbcConnectionHelper.getConnection(configMap); if(connection!=null) --- 114,120 ---- Map configMap=new HashMap(); configMap.put(JdbcConnectionHelper.PROPERTY_JDBC_DRIVER_CLASS_NAME, "oracle.jdbc.driver.OracleDriver"); ! configMap.put(JdbcConnectionHelper.PROPERTY_JDBC_URL, "jdbc:oracle:thin:@hostname:1521:myinstance"); ! configMap.put(JdbcConnectionHelper.PROPERTY_DATABASE_USER_NAME, "scott"); ! configMap.put(JdbcConnectionHelper.PROPERTY_DATABASE_PASSWORD, "tiger"); Connection connection=JdbcConnectionHelper.getConnection(configMap); if(connection!=null) |
From: Suresh <sur...@us...> - 2006-09-20 00:35:29
|
Update of /cvsroot/batchserver/batchserver/test/org/jmonks/batch/framework/controller/pool In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv16958 Modified Files: VerifyReturnCodeJobLoader.java VerifyReturnCodeJobProcessor.java Log Message: no message Index: VerifyReturnCodeJobProcessor.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/test/org/jmonks/batch/framework/controller/pool/VerifyReturnCodeJobProcessor.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** VerifyReturnCodeJobProcessor.java 19 Sep 2006 00:07:57 -0000 1.1 --- VerifyReturnCodeJobProcessor.java 20 Sep 2006 00:35:25 -0000 1.2 *************** *** 41,45 **** Assert.assertNotNull(jobData); Integer value=(Integer)jobData; ! logger.error("Received the data to verify the return code process : " + jobData.toString()); String threadName=Thread.currentThread().getName(); if(threadName.endsWith("3")) --- 41,45 ---- Assert.assertNotNull(jobData); Integer value=(Integer)jobData; ! //logger.error("Received the data to verify the return code process : " + jobData.toString()); String threadName=Thread.currentThread().getName(); if(threadName.endsWith("3")) Index: VerifyReturnCodeJobLoader.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/test/org/jmonks/batch/framework/controller/pool/VerifyReturnCodeJobLoader.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** VerifyReturnCodeJobLoader.java 19 Sep 2006 00:07:57 -0000 1.1 --- VerifyReturnCodeJobLoader.java 20 Sep 2006 00:35:25 -0000 1.2 *************** *** 35,39 **** Assert.assertNotNull(jobContext); ! for(int i=0;i<25;i++) loadJobData(new Integer(i)); loadJobData(null); --- 35,39 ---- Assert.assertNotNull(jobContext); ! for(int i=0;i<2500;i++) loadJobData(new Integer(i)); loadJobData(null); |
From: Suresh <sur...@us...> - 2006-09-20 00:35:13
|
Update of /cvsroot/batchserver/batchserver/test/org/jmonks/batch/framework/config In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv16930 Modified Files: BasicJobControllerConfigTest.java JobConfigFactoryTest.java JobConfigTest.java JobControllerConfigTest.java PoolJobControllerConfigTest.java Log Message: no message Index: JobConfigTest.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/test/org/jmonks/batch/framework/config/JobConfigTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** JobConfigTest.java 15 Sep 2006 20:24:20 -0000 1.1 --- JobConfigTest.java 20 Sep 2006 00:35:11 -0000 1.2 *************** *** 49,53 **** JobConfigFactory factory=JobConfigFactory.getJobConfigFactory(factoryConfig); assertNotNull(factory); ! JobConfig jobConfig=factory.getJobConfig("process_file_abc"); assertNotNull(jobConfig); JobControllerConfig controllerConfig=jobConfig.getJobControllerConfig(); --- 49,53 ---- JobConfigFactory factory=JobConfigFactory.getJobConfigFactory(factoryConfig); assertNotNull(factory); ! JobConfig jobConfig=factory.getJobConfig("verify_config_props_pool_job_controller"); assertNotNull(jobConfig); JobControllerConfig controllerConfig=jobConfig.getJobControllerConfig(); *************** *** 67,75 **** JobConfigFactory factory=JobConfigFactory.getJobConfigFactory(factoryConfig); assertNotNull(factory); ! JobConfig jobConfig=factory.getJobConfig("process_file_abc"); assertNotNull(jobConfig); String jobName=jobConfig.getJobName(); assertNotNull(jobName); ! assertEquals("process_file_abc",jobName); } --- 67,75 ---- JobConfigFactory factory=JobConfigFactory.getJobConfigFactory(factoryConfig); assertNotNull(factory); ! JobConfig jobConfig=factory.getJobConfig("verify_config_props_pool_job_controller"); assertNotNull(jobConfig); String jobName=jobConfig.getJobName(); assertNotNull(jobName); ! assertEquals("verify_config_props_pool_job_controller",jobName); } Index: BasicJobControllerConfigTest.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/test/org/jmonks/batch/framework/config/BasicJobControllerConfigTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** BasicJobControllerConfigTest.java 15 Sep 2006 22:04:43 -0000 1.2 --- BasicJobControllerConfigTest.java 20 Sep 2006 00:35:11 -0000 1.3 *************** *** 51,55 **** JobConfigFactory factory=JobConfigFactory.getJobConfigFactory(factoryConfig); assertNotNull(factory); ! JobConfig jobConfig=factory.getJobConfig("process_file_xyz"); assertNotNull(jobConfig); BasicJobControllerConfig controllerConfig=(BasicJobControllerConfig)jobConfig.getJobControllerConfig(); --- 51,55 ---- JobConfigFactory factory=JobConfigFactory.getJobConfigFactory(factoryConfig); assertNotNull(factory); ! JobConfig jobConfig=factory.getJobConfig("verify_config_props_basic_job_processor"); assertNotNull(jobConfig); BasicJobControllerConfig controllerConfig=(BasicJobControllerConfig)jobConfig.getJobControllerConfig(); *************** *** 70,74 **** JobConfigFactory factory=JobConfigFactory.getJobConfigFactory(factoryConfig); assertNotNull(factory); ! JobConfig jobConfig=factory.getJobConfig("process_file_xyz"); assertNotNull(jobConfig); BasicJobControllerConfig controllerConfig=(BasicJobControllerConfig)jobConfig.getJobControllerConfig(); --- 70,74 ---- JobConfigFactory factory=JobConfigFactory.getJobConfigFactory(factoryConfig); assertNotNull(factory); ! JobConfig jobConfig=factory.getJobConfig("verify_config_props_basic_job_processor"); assertNotNull(jobConfig); BasicJobControllerConfig controllerConfig=(BasicJobControllerConfig)jobConfig.getJobControllerConfig(); Index: PoolJobControllerConfigTest.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/test/org/jmonks/batch/framework/config/PoolJobControllerConfigTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** PoolJobControllerConfigTest.java 15 Sep 2006 22:04:43 -0000 1.2 --- PoolJobControllerConfigTest.java 20 Sep 2006 00:35:11 -0000 1.3 *************** *** 51,55 **** JobConfigFactory factory=JobConfigFactory.getJobConfigFactory(factoryConfig); assertNotNull(factory); ! JobConfig jobConfig=factory.getJobConfig("process_file_abc"); assertNotNull(jobConfig); PoolJobControllerConfig controllerConfig=(PoolJobControllerConfig)jobConfig.getJobControllerConfig(); --- 51,55 ---- JobConfigFactory factory=JobConfigFactory.getJobConfigFactory(factoryConfig); assertNotNull(factory); ! JobConfig jobConfig=factory.getJobConfig("verify_config_props_pool_job_controller"); assertNotNull(jobConfig); PoolJobControllerConfig controllerConfig=(PoolJobControllerConfig)jobConfig.getJobControllerConfig(); *************** *** 70,74 **** JobConfigFactory factory=JobConfigFactory.getJobConfigFactory(factoryConfig); assertNotNull(factory); ! JobConfig jobConfig=factory.getJobConfig("process_file_abc"); assertNotNull(jobConfig); PoolJobControllerConfig controllerConfig=(PoolJobControllerConfig)jobConfig.getJobControllerConfig(); --- 70,74 ---- JobConfigFactory factory=JobConfigFactory.getJobConfigFactory(factoryConfig); assertNotNull(factory); ! JobConfig jobConfig=factory.getJobConfig("verify_config_props_pool_job_controller"); assertNotNull(jobConfig); PoolJobControllerConfig controllerConfig=(PoolJobControllerConfig)jobConfig.getJobControllerConfig(); *************** *** 89,93 **** JobConfigFactory factory=JobConfigFactory.getJobConfigFactory(factoryConfig); assertNotNull(factory); ! JobConfig jobConfig=factory.getJobConfig("process_file_abc"); assertNotNull(jobConfig); PoolJobControllerConfig controllerConfig=(PoolJobControllerConfig)jobConfig.getJobControllerConfig(); --- 89,93 ---- JobConfigFactory factory=JobConfigFactory.getJobConfigFactory(factoryConfig); assertNotNull(factory); ! JobConfig jobConfig=factory.getJobConfig("verify_config_props_pool_job_controller"); assertNotNull(jobConfig); PoolJobControllerConfig controllerConfig=(PoolJobControllerConfig)jobConfig.getJobControllerConfig(); *************** *** 108,112 **** JobConfigFactory factory=JobConfigFactory.getJobConfigFactory(factoryConfig); assertNotNull(factory); ! JobConfig jobConfig=factory.getJobConfig("process_file_abc"); assertNotNull(jobConfig); PoolJobControllerConfig controllerConfig=(PoolJobControllerConfig)jobConfig.getJobControllerConfig(); --- 108,112 ---- JobConfigFactory factory=JobConfigFactory.getJobConfigFactory(factoryConfig); assertNotNull(factory); ! JobConfig jobConfig=factory.getJobConfig("verify_config_props_pool_job_controller"); assertNotNull(jobConfig); PoolJobControllerConfig controllerConfig=(PoolJobControllerConfig)jobConfig.getJobControllerConfig(); *************** *** 127,131 **** JobConfigFactory factory=JobConfigFactory.getJobConfigFactory(factoryConfig); assertNotNull(factory); ! JobConfig jobConfig=factory.getJobConfig("process_file_abc"); assertNotNull(jobConfig); PoolJobControllerConfig controllerConfig=(PoolJobControllerConfig)jobConfig.getJobControllerConfig(); --- 127,131 ---- JobConfigFactory factory=JobConfigFactory.getJobConfigFactory(factoryConfig); assertNotNull(factory); ! JobConfig jobConfig=factory.getJobConfig("verify_config_props_pool_job_controller"); assertNotNull(jobConfig); PoolJobControllerConfig controllerConfig=(PoolJobControllerConfig)jobConfig.getJobControllerConfig(); *************** *** 146,150 **** JobConfigFactory factory=JobConfigFactory.getJobConfigFactory(factoryConfig); assertNotNull(factory); ! JobConfig jobConfig=factory.getJobConfig("process_file_abc"); assertNotNull(jobConfig); PoolJobControllerConfig controllerConfig=(PoolJobControllerConfig)jobConfig.getJobControllerConfig(); --- 146,150 ---- JobConfigFactory factory=JobConfigFactory.getJobConfigFactory(factoryConfig); assertNotNull(factory); ! JobConfig jobConfig=factory.getJobConfig("verify_config_props_pool_job_controller"); assertNotNull(jobConfig); PoolJobControllerConfig controllerConfig=(PoolJobControllerConfig)jobConfig.getJobControllerConfig(); Index: JobConfigFactoryTest.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/test/org/jmonks/batch/framework/config/JobConfigFactoryTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** JobConfigFactoryTest.java 15 Sep 2006 20:24:20 -0000 1.1 --- JobConfigFactoryTest.java 20 Sep 2006 00:35:11 -0000 1.2 *************** *** 69,75 **** JobConfig jobConfigNotExist=configFactory.getJobConfig("job_not_exist"); assertNull(jobConfigNotExist); ! JobConfig jobProcessFileAbc=configFactory.getJobConfig("process_file_abc"); assertNotNull(jobProcessFileAbc); ! JobConfig jobProcessFileXyz=configFactory.getJobConfig("process_file_xyz"); assertNotNull(jobProcessFileXyz); } --- 69,75 ---- JobConfig jobConfigNotExist=configFactory.getJobConfig("job_not_exist"); assertNull(jobConfigNotExist); ! JobConfig jobProcessFileAbc=configFactory.getJobConfig("verify_config_props_pool_job_controller"); assertNotNull(jobProcessFileAbc); ! JobConfig jobProcessFileXyz=configFactory.getJobConfig("verify_config_props_basic_job_processor"); assertNotNull(jobProcessFileXyz); } Index: JobControllerConfigTest.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/test/org/jmonks/batch/framework/config/JobControllerConfigTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** JobControllerConfigTest.java 15 Sep 2006 22:04:43 -0000 1.2 --- JobControllerConfigTest.java 20 Sep 2006 00:35:11 -0000 1.3 *************** *** 50,54 **** JobConfigFactory factory=JobConfigFactory.getJobConfigFactory(factoryConfig); assertNotNull(factory); ! JobConfig jobConfig=factory.getJobConfig("process_file_abc"); assertNotNull(jobConfig); JobControllerConfig controllerConfig=jobConfig.getJobControllerConfig(); --- 50,54 ---- JobConfigFactory factory=JobConfigFactory.getJobConfigFactory(factoryConfig); assertNotNull(factory); ! JobConfig jobConfig=factory.getJobConfig("verify_config_props_pool_job_controller"); assertNotNull(jobConfig); JobControllerConfig controllerConfig=jobConfig.getJobControllerConfig(); *************** *** 69,73 **** JobConfigFactory factory=JobConfigFactory.getJobConfigFactory(factoryConfig); assertNotNull(factory); ! JobConfig jobConfig=factory.getJobConfig("process_file_abc"); assertNotNull(jobConfig); JobControllerConfig controllerConfig=jobConfig.getJobControllerConfig(); --- 69,73 ---- JobConfigFactory factory=JobConfigFactory.getJobConfigFactory(factoryConfig); assertNotNull(factory); ! JobConfig jobConfig=factory.getJobConfig("verify_config_props_pool_job_controller"); assertNotNull(jobConfig); JobControllerConfig controllerConfig=jobConfig.getJobControllerConfig(); |
From: Suresh <sur...@us...> - 2006-09-20 00:18:07
|
Update of /cvsroot/batchserver/batchserver/test/org/jmonks/batch/framework In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv9633 Modified Files: FrameworkTestSuite.java Log Message: no message Index: FrameworkTestSuite.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/test/org/jmonks/batch/framework/FrameworkTestSuite.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** FrameworkTestSuite.java 19 Sep 2006 00:09:38 -0000 1.2 --- FrameworkTestSuite.java 20 Sep 2006 00:18:04 -0000 1.3 *************** *** 8,11 **** --- 8,14 ---- package org.jmonks.batch.framework; + import java.sql.Connection; + import java.util.HashMap; + import java.util.Map; import junit.framework.*; import org.jmonks.batch.framework.controller.basic.VerifyAllConfigPropsBasicJobControllerTest; *************** *** 24,27 **** --- 27,31 ---- import org.jmonks.batch.framework.config.PoolJobControllerConfigTest; import org.jmonks.batch.framework.repository.db4o.Db4oRepositoryTest; + import org.jmonks.batch.framework.util.JdbcConnectionHelper; import org.jmonks.batch.framework.util.JdbcConnectionHelperTest; *************** *** 54,58 **** { TestSuite mainSuite = new TestSuite(); ! mainSuite.addTest(ErrorCodeTest.suite()); mainSuite.addTest(JobStatisticsTest.suite()); --- 58,62 ---- { TestSuite mainSuite = new TestSuite(); ! boolean isMySqlDBStarted=FrameworkTestSuite.isMySqlDBStarted(); mainSuite.addTest(ErrorCodeTest.suite()); mainSuite.addTest(JobStatisticsTest.suite()); *************** *** 60,64 **** mainSuite.addTest(LoggingManagerTest.suite()); mainSuite.addTest(FrameworkUtilTest.suite()); ! mainSuite.addTest(JdbcConnectionHelperTest.suite()); mainSuite.addTest(FrameworkConfigTest.suite()); mainSuite.addTest(ConfigurationExceptionTest.suite()); --- 64,69 ---- mainSuite.addTest(LoggingManagerTest.suite()); mainSuite.addTest(FrameworkUtilTest.suite()); ! if(isMySqlDBStarted) ! mainSuite.addTest(JdbcConnectionHelperTest.suite()); mainSuite.addTest(FrameworkConfigTest.suite()); mainSuite.addTest(ConfigurationExceptionTest.suite()); *************** *** 69,74 **** mainSuite.addTest(PoolJobControllerConfigTest.suite()); mainSuite.addTest(Db4oRepositoryTest.suite()); ! mainSuite.addTest(MySQLJdbcRepositoryTest.suite()); ! mainSuite.addTest(OracleJdbcRepositoryTest.suite()); mainSuite.addTest(MainTest.suite()); mainSuite.addTest(VerifyAllConfigPropsBasicJobControllerTest.suite()); --- 74,81 ---- mainSuite.addTest(PoolJobControllerConfigTest.suite()); mainSuite.addTest(Db4oRepositoryTest.suite()); ! if(isMySqlDBStarted) ! mainSuite.addTest(MySQLJdbcRepositoryTest.suite()); ! if(FrameworkTestSuite.isOracleDBStarted()) ! mainSuite.addTest(OracleJdbcRepositoryTest.suite()); mainSuite.addTest(MainTest.suite()); mainSuite.addTest(VerifyAllConfigPropsBasicJobControllerTest.suite()); *************** *** 78,81 **** --- 85,130 ---- return mainSuite; } + + private static boolean isMySqlDBStarted() + { + boolean started=false; + try + { + Map configMap=new HashMap(); + configMap.put(JdbcConnectionHelper.PROPERTY_JDBC_DRIVER_CLASS_NAME, "com.mysql.jdbc.Driver"); + configMap.put(JdbcConnectionHelper.PROPERTY_JDBC_URL, "jdbc:mysql://localhost:3306/batchserver"); + configMap.put(JdbcConnectionHelper.PROPERTY_DATABASE_USER_NAME, "root"); + configMap.put(JdbcConnectionHelper.PROPERTY_DATABASE_PASSWORD, "ramesh"); + Connection connection=JdbcConnectionHelper.getConnection(configMap); + if(connection!=null) + started=true; + } + catch(Throwable exception) + { + started=false; + } + return started; + } + + private static boolean isOracleDBStarted() + { + boolean started=false; + try + { + Map configMap=new HashMap(); + configMap.put(JdbcConnectionHelper.PROPERTY_JDBC_DRIVER_CLASS_NAME, "oracle.jdbc.driver.OracleDriver"); + configMap.put(JdbcConnectionHelper.PROPERTY_JDBC_URL, "jdbc:oracle:thin:@himeros:1521:BRTST05"); + configMap.put(JdbcConnectionHelper.PROPERTY_DATABASE_USER_NAME, "w951h8m"); + configMap.put(JdbcConnectionHelper.PROPERTY_DATABASE_PASSWORD, "prag18"); + Connection connection=JdbcConnectionHelper.getConnection(configMap); + if(connection!=null) + started=true; + } + catch(Throwable exception) + { + started=false; + } + return started; + } } |
From: Suresh <sur...@us...> - 2006-09-20 00:16:41
|
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batch/framework In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv8904 Added Files: JobController.java Log Message: no message --- NEW FILE: JobController.java --- package org.jmonks.batch.framework; import org.apache.log4j.Level; import org.apache.log4j.Logger; import org.jmonks.batch.framework.config.ConfigurationException; import org.jmonks.batch.framework.management.JobMonitorMBean; import org.jmonks.batch.framework.management.JobManagerMBean; /** * <p> * Job Controller is the important component, which actually creates and drives * the execution of the job. This defines the logic and the flow, how the user components * needs to be written and how they would be driven while executing the job. * Framework provides two controllers called as BasicJobController and PoolJobController * which defines their own way of executing the job. * </p> * * <p> * JobController provides a factory method which returns the appropriate controller component * based on the provided controller config object. This implements the management and * monitoring interfaces to make sure all the controller implementations are manageable * and monitorable. * </p> * * @author Suresh Pragada * @version 1.0 * @since 1.0 */ public abstract class JobController implements JobMonitorMBean, JobManagerMBean { /** * JobContext associated to this controller. */ protected JobContext jobContext=null; private static Logger logger=Logger.getLogger(JobController.class); /** * <p> * This factory method creates required implementation of the controller * based on the controller configuration available in job context and sets * the job context to the controller. * </p> * * @param jobContext Job context going to be associated with the controller. * @param controllerCreator Main instance which is allowed to create the controller. This is to restrict only framework can instantiate the Controller. * * @return Returns the defined implementation of the controller. * * @throws SecurityException If an attempt is made to create the controller by other than the Main class(framework). * @throws ConfigurationException If required properties are missing in the controller configuration or the values are invalid. */ public static JobController createJobController(JobContext jobContext, Main controllerCreator) { logger.trace("Entering getJobController = " + jobContext.getJobName()); if(!(controllerCreator instanceof Main)) throw new SecurityException("Not authorized to create the controller."); String jobControllerClassName=jobContext.getJobConfig().getJobControllerConfig().getJobControllerClasName(); if(jobControllerClassName==null || "".equals(jobControllerClassName)) throw new ConfigurationException(ConfigurationException.JOB_CONTROLLER_CONFIG, "job controller class name is not defined in job controller configuration"); logger.debug("job controller class name = " + jobControllerClassName); JobController jobController=null; try { jobController=(JobController)Class.forName(jobControllerClassName).newInstance(); jobController.jobContext=jobContext; logger.debug("created the job controller implemenation class"); } catch(ClassNotFoundException exception) { exception.printStackTrace(); logger.error(exception.getMessage(),exception); throw new ConfigurationException(ConfigurationException.JOB_CONTROLLER_CONFIG, exception.getMessage()); } catch(InstantiationException exception) { exception.printStackTrace(); logger.error(exception.getMessage(),exception); throw new ConfigurationException(ConfigurationException.JOB_CONTROLLER_CONFIG, exception.getMessage()); } catch(IllegalAccessException exception) { exception.printStackTrace(); logger.error(exception.getMessage(),exception); throw new ConfigurationException(ConfigurationException.JOB_CONTROLLER_CONFIG, exception.getMessage()); } return jobController; } /** * Gets the log level of the given logger name. * * @param loggerName Name of the logger wants to find the log level. * * @return Returns the log level, null, if the given logger could not be found. */ public Level getLogLevel(String loggerName) { return LoggingManager.getLogLevel(loggerName); } /** * Changes the log level for the requested logger name with the given log level. * * @param loggerName Logger name needs to be modified. * @param newLogLevel new logging level. * * @return Returns true, if log level could be changed, false, otherwise. */ public boolean changeLogLevel(String loggerName, Level level) { return LoggingManager.changeLogLevel(loggerName, level); } /** * This method will be called by the Main to process the job. This returns the * ErrorCode explaining whether the process has been failed or succeeded. * * @return Returns the ErrorCode as exit status of the job. */ public abstract ErrorCode process(); /** * Returns the statistics of this job. Statistics will be queried only * after the completion of controller processing. Querying before the completion * of processing always returns null. * * @return Returns the statistics of this job. */ public abstract JobStatistics getJobStatistics(); } |
From: Suresh <sur...@us...> - 2006-09-19 22:52:24
|
Update of /cvsroot/batchserver/batchserver In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv3573 Modified Files: build_framework.xml build_io.xml Log Message: no message Index: build_io.xml =================================================================== RCS file: /cvsroot/batchserver/batchserver/build_io.xml,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** build_io.xml 15 Sep 2006 19:54:41 -0000 1.6 --- build_io.xml 19 Sep 2006 22:52:20 -0000 1.7 *************** *** 86,90 **** <mkdir dir="${dist.home}/lib"/> ! <copy todir="${dist.home}/lib"> <fileset dir="${lib.home}"> <include name="xml/xml_apis.jar"/> --- 86,90 ---- <mkdir dir="${dist.home}/lib"/> ! <copy todir="${dist.home}/lib" flatten="true"> <fileset dir="${lib.home}"> <include name="xml/xml_apis.jar"/> *************** *** 128,132 **** <javadoc sourcepath="${src.home}" destdir="${docs.home}" ! packagenames="org/jmonks/batch/io,org/jmonks/batch/io/flat,org/jmonks/batch/io/xml" author="true" version="true" --- 128,132 ---- <javadoc sourcepath="${src.home}" destdir="${docs.home}" ! packagenames="org/jmonks/batch/io/*" author="true" version="true" Index: build_framework.xml =================================================================== RCS file: /cvsroot/batchserver/batchserver/build_framework.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** build_framework.xml 19 Sep 2006 17:07:44 -0000 1.3 --- build_framework.xml 19 Sep 2006 22:52:20 -0000 1.4 *************** *** 13,16 **** --- 13,17 ---- <property name="docs.home" value="${basedir}/docs"/> <property name="src.home" value="${basedir}/src"/> + <property name="conf.home" value="${basedir}/conf"/> <property name="lib.home" value="${basedir}/lib"/> <property name="test.home" value="${basedir}/test"/> *************** *** 103,107 **** </target> ! <!-- ==================== Test-Clean-Compile Target ====================================== --> --- 104,194 ---- </target> ! ! <!-- ==================== Dist Target ===================================== --> ! ! <target name="dist" depends="source-clean-compile,javadoc" description="Create binary distribution"> ! ! <delete dir="${dist.home}"/> ! <mkdir dir="${dist.home}"/> ! ! <mkdir dir="${dist.home}/docs"/> ! <copy todir="${dist.home}/docs"> ! <fileset dir="${docs.home}"/> ! </copy> ! ! <mkdir dir="${dist.home}/lib"/> ! <copy todir="${dist.home}/lib" flatten="true"> ! <fileset dir="${lib.home}"> ! <include name="xml/xml_apis.jar"/> ! <include name="xml/apache/resolver_2.7.1.jar"/> ! <include name="xml/apache/xerces_impl_2.7.1.jar"/> ! <include name="stax/ri/stax_impl_1.2.zip"/> ! <include name="stax/stax_api_1.0.zip"/> ! <include name="log4j/log4j_1.2.13.jar"/> ! <include name="concurrent/concurrent_1.3.4.jar"/> ! <include name="db/db4o/db4o_5.0.jar"/> ! <include name="jdbc/mysql/mysql_jdbc_driver_3.1.13.jar"/> ! <include name="jdbc/oracle/ojdbc14.jar"/> ! <include name="jmx/ri/jmxri_1.2.1.jar"/> ! <include name="jmx/ri/jmxremote_1.0.1_04.jar"/> ! <include name="jmx/ri/jmxremote_optional1.0.1_04.jar"/> ! <include name="jmx/ri/rmissl_1.0.1_04.jar"/> ! </fileset> ! </copy> ! ! <mkdir dir="${dist.home}/src"/> ! <copy todir="${dist.home}/src"> ! <fileset dir="${src.home}"> ! <include name="org/jmonks/batch/framework/*.java"/> ! <include name="org/jmonks/batch/framework/config/*.java"/> ! <include name="org/jmonks/batch/framework/config/xml/*.java"/> ! <include name="org/jmonks/batch/framework/config/db/*.java"/> ! <include name="org/jmonks/batch/framework/repository/db4o/*.java"/> ! <include name="org/jmonks/batch/framework/repository/jdbc/*.java"/> ! <include name="org/jmonks/batch/framework/controller/basic/*.java"/> ! <include name="org/jmonks/batch/framework/controller/pool/*.java"/> ! <include name="org/jmonks/batch/framework/management/*.java"/> ! <include name="org/jmonks/batch/framework/management/jmxmp/*.java"/> ! <include name="org/jmonks/batch/framework/util/*.java"/> ! </fileset> ! </copy> ! ! <mkdir dir="${dist.home}/conf"/> ! <copy todir="${dist.home}/conf"> ! <fileset dir="${conf.home}"> ! <include name="batch-config.xml"/> ! <include name="framework-config.xml"/> ! </fileset> ! </copy> ! <replace file="${dist.home}/conf/framework-config.xml" token="test-batch-config" value="batch-config"/> ! ! ! <!-- Create application JAR file --> ! <jar jarfile="${dist.home}/${app.name}_${app.version}.jar" ! basedir="${build.home}/src"> ! <manifest> ! <attribute name="Implementation-Title" value="Batch Framework"/> ! <attribute name="Implementation-Version" value="${app.version}"/> ! <attribute name="Implementation-Vendor" value="JMonks(http://jmonks.org)"/> ! </manifest> ! </jar> ! ! </target> ! ! <!-- ==================== Javadoc Target ================================== --> ! ! <target name="javadoc" description="Create Javadoc API documentation"> ! <delete dir="${docs.home}"/> ! <mkdir dir="${docs.home}"/> ! <javadoc sourcepath="${src.home}" ! destdir="${docs.home}" ! packagenames="org/jmonks/batch/framework/*" ! author="true" ! version="true" ! use="true"> ! <classpath refid="compile.classpath"/> ! </javadoc> ! </target> ! <!-- ==================== Test-Clean-Compile Target ====================================== --> *************** *** 199,231 **** </target> - <!-- ==================== Dist Target ===================================== --> - - <target name="dist" depends="source-clean-compile,javadoc" description="Create binary distribution"> - <!-- Copy documentation subdirectories --> - <mkdir dir="${dist.home}/docs"/> - <copy todir="${dist.home}/docs"> - <fileset dir="${docs.home}"/> - </copy> - - <!-- Create application JAR file --> - <jar jarfile="${dist.home}/${app.name}-${app.version}.jar" - basedir="${build.home}/src"/> - </target> - - <!-- ==================== Javadoc Target ================================== --> - - <target name="javadoc" depends="source-clean-compile" description="Create Javadoc API documentation"> - <delete dir="${docs.home}"/> - <mkdir dir="${docs.home}"/> - <javadoc sourcepath="${src.home}" - destdir="${docs.home}" - packagenames="*" - author="true" - version="true" - use="true"> - <classpath refid="compile.classpath"/> - </javadoc> - </target> - </project> --- 286,289 ---- |
From: Suresh <sur...@us...> - 2006-09-19 22:51:42
|
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batch/framework In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv3163 Modified Files: Main.java Log Message: no message Index: Main.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batch/framework/Main.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Main.java 19 Sep 2006 00:05:52 -0000 1.2 --- Main.java 19 Sep 2006 22:51:39 -0000 1.3 *************** *** 8,12 **** import org.jmonks.batch.framework.config.JobConfig; import org.jmonks.batch.framework.config.JobConfigFactory; - import org.jmonks.batch.framework.controller.JobController; import org.jmonks.batch.framework.management.JobManagementAgent; --- 8,11 ---- *************** *** 122,130 **** jobContext=createJobContext(jobConfig, configMap, frameworkCreator); logger.debug("Creating the job controller"); ! JobController jobController=JobController.getJobController(jobContext); logger.debug("Retrieving the management agent"); ! jobManagementAgent=JobManagementAgent.getJobManagementAgent(); logger.debug("Registering the controller with the management agent"); ! jobManagementAgent.start(jobContext, jobController, frameworkCreator); logger.error("Starting the controller"); returnCode=jobController.process(); --- 121,129 ---- jobContext=createJobContext(jobConfig, configMap, frameworkCreator); logger.debug("Creating the job controller"); ! JobController jobController=JobController.createJobController(jobContext, frameworkCreator); logger.debug("Retrieving the management agent"); ! jobManagementAgent=JobManagementAgent.createJobManagementAgent(jobContext, frameworkCreator); logger.debug("Registering the controller with the management agent"); ! jobManagementAgent.start(jobController); logger.error("Starting the controller"); returnCode=jobController.process(); *************** *** 167,171 **** logger.debug("Unregistering the controller with the management agent"); if(jobManagementAgent!=null && jobManagementAgent.isRunning()) ! jobManagementAgent.stop(jobContext, returnCode, frameworkCreator); } logger.error("Exiting process = " + returnCode); --- 166,170 ---- logger.debug("Unregistering the controller with the management agent"); if(jobManagementAgent!=null && jobManagementAgent.isRunning()) ! jobManagementAgent.stop(returnCode); } logger.error("Exiting process = " + returnCode); |
From: Suresh <sur...@us...> - 2006-09-19 22:51:32
|
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batch/framework/repository/db4o In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv3112/repository/db4o Modified Files: Db4oJobControllerHolder.java Log Message: no message Index: Db4oJobControllerHolder.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batch/framework/repository/db4o/Db4oJobControllerHolder.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Db4oJobControllerHolder.java 15 Sep 2006 20:07:22 -0000 1.1 --- Db4oJobControllerHolder.java 19 Sep 2006 22:51:28 -0000 1.2 *************** *** 11,15 **** package org.jmonks.batch.framework.repository.db4o; ! import org.jmonks.batch.framework.controller.JobController; /** --- 11,15 ---- package org.jmonks.batch.framework.repository.db4o; ! import org.jmonks.batch.framework.JobController; /** |
From: Suresh <sur...@us...> - 2006-09-19 22:51:32
|
Update of /cvsroot/batchserver In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv3112 Modified Files: Repository.java Added Files: JobController.java Log Message: no message --- NEW FILE: JobController.java --- package org.jmonks.batch.framework; import org.apache.log4j.Level; import org.apache.log4j.Logger; import org.jmonks.batch.framework.config.ConfigurationException; import org.jmonks.batch.framework.management.JobMonitorMBean; import org.jmonks.batch.framework.management.JobManagerMBean; /** * <p> * Job Controller is the important component, which actually creates and drives * the execution of the job. This defines the logic and the flow, how the user components * needs to be written and how they would be driven while executing the job. * Framework provides two controllers called as BasicJobController and PoolJobController * which defines their own way of executing the job. * </p> * * <p> * JobController provides a factory method which returns the appropriate controller component * based on the provided controller config object. This implements the management and * monitoring interfaces to make sure all the controller implementations are manageable * and monitorable. * </p> * * @author Suresh Pragada * @version 1.0 * @since 1.0 */ public abstract class JobController implements JobMonitorMBean, JobManagerMBean { /** * JobContext associated to this controller. */ protected JobContext jobContext=null; private static Logger logger=Logger.getLogger(JobController.class); /** * <p> * This factory method creates required implementation of the controller * based on the controller configuration available in job context and sets * the job context to the controller. * </p> * * @param jobContext Job context going to be associated with the controller. * @param controllerCreator Main instance which is allowed to create the controller. This is to restrict only framework can instantiate the Controller. * * @return Returns the defined implementation of the controller. * * @throws SecurityException If an attempt is made to create the controller by other than the Main class(framework). * @throws ConfigurationException If required properties are missing in the controller configuration or the values are invalid. */ public static JobController createJobController(JobContext jobContext, Main controllerCreator) { logger.trace("Entering getJobController = " + jobContext.getJobName()); if(!(controllerCreator instanceof Main)) throw new SecurityException("Not authorized to create the controller."); String jobControllerClassName=jobContext.getJobConfig().getJobControllerConfig().getJobControllerClasName(); if(jobControllerClassName==null || "".equals(jobControllerClassName)) throw new ConfigurationException(ConfigurationException.JOB_CONTROLLER_CONFIG, "job controller class name is not defined in job controller configuration"); logger.debug("job controller class name = " + jobControllerClassName); JobController jobController=null; try { jobController=(JobController)Class.forName(jobControllerClassName).newInstance(); jobController.jobContext=jobContext; logger.debug("created the job controller implemenation class"); } catch(ClassNotFoundException exception) { exception.printStackTrace(); logger.error(exception.getMessage(),exception); throw new ConfigurationException(ConfigurationException.JOB_CONTROLLER_CONFIG, exception.getMessage()); } catch(InstantiationException exception) { exception.printStackTrace(); logger.error(exception.getMessage(),exception); throw new ConfigurationException(ConfigurationException.JOB_CONTROLLER_CONFIG, exception.getMessage()); } catch(IllegalAccessException exception) { exception.printStackTrace(); logger.error(exception.getMessage(),exception); throw new ConfigurationException(ConfigurationException.JOB_CONTROLLER_CONFIG, exception.getMessage()); } return jobController; } /** * Gets the log level of the given logger name. * * @param loggerName Name of the logger wants to find the log level. * * @return Returns the log level, null, if the given logger could not be found. */ public Level getLogLevel(String loggerName) { return LoggingManager.getLogLevel(loggerName); } /** * Changes the log level for the requested logger name with the given log level. * * @param loggerName Logger name needs to be modified. * @param newLogLevel new logging level. * * @return Returns true, if log level could be changed, false, otherwise. */ public boolean changeLogLevel(String loggerName, Level level) { return LoggingManager.changeLogLevel(loggerName, level); } /** * This method will be called by the Main to process the job. This returns the * ErrorCode explaining whether the process has been failed or succeeded. * * @return Returns the ErrorCode as exit status of the job. */ public abstract ErrorCode process(); /** * Returns the statistics of this job. Statistics will be queried only * after the completion of controller processing. Querying before the completion * of processing always returns null. * * @return Returns the statistics of this job. */ public abstract JobStatistics getJobStatistics(); } Index: Repository.java =================================================================== RCS file: /cvsroot/batchserver/Repository.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Repository.java 3 Mar 2006 04:19:56 -0000 1.1 --- Repository.java 19 Sep 2006 22:51:29 -0000 1.2 *************** *** 1,128 **** ! package org.jmonks.batchserver.framework; - import org.jmonks.batchserver.framework.config.*; - import org.jmonks.batchserver.framework.controller.*; /** * <p> ! * This interface provides utility methods to access and use the repository. ! * There could be differnt implementations of the repository. Framework ! * configuration defines which implementation should be used for this framework. ! * This povides utility methods to logs the job statistics and persist any objects, ! * transfer some information between the jobs and transfer some management and monitor ! * information between framework and server. * </p> ! * @author : Suresh Pragada * @version 1.0 */ public abstract class Repository { ! ! private Repository() ! { ! } ! public static void getRepository(org.jmonks.batchserver.framework.config.RepositoryConfig config) ! { ! } /** ! * This method logs the job statistics given in the form JobStatistics object ! * in the repository for further use. ! * ! * @param statistics Job Statistics object which holds all the statistics related to that job. ! * ! * @return Returns true if statistics can be logged, false, otherwise. */ ! public abstract boolean logStatistics(org.jmonks.batchserver.framework.JobStatistics statistics); ! /** ! * Given data will be sent to the specified job behalf of this job. ! * ! * @param srcJN Name of the source job. ! * @param srcCmp Name of the source componenet. ! * @param tgtJN Name of the target job. ! * @param tgtCmp Name of the target component. ! * @param data data that needs to be sent as the object. ! * ! * @return Returns true, if it could save the data to be sent to the next job. */ ! public abstract boolean sendDatatoNextJob(String srcJN, String srcCmp, String tgtJN, String tgtCmp, Object data); ! /** ! * Gets the data that has been sent to this job. ! * ! * @param srcJN Name of the source job. ! * @param srcCmp Name of the source componenet. ! * @param tgtJN Name of the target job. ! * @param tgtCmp Name of the target component. ! * ! * @return Returns the data, null, it it couldnt find any data. */ ! public abstract Object getDataFromPreviousJob(String srcJN, String srcCmp, String tgtJN, String tgtCmp); ! /** ! * Registers the job management and monitoring info with the given job name. ! * ! * @param jobName Name of the job. ! * @param registrationInfo Information to be associated with this job name. ! * ! * @return Return true, if it could assosciate this information, false, otherwise. ! */ ! public abstract boolean registerJobMgmtMntrInfo(String jobName, Object registrationInfo); /** ! * Retrieves the management and monitoring information assosciated with this job. * ! * @param jobName Name of the job. * ! * @return Returns the registered information, null, if it doesnt find any information. */ ! public abstract Object lookupJobMgmtMntrInfo(String jobName); /** ! * Unregisters the job management and monitoring info assosciated with the given job name. * ! * @param jobName Name of the job. * ! * @return Return true, it it could unregister the information, false, otherwise. */ ! public abstract boolean unregisterJobMgmtMntrInfo(String jobName); /** ! * Gets the statistics related to that given job as a JobStatistics object array. * - * @param jobName Name of the job for which statistics are required. - * @return Returns the array of JobStatistics object, null, if it couldnt find any job with that name. */ ! public abstract org.jmonks.batchserver.framework.JobStatistics[] getStatistics(String jobName); ! /** ! * Persist the controller in repository. This will be useful, when job wants to be restarted. ! * When controller receives stop signal from servier with restart flag, it persist itself into ! * the repository. ! * ! * @param jobName Name of the job ! * @param controller Controller object to be persisted. * ! * @return Returns true, if it could persist the controller, false, otherwise. */ ! public abstract boolean saveController(org.jmonks.batchserver.framework.controller.JobController controller, String jobName); /** ! * Loads the controller assosicated with this job name in the repsoitory. When controller starts ! * execution, always, it looks into the reposiotry for restart. This can be overriden by passing addition ! * configuration property. * ! * @param jobName Name of the job. ! * @return Returns the controller object, null, if it couldnt find any. */ ! public abstract org.jmonks.batchserver.framework.controller.JobController loadController(String jobName); ! /** ! * Releases the persistedcontroller object from repository. * ! * @param jobName Name of the job. ! * @return Returns true, if it could release the controller from repository, null, otherwise. */ ! public abstract boolean releaseController(String jobName); } --- 1,206 ---- ! package org.jmonks.batch.framework; ! import java.util.Map; ! import org.apache.log4j.Logger; ! import org.jmonks.batch.framework.config.ConfigurationException; ! import org.jmonks.batch.framework.config.FrameworkConfig.RepositoryConfig; ! ! /** * <p> ! * Repository class provides utility methods to access and use the repository maintained ! * by the framework. The repository could be any data store from files to databases, useful ! * to save and retrieve the data. So, there could be different implementations available of ! * this Repository class. Framework configuration defines which implementation should ! * be used for the framework. * </p> ! * <p> ! * This povides utility methods to log the job statistics and transfer data between the jobs ! * and register & unregister management and monitoring information. Framework creates the ! * repository at the startup and provides this reference through the JobContext to all the jobs. ! * When the repository get created, it will be associated with the job beign run and all the ! * operations will be performed with respect to that job only. The job being run will be taken ! * as source job in all the operations. ! * </p> ! * <p> ! * Default framework configuration uses Db4o database as repository for its simplicity. ! * There is a JdbcRepository implementation by using which we can use any database that ! * can be used JDBC can be configured to use as repository. If anyone wish to use tools ! * provided to manage and monitor the applications, consider of using the JdbcRepository ! * implementation. ! * </p> ! * ! * @author Suresh Pragada * @version 1.0 + * @since 1.0 */ public abstract class Repository { ! private static Logger logger=Logger.getLogger(Repository.class); /** ! * Name of the job associated with the repository. */ ! protected String jobName=null; ! /** ! * <p> ! * Method to initialize the repository implementation by using the properties ! * defined in the framework configuration. This method will be called immediately ! * after instantiating the implementation class. ! * </p> ! * ! * @param configProps Configuration properties defined in <repository-config> element ! * in framework configuration file. ! * ! * @throws ConfigurationException If required configuration properties are missing or the values ! * are invalid. */ ! protected abstract void init(Map configProps); ! /** ! * <p> ! * Factory method creates the repository instance based on the given repository configuration and associate ! * this repository instance with the given job. So, all the repository operations performed ! * using this repository instance will be associated with that job and taken that job as source ! * job in all operations. This method will be called by the framework to create the repository and ! * places the reference in JobContext object. ! * </p> ! * ! * @param jobName Name of the job this repository will be associated with. ! * @param repositoryConfig Repository configuration defined in framework configuration. ! * @param repositoryCreator Creator of the repository. This is to restrict only framework can instantiate the repository. ! * ! * @return Returns the repository instances associated with the given job. ! * ! * @throws SecurityException If an attempt is made to create the repository by other than the Main class(framework). ! * @throws IllegalArgumentException If jobName is null to create the repository instance. ! * @throws ConfigurationException If required properties are missing in the repository configuration or the values are invalid. */ ! public static Repository createRepository(String jobName, RepositoryConfig repositoryConfig, Main repositoryCreator) ! { ! logger.trace("Entering createRepository"); ! ! if(!(repositoryCreator instanceof Main)) ! throw new SecurityException("Not authorized to create the repository."); ! ! if(repositoryConfig==null) ! throw new ConfigurationException(ConfigurationException.REPOSITORY_CONFIG, "Repository configuration is not defined in framework configuration"); ! ! if(jobName==null || "".equals(jobName)) ! throw new IllegalArgumentException("Job Name cannot be null or empty to create repository instance."); ! String repositoryClassName=repositoryConfig.getRepositoryClassName(); ! if(repositoryClassName==null || "".equals(repositoryClassName)) ! throw new ConfigurationException(ConfigurationException.REPOSITORY_CONFIG, "Repository class name is not defined in repository configuration"); ! logger.debug("repository class name = " + repositoryClassName); + Repository repository=null; + try + { + repository=(Repository)Class.forName(repositoryClassName).newInstance(); + repository.jobName=jobName; + repository.init(repositoryConfig.getRepositoryConfigProperties()); + logger.debug("created the repository implemenation class"); + } + catch(ClassNotFoundException exception) + { + exception.printStackTrace(); + logger.error(exception.getMessage(),exception); + throw new ConfigurationException(ConfigurationException.REPOSITORY_CONFIG, exception.getMessage()); + } + catch(InstantiationException exception) + { + exception.printStackTrace(); + logger.error(exception.getMessage(),exception); + throw new ConfigurationException(ConfigurationException.REPOSITORY_CONFIG, exception.getMessage()); + } + catch(IllegalAccessException exception) + { + exception.printStackTrace(); + logger.error(exception.getMessage(),exception); + throw new ConfigurationException(ConfigurationException.REPOSITORY_CONFIG, exception.getMessage()); + } + logger.trace("Exiting createRepository " + (repository!=null)); + return repository; + } + /** ! * <p> ! * Data will be send to the specified next job and will be identified with the ! * given identifier. By using different identifiers, multiple data objects ! * can be send to the same next job. Next job should use the data identifier ! * and this (source) job name to read the data. If there is any data with this ! * identifier from this job to the next job, it will be overriden. ! * </p> * ! * @param dataIdentifier Identifier to be used to exchange the data between two jobs. ! * @param nextJobName Name of the next job this data to be send. ! * @param data Data that needs to be send as the object. * ! * @return Returns true, if it could save the data to be send to the next job. ! * ! * @throws IllegalArgumentException If any one of the incoming values are null. */ ! public abstract boolean sendDataToNextJob(String dataIdentifier, String nextJobName, ! final Object data); /** ! * Gets the data that has been sent by the previous job with the given data identifier. * ! * @param dataIdentifier Identifier tied to the data that has been sent. ! * @param previousJobName Name of the previous job sent the data to this job. * ! * @return Returns the data, null, if it couldnt find any data from the previous job with that identifier. ! * ! * @throws IllegalArgumentException If any one of the input values are null. */ ! public abstract Object getDataFromPreviousJob(String dataIdentifier, String previousJobName); /** ! * <p> ! * This method will clear all the data that has been sent by this job to all the next jobs. ! * </p> ! * ! * @return Returns true if it could clear all the data, false, otherwise. * */ ! public abstract boolean clearDataTransferredFromThisJob(); ! /** ! * <p> ! * Registers the given job management and monitoring information to this job. ! * If there is any information already associated with this job, it ! * will be overriden. ! * </p> ! * ! * @param registrationInfo Information to be associated with the job. * ! * @return Return true, if it could assosciate this information, false, otherwise. ! * ! * @throws IllegalArgumentException If input argument registration information ! * value is null. */ ! public abstract boolean registerJobMgmtMntrInfo(final Object registrationInfo); /** ! * Unregisters the job management and monitoring information assosciated with this job. * ! * @return Return true, it it could unregister the information, false, otherwise. */ ! public abstract boolean unregisterJobMgmtMntrInfo(); ! /** ! * <p> ! * Logs the job statistics given in the form of JobStatistics object ! * in the repository for further use/references. ! * </p> ! * @param statistics Job Statistics object which holds all the statistics related to that job. * ! * @return Returns true if statistics can be logged into repository, false, otherwise. ! * ! * @throws IllegalArgumentException If input argument job statistics is null. */ ! public abstract boolean logStatistics(final JobStatistics statistics); } |
From: Suresh <sur...@us...> - 2006-09-19 22:51:32
|
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batch/framework/controller In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv3112/controller Removed Files: JobController.java Log Message: no message --- JobController.java DELETED --- |
From: Suresh <sur...@us...> - 2006-09-19 22:51:32
|
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batch/framework/controller/basic In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv3112/controller/basic Modified Files: BasicJobController.java Log Message: no message Index: BasicJobController.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batch/framework/controller/basic/BasicJobController.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** BasicJobController.java 19 Sep 2006 00:05:52 -0000 1.2 --- BasicJobController.java 19 Sep 2006 22:51:28 -0000 1.3 *************** *** 14,18 **** import org.jmonks.batch.framework.config.BasicJobControllerConfig; import org.jmonks.batch.framework.config.ConfigurationException; ! import org.jmonks.batch.framework.controller.JobController; import org.jmonks.batch.framework.management.ProcessorStatus; import org.jmonks.batch.framework.management.ProcessorState; --- 14,18 ---- import org.jmonks.batch.framework.config.BasicJobControllerConfig; import org.jmonks.batch.framework.config.ConfigurationException; ! import org.jmonks.batch.framework.JobController; import org.jmonks.batch.framework.management.ProcessorStatus; import org.jmonks.batch.framework.management.ProcessorState; |
From: Suresh <sur...@us...> - 2006-09-19 22:51:31
|
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batch/framework/management In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv3112/management Modified Files: JobConnectorHelper.java JobManagementAgent.java JobManager.java JobMonitor.java Log Message: no message Index: JobManagementAgent.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batch/framework/management/JobManagementAgent.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** JobManagementAgent.java 19 Sep 2006 00:05:52 -0000 1.2 --- JobManagementAgent.java 19 Sep 2006 22:51:28 -0000 1.3 *************** *** 14,18 **** import org.jmonks.batch.framework.Main; import org.jmonks.batch.framework.config.ConfigurationException; ! import org.jmonks.batch.framework.controller.JobController; /** --- 14,19 ---- import org.jmonks.batch.framework.Main; import org.jmonks.batch.framework.config.ConfigurationException; ! import org.jmonks.batch.framework.JobController; ! import org.jmonks.batch.framework.config.FrameworkConfig; /** *************** *** 45,52 **** public static final String JOB_MONITOR_MBEAN_NAME = "JobMonitorMBean"; /** - * Singleton job management agent instance. - */ - private static final JobManagementAgent jobManagementAgent=new JobManagementAgent(); - /** * JMX Connector server instance created for this agent. */ --- 46,49 ---- *************** *** 58,64 **** private JobConnectorHelper jobConnectorHelper=null; /** ! * Name of the job this agent configured for. */ ! private String jobName=null; /** * Tells whether the agent has been started or not. --- 55,61 ---- private JobConnectorHelper jobConnectorHelper=null; /** ! * Context of the job is being run. */ ! private JobContext jobContext=null; /** * Tells whether the agent has been started or not. *************** *** 73,94 **** /** ! * Initializes the job management agent. It make sure it would be able to get ! * the reference to job connector server helper class. ! * ! * @throws ConfigurationException If it couldnt get the job connector server helper class. */ private JobManagementAgent() { - this.jobConnectorHelper=JobConnectorHelper.getJobConnectorHelper(); - if(jobConnectorHelper==null) - throw new ConfigurationException(ConfigurationException.JOB_CONNECTOR_CONFIG, "could not get the reference to job connector helper class."); } /** ! * Returns the job management agent instance. ! */ ! public static JobManagementAgent getJobManagementAgent() { ! return jobManagementAgent; } --- 70,108 ---- /** ! * Make sure nobody is trying to create the agent from outside of this class. */ private JobManagementAgent() { } /** ! * <p> ! * Creates the agent and initializes with the job context and job connection ! * helper. Once it is created, it will be associated with the job in the job ! * context. ! * </p> ! * ! * @param jobContext Context of the job is being run. ! * @param agentCreator Main class instance authroized to create the agent. ! * ! * @return Returns the JobConnectorHelper implemenation. ! * ! * @throws SecurityException If there is an attempt to create the agent other than Main class(framework). ! * @throws ConfigurationException If unable to instantiate the job connection helper. ! */ ! public static JobManagementAgent createJobManagementAgent(JobContext jobContext, Main agentCreator) { ! logger.trace("Entering createJobManagementAgent"); ! ! if(!(agentCreator instanceof Main)) ! throw new SecurityException("Not authorized to create the management agent."); ! ! JobManagementAgent agent=new JobManagementAgent(); ! agent.jobContext=jobContext; ! agent.jobConnectorHelper=JobConnectorHelper.getJobConnectorHelper ! (jobContext.getFrameworkConfig().getJobConnectorConfig(), agent); ! ! logger.trace("Exiting createJobManagementAgent"); ! return agent; } *************** *** 106,114 **** * </ul> * <br> - * Agent can be started only once in the job life cycle. If it receives a request to start - * when it is already started, it throws IllegalStateException. * </p> * - * @param jobContext Context of the job is being run. * @param jobController Controller reference to be passed to the mbeans. * @param agentManager Main class reference as a agent manager. --- 120,125 ---- *************** *** 116,130 **** * @return Returns true, if manager is started properly, false, otherwise. * - * @throws SecurityException if an attempt is maded to start by any one other than Main(framework). * @throws IllegalArgumentException If input parameters job name or job controller is null. ! * @throws IllegalStateException If manager is already started or already stopped. */ ! public boolean start(JobContext jobContext, JobController jobController, Main agentManager) { logger.trace("Entering start"); - if(!(agentManager instanceof Main)) - throw new SecurityException("Not authorized to manage the agent."); - if(this.started) throw new IllegalStateException("job management agent has been already started."); --- 127,137 ---- * @return Returns true, if manager is started properly, false, otherwise. * * @throws IllegalArgumentException If input parameters job name or job controller is null. ! * @throws IllegalStateException If manager is already started. */ ! public boolean start(JobController jobController) { logger.trace("Entering start"); if(this.started) throw new IllegalStateException("job management agent has been already started."); *************** *** 132,142 **** throw new IllegalStateException("job management agent has not been stopped."); - if(jobContext==null) - throw new IllegalArgumentException("job context cannot be null to start the job management agent."); if(jobController==null) throw new IllegalArgumentException("controller object cannot be null to start the job management agent."); - this.jobName=jobContext.getJobName(); - try { --- 139,145 ---- *************** *** 160,168 **** ObjectName connectorServerObjectName= ! new ObjectName(JobManagementAgent.MBEAN_SERVER_DOMAIN_NAME+":jobName="+jobName+",objectType=JMXConnectorServer"); ObjectName monitorBeanObjectName= ! new ObjectName(JobManagementAgent.MBEAN_SERVER_DOMAIN_NAME+":jobName="+jobName+",objectType="+JobManagementAgent.JOB_MONITOR_MBEAN_NAME); ObjectName managerBeanObjectName= ! new ObjectName(JobManagementAgent.MBEAN_SERVER_DOMAIN_NAME+":jobName="+jobName+",objectType="+JobManagementAgent.JOB_MANAGER_MBEAN_NAME); mbeanServer.registerMBean(this.jmxConnectorServer, connectorServerObjectName); --- 163,171 ---- ObjectName connectorServerObjectName= ! new ObjectName(JobManagementAgent.MBEAN_SERVER_DOMAIN_NAME+":jobName="+this.jobContext.getJobName()+",objectType=JMXConnectorServer"); ObjectName monitorBeanObjectName= ! new ObjectName(JobManagementAgent.MBEAN_SERVER_DOMAIN_NAME+":jobName="+this.jobContext.getJobName()+",objectType="+JobManagementAgent.JOB_MONITOR_MBEAN_NAME); ObjectName managerBeanObjectName= ! new ObjectName(JobManagementAgent.MBEAN_SERVER_DOMAIN_NAME+":jobName="+this.jobContext.getJobName()+",objectType="+JobManagementAgent.JOB_MANAGER_MBEAN_NAME); mbeanServer.registerMBean(this.jmxConnectorServer, connectorServerObjectName); *************** *** 173,177 **** */ this.jmxConnectorServer.start(); ! boolean registered=this.jobConnectorHelper.registerConnectorServer(jobContext,this.jmxConnectorServer); if(registered) { --- 176,180 ---- */ this.jmxConnectorServer.start(); ! boolean registered=this.jobConnectorHelper.registerConnectorServer(this.jobContext,this.jmxConnectorServer); if(registered) { *************** *** 184,188 **** logger.error("Unable to register the jmx connector server using job connector helper"); this.started=false; ! this.stopped=false; } } --- 187,191 ---- logger.error("Unable to register the jmx connector server using job connector helper"); this.started=false; ! this.stopped=true; } } *************** *** 223,243 **** * exit status will be sent to all the JMX remote clients as a notification. * - * @param jobContext Context of the job is being run. * @param exitCode errorCode returned by controller to the Main class. - * @param agentManager Main class reference as a agent manager. * * @return Returns true, if agent could be stopped properly, false otherwise. * - * @throws SecurityException if an attempt is maded to stop by any one other than Main(framework). * @throws IllegalArgumentException If input parameter status code is null. * @throws IllegalStateException If agent is already stopped or it not yet started. */ ! public boolean stop(JobContext jobContext, ErrorCode exitCode, Main agentManager) { logger.trace("Entering stop"); - if(!(agentManager instanceof Main)) - throw new SecurityException("Not authorized to manage the agent."); - if(!this.started) throw new IllegalStateException("Job management agent has not been started."); --- 226,240 ---- * exit status will be sent to all the JMX remote clients as a notification. * * @param exitCode errorCode returned by controller to the Main class. * * @return Returns true, if agent could be stopped properly, false otherwise. * * @throws IllegalArgumentException If input parameter status code is null. * @throws IllegalStateException If agent is already stopped or it not yet started. */ ! public boolean stop(ErrorCode exitCode) { logger.trace("Entering stop"); if(!this.started) throw new IllegalStateException("Job management agent has not been started."); *************** *** 245,256 **** throw new IllegalStateException("Job management agent has been stopped already."); - if(jobContext==null) - throw new IllegalArgumentException("Job context cannot be null to stop the server."); - if(exitCode==null) throw new IllegalArgumentException("controller exit code cannot be null to stop the server."); try { ! JobNotification notification=new JobNotification(this.jobName, JobNotification.JOB_FINISHED, this, exitCode.toString()); this.jmxConnectorServer.sendNotification(notification); this.jmxConnectorServer.stop(); --- 242,250 ---- throw new IllegalStateException("Job management agent has been stopped already."); if(exitCode==null) throw new IllegalArgumentException("controller exit code cannot be null to stop the server."); try { ! JobNotification notification=new JobNotification(this.jobContext.getJobName(), JobNotification.JOB_FINISHED, this, exitCode.toString()); this.jmxConnectorServer.sendNotification(notification); this.jmxConnectorServer.stop(); Index: JobMonitor.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batch/framework/management/JobMonitor.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** JobMonitor.java 15 Sep 2006 20:07:01 -0000 1.1 --- JobMonitor.java 19 Sep 2006 22:51:28 -0000 1.2 *************** *** 11,15 **** package org.jmonks.batch.framework.management; ! import org.jmonks.batch.framework.controller.JobController; /** --- 11,15 ---- package org.jmonks.batch.framework.management; ! import org.jmonks.batch.framework.JobController; /** Index: JobManager.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batch/framework/management/JobManager.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** JobManager.java 15 Sep 2006 20:07:01 -0000 1.1 --- JobManager.java 19 Sep 2006 22:51:28 -0000 1.2 *************** *** 13,17 **** import javax.management.NotificationBroadcasterSupport; import org.apache.log4j.Level; ! import org.jmonks.batch.framework.controller.JobController; /** --- 13,17 ---- import javax.management.NotificationBroadcasterSupport; import org.apache.log4j.Level; ! import org.jmonks.batch.framework.JobController; /** Index: JobConnectorHelper.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batch/framework/management/JobConnectorHelper.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** JobConnectorHelper.java 15 Sep 2006 20:07:01 -0000 1.1 --- JobConnectorHelper.java 19 Sep 2006 22:51:28 -0000 1.2 *************** *** 15,19 **** import org.jmonks.batch.framework.JobContext; import org.jmonks.batch.framework.config.ConfigurationException; ! import org.jmonks.batch.framework.config.FrameworkConfig; /** --- 15,19 ---- import org.jmonks.batch.framework.JobContext; import org.jmonks.batch.framework.config.ConfigurationException; ! import org.jmonks.batch.framework.config.FrameworkConfig.JobConnectorConfig; /** *************** *** 21,29 **** * JobConnectorHelper defines the helper methods will be used in creating the * JMX connector server, registering and unregistering the JMX connector server ! * in lookup location and querying the registerd jobs in look up location and ! * creating the JMX connector clients. * Because of many possible implementations available in creating * the JMX connector server and lookup locations, this class defines the methods ! * to choose their own implementations. Mainly, Agent and client looks for the following * information and activities from the concrete implementations of the connector * helper class. --- 21,28 ---- * JobConnectorHelper defines the helper methods will be used in creating the * JMX connector server, registering and unregistering the JMX connector server ! * in lookup location. * Because of many possible implementations available in creating * the JMX connector server and lookup locations, this class defines the methods ! * to choose their own implementations. Mainly, Agent looks for the following * information and activities from the concrete implementations of the connector * helper class. *************** *** 33,43 **** * <li>Register the given the JMX connector server in the lookup location with the given jobname. * <li>Unregister the JMX connector server available in lookup location with the given jobname. - * <li>Get all the registered jobs in look up location as list. - * <li>Get the JMX connector from the look up location for the requested job name. * </ul> * <br> * This class provides the factory method to return the configured JobConnectorHelper * instance by looking at the framework configuration and make sure only one ! * instance will be created for the job(jvm). * </p> * @author Suresh Pragada --- 32,40 ---- * <li>Register the given the JMX connector server in the lookup location with the given jobname. * <li>Unregister the JMX connector server available in lookup location with the given jobname. * </ul> * <br> * This class provides the factory method to return the configured JobConnectorHelper * instance by looking at the framework configuration and make sure only one ! * instance will be created for the job. * </p> * @author Suresh Pragada *************** *** 48,59 **** { private static Logger logger=Logger.getLogger(JobConnectorHelper.class); - /** - * Singleton job connector helper instance. - */ - private static JobConnectorHelper jobConnectorHelper=null; /** * This factory method creates the correct implementation of JobConnectorHelper ! * based on the configuration defined in framework-config.xml file. * This looks for the following configuration and uses the class name provided * at the job-connector-helper-class-name attribute to create the helper --- 45,52 ---- { private static Logger logger=Logger.getLogger(JobConnectorHelper.class); /** * This factory method creates the correct implementation of JobConnectorHelper ! * based on the given configuration which is defined in framework-config.xml file. * This looks for the following configuration and uses the class name provided * at the job-connector-helper-class-name attribute to create the helper *************** *** 68,109 **** * @return Returns the JobConnectorHelper implemenation. * * @throws ConfigurationException If configuration could not be found or * implementation class cannot be accessed or instantiated. */ ! public static synchronized JobConnectorHelper getJobConnectorHelper() { logger.trace("Entering getJobConnectorHelper"); - if(jobConnectorHelper==null) - { - FrameworkConfig.JobConnectorConfig jobConnectorConfig=FrameworkConfig.getInstance().getJobConnectorConfig(); - if(jobConnectorConfig==null) - throw new ConfigurationException(ConfigurationException.JOB_CONNECTOR_CONFIG, "job connector configuration is not configured in framework configuration"); ! String jobConnectorHelperClassName=jobConnectorConfig.getJobConnectorHelperClassName(); ! logger.trace("Job connector helper class name = " + jobConnectorHelperClassName); ! try ! { ! jobConnectorHelper=(JobConnectorHelper)Class.forName(jobConnectorHelperClassName).newInstance(); ! jobConnectorHelper.init(jobConnectorConfig.getJobConnectorConfigProperties()); ! } ! catch(ClassNotFoundException exception) ! { ! exception.printStackTrace(); ! logger.error(exception.getMessage(),exception); ! throw new ConfigurationException(ConfigurationException.JOB_CONNECTOR_CONFIG, exception.getMessage()); ! } ! catch(InstantiationException exception) ! { ! exception.printStackTrace(); ! logger.error(exception.getMessage(),exception); ! throw new ConfigurationException(ConfigurationException.JOB_CONNECTOR_CONFIG, exception.getMessage()); ! } ! catch(IllegalAccessException exception) ! { ! exception.printStackTrace(); ! logger.error(exception.getMessage(),exception); ! throw new ConfigurationException(ConfigurationException.JOB_CONNECTOR_CONFIG, exception.getMessage()); ! } } logger.trace("Exiting getJobConnectorHelper"); return jobConnectorHelper; --- 61,106 ---- * @return Returns the JobConnectorHelper implemenation. * + * @throws SecurityException If there is any attempt to create the job connector helper by other than JobManagementAgent. * @throws ConfigurationException If configuration could not be found or * implementation class cannot be accessed or instantiated. */ ! public static synchronized JobConnectorHelper getJobConnectorHelper(JobConnectorConfig jobConnectorConfig, JobManagementAgent agent) { logger.trace("Entering getJobConnectorHelper"); ! if(!(agent instanceof JobManagementAgent)) ! throw new SecurityException("Not authorized to create the job connector helper."); ! ! if(jobConnectorConfig==null) ! throw new ConfigurationException(ConfigurationException.JOB_CONNECTOR_CONFIG, "job connector configuration is not configured in framework configuration"); ! ! String jobConnectorHelperClassName=jobConnectorConfig.getJobConnectorHelperClassName(); ! logger.trace("Job connector helper class name = " + jobConnectorHelperClassName); ! ! JobConnectorHelper jobConnectorHelper=null; ! try ! { ! jobConnectorHelper=(JobConnectorHelper)Class.forName(jobConnectorHelperClassName).newInstance(); ! jobConnectorHelper.init(jobConnectorConfig.getJobConnectorConfigProperties()); ! } ! catch(ClassNotFoundException exception) ! { ! exception.printStackTrace(); ! logger.error(exception.getMessage(),exception); ! throw new ConfigurationException(ConfigurationException.JOB_CONNECTOR_CONFIG, exception.getMessage()); ! } ! catch(InstantiationException exception) ! { ! exception.printStackTrace(); ! logger.error(exception.getMessage(),exception); ! throw new ConfigurationException(ConfigurationException.JOB_CONNECTOR_CONFIG, exception.getMessage()); } + catch(IllegalAccessException exception) + { + exception.printStackTrace(); + logger.error(exception.getMessage(),exception); + throw new ConfigurationException(ConfigurationException.JOB_CONNECTOR_CONFIG, exception.getMessage()); + } + logger.trace("Exiting getJobConnectorHelper"); return jobConnectorHelper; |
From: Suresh <sur...@us...> - 2006-09-19 22:51:31
|
Update of /cvsroot/batchserver/batchserver/src/org/jmonks/batch/framework/controller/pool In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv3112/controller/pool Modified Files: PoolJobController.java Log Message: no message Index: PoolJobController.java =================================================================== RCS file: /cvsroot/batchserver/batchserver/src/org/jmonks/batch/framework/controller/pool/PoolJobController.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** PoolJobController.java 19 Sep 2006 00:05:52 -0000 1.2 --- PoolJobController.java 19 Sep 2006 22:51:29 -0000 1.3 *************** *** 14,18 **** import org.jmonks.batch.framework.config.ConfigurationException; import org.jmonks.batch.framework.config.PoolJobControllerConfig; ! import org.jmonks.batch.framework.controller.JobController; import org.jmonks.batch.framework.management.ProcessorState; import org.jmonks.batch.framework.management.ProcessorStatus; --- 14,18 ---- import org.jmonks.batch.framework.config.ConfigurationException; import org.jmonks.batch.framework.config.PoolJobControllerConfig; ! import org.jmonks.batch.framework.JobController; import org.jmonks.batch.framework.management.ProcessorState; import org.jmonks.batch.framework.management.ProcessorStatus; |
From: Suresh <sur...@us...> - 2006-09-19 17:07:48
|
Update of /cvsroot/batchserver/batchserver In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv20631 Modified Files: build_framework.xml Log Message: no message Index: build_framework.xml =================================================================== RCS file: /cvsroot/batchserver/batchserver/build_framework.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** build_framework.xml 19 Sep 2006 12:09:57 -0000 1.2 --- build_framework.xml 19 Sep 2006 17:07:44 -0000 1.3 *************** *** 3,7 **** <!-- ===================== Property Definitions =========================== --> ! <property name="app.version" value="1.0"/> <property name="app.name" value="batch_framework"/> --- 3,7 ---- <!-- ===================== Property Definitions =========================== --> ! <property name="app.version" value="1.0_beta"/> <property name="app.name" value="batch_framework"/> *************** *** 87,91 **** <mkdir dir="${build.home}/src"/> <echo message="Classpath for compilation : ${compile.classpath}"/> ! <javac srcdir="${src.home}" destdir="${build.home}/src" debug="${compile.debug}" --- 87,91 ---- <mkdir dir="${build.home}/src"/> <echo message="Classpath for compilation : ${compile.classpath}"/> ! <javac srcdir="${src.home}/org/jmonks/batch/framework" destdir="${build.home}/src" debug="${compile.debug}" *************** *** 97,101 **** <!-- Copy application resources --> <copy todir="${build.home}/src"> ! <fileset dir="${src.home}"> <patternset refid="app.resources"/> </fileset> --- 97,101 ---- <!-- Copy application resources --> <copy todir="${build.home}/src"> ! <fileset dir="${src.home}/org/jmonks/batch/framework"> <patternset refid="app.resources"/> </fileset> |