hammant 2002/10/18 03:14:01
Modified: . build.xml
src/java/org/apache/avalon/cornerstone/blocks/scheduler
DefaultTimeScheduler.java TimeScheduledEntry.java
Added: src/java/org/apache/avalon/cornerstone/blocks/scheduler
MonitorableTimeScheduler.java
MonitorableTimeSchedulerMBean.java
Log:
A JMX face to scheduler
Revision Changes Path
1.117 +2 -0 jakarta-avalon-cornerstone/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/build.xml,v
retrieving revision 1.116
retrieving revision 1.117
diff -u -r1.116 -r1.117
--- build.xml 17 Oct 2002 21:44:22 -0000 1.116
+++ build.xml 18 Oct 2002 10:14:00 -0000 1.117
@@ -164,6 +164,7 @@
<include name="org/apache/avalon/cornerstone/services/**"/>
<fileset dir="${gen.dir}">
<include name="**/*.xinfo"/>
+ <include name="**/*.mxinfo"/>
</fileset>
<fileset dir="${src.dir}/java">
<include name="**/*-schema.xml"/>
@@ -181,6 +182,7 @@
<include name="org/apache/avalon/cornerstone/blocks/**"/>
<fileset dir="${gen.dir}">
<include name="**/*.xinfo"/>
+ <include name="**/*.mxinfo"/>
</fileset>
</jar>
</target>
1.25 +17 -3
jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/scheduler/DefaultTimeScheduler.java
Index: DefaultTimeScheduler.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/scheduler/DefaultTimeScheduler.java,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- DefaultTimeScheduler.java 5 Oct 2002 00:49:08 -0000 1.24
+++ DefaultTimeScheduler.java 18 Oct 2002 10:14:01 -0000 1.25
@@ -7,9 +7,7 @@
*/
package org.apache.avalon.cornerstone.blocks.scheduler;
-import java.util.Hashtable;
-import java.util.NoSuchElementException;
-import java.util.ArrayList;
+import java.util.*;
import org.apache.avalon.cornerstone.services.scheduler.Target;
import org.apache.avalon.cornerstone.services.scheduler.TimeScheduler;
@@ -28,6 +26,7 @@
*
* @phoenix:block
* @phoenix:service
name="org.apache.avalon.cornerstone.services.scheduler.TimeScheduler"
+ * @phoenix:mx
name="org.apache.avalon.cornerstone.blocks.scheduler.MonitorableTimeSchedulerMBean"
*
* @author <a href="mailto:peter at apache.org">Peter Donald</a>
* @author <a href="mailto:ram.chidambaram@;telus.com">Ram Chidambaram</a>
@@ -390,6 +389,21 @@
triggerFailureListener.triggerFailure(t);
}
+ }
+
+
+ /**
+ * Return a collection of the triggerable names.
+ * @return
+ */
+ public synchronized Collection getEntries() {
+ Collection coll = m_entries.keySet();
+ Vector retval = new Vector();
+ for (Iterator iterator = coll.iterator(); iterator.hasNext();) {
+ TimeScheduledEntry tse = (TimeScheduledEntry) m_entries.get((String)
iterator.next());
+ retval.add(tse.toString());
+ }
+ return retval;
}
1.6 +5 -1
jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/scheduler/TimeScheduledEntry.java
Index: TimeScheduledEntry.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/scheduler/TimeScheduledEntry.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- TimeScheduledEntry.java 5 Aug 2002 14:12:13 -0000 1.5
+++ TimeScheduledEntry.java 18 Oct 2002 10:14:01 -0000 1.6
@@ -10,6 +10,9 @@
import org.apache.avalon.cornerstone.services.scheduler.Target;
import org.apache.avalon.cornerstone.services.scheduler.TimeTrigger;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
/**
* Class use internally to package to hold scheduled time entries.
*
@@ -21,6 +24,7 @@
protected final String m_name;
protected final TimeTrigger m_trigger;
protected final Target m_target;
+ private static SimpleDateFormat DATEFORMAT = new SimpleDateFormat();
//cached version of time from TimeTrigger class
protected long m_time;
@@ -108,7 +112,7 @@
public String toString()
{
- return "TimeEntry[ name=" + m_name + " valid=" + m_isValid + " time=" +
m_time;
+ return "TimeEntry[ name=" + m_name + " valid=" + m_isValid + " time=" +
DATEFORMAT.format(new Date(m_time)) + " ]";
}
}
1.1
jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/scheduler/MonitorableTimeScheduler.java
Index: MonitorableTimeScheduler.java
===================================================================
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE.txt file.
*/
package org.apache.avalon.cornerstone.blocks.scheduler;
/**
* A JMX Monitorable TimeScheduler.
* @author Paul Hammant
*/
public class MonitorableTimeScheduler extends DefaultTimeScheduler
implements MonitorableTimeSchedulerMBean {
}
1.1
jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/scheduler/MonitorableTimeSchedulerMBean.java
Index: MonitorableTimeSchedulerMBean.java
===================================================================
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE.txt file.
*/
package org.apache.avalon.cornerstone.blocks.scheduler;
import java.util.Collection;
/**
* @phoenix:mx-topic name="SchedulerMonitor"
* @author Paul Hammant
*/
public interface MonitorableTimeSchedulerMBean {
/**
* The triggerable names.
* @return The triggerable names
* @phoenix:mx-attribute
*/
Collection getEntries();
}
--
To unsubscribe, e-mail: <mailto:avalon-cvs-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-cvs-help@;jakarta.apache.org>