Return-Path:
Delivered-To: apmail-felix-commits-archive@www.apache.org
Received: (qmail 7824 invoked from network); 8 Jul 2007 20:44:31 -0000
Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2)
by minotaur.apache.org with SMTP; 8 Jul 2007 20:44:31 -0000
Received: (qmail 1113 invoked by uid 500); 8 Jul 2007 20:44:33 -0000
Delivered-To: apmail-felix-commits-archive@felix.apache.org
Received: (qmail 1092 invoked by uid 500); 8 Jul 2007 20:44:33 -0000
Mailing-List: contact commits-help@felix.apache.org; run by ezmlm
Precedence: bulk
List-Help:
List-Unsubscribe:
List-Post:
List-Id:
Reply-To: dev@felix.apache.org
Delivered-To: mailing list commits@felix.apache.org
Received: (qmail 1083 invoked by uid 99); 8 Jul 2007 20:44:33 -0000
Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133)
by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 08 Jul 2007 13:44:33 -0700
X-ASF-Spam-Status: No, hits=-99.5 required=10.0
tests=ALL_TRUSTED,NO_REAL_NAME
X-Spam-Check-By: apache.org
Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3)
by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 08 Jul 2007 13:44:28 -0700
Received: by eris.apache.org (Postfix, from userid 65534)
id 5B8661A981A; Sun, 8 Jul 2007 13:44:08 -0700 (PDT)
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: svn commit: r554436 - in
/felix/sandbox/donsez/monitor.sample.memorymonitorjob: ./ doc/ src/
src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/
src/main/java/org/apache/felix/ src/main/java/org/apache/felix/monitor/
src/main/java/org...
Date: Sun, 08 Jul 2007 20:44:08 -0000
To: commits@felix.apache.org
From: donsez@apache.org
X-Mailer: svnmailer-1.1.0
Message-Id: <20070708204408.5B8661A981A@eris.apache.org>
X-Virus-Checked: Checked by ClamAV on apache.org
Author: donsez
Date: Sun Jul 8 13:44:07 2007
New Revision: 554436
URL: http://svn.apache.org/viewvc?view=rev&rev=554436
Log:
creation of the monitor.sample.memorymonitorjob bundle, a sample of a Monitor Job
Added:
felix/sandbox/donsez/monitor.sample.memorymonitorjob/
felix/sandbox/donsez/monitor.sample.memorymonitorjob/doc/
felix/sandbox/donsez/monitor.sample.memorymonitorjob/doc/readme.html (with props)
felix/sandbox/donsez/monitor.sample.memorymonitorjob/pom.xml (with props)
felix/sandbox/donsez/monitor.sample.memorymonitorjob/src/
felix/sandbox/donsez/monitor.sample.memorymonitorjob/src/main/
felix/sandbox/donsez/monitor.sample.memorymonitorjob/src/main/java/
felix/sandbox/donsez/monitor.sample.memorymonitorjob/src/main/java/org/
felix/sandbox/donsez/monitor.sample.memorymonitorjob/src/main/java/org/apache/
felix/sandbox/donsez/monitor.sample.memorymonitorjob/src/main/java/org/apache/felix/
felix/sandbox/donsez/monitor.sample.memorymonitorjob/src/main/java/org/apache/felix/monitor/
felix/sandbox/donsez/monitor.sample.memorymonitorjob/src/main/java/org/apache/felix/monitor/sample/
felix/sandbox/donsez/monitor.sample.memorymonitorjob/src/main/java/org/apache/felix/monitor/sample/memorymonitorjob/
felix/sandbox/donsez/monitor.sample.memorymonitorjob/src/main/java/org/apache/felix/monitor/sample/memorymonitorjob/MemoryMonitorJob.java (with props)
Added: felix/sandbox/donsez/monitor.sample.memorymonitorjob/doc/readme.html
URL: http://svn.apache.org/viewvc/felix/sandbox/donsez/monitor.sample.memorymonitorjob/doc/readme.html?view=auto&rev=554436
==============================================================================
--- felix/sandbox/donsez/monitor.sample.memorymonitorjob/doc/readme.html (added)
+++ felix/sandbox/donsez/monitor.sample.memorymonitorjob/doc/readme.html Sun Jul 8 13:44:07 2007
@@ -0,0 +1,56 @@
+
+
+
+
+ Memory Monitor Job
+
+
+Memory Monitor Job
+
+Description
+This bundle provides a sample of a monitoring job (Chapter 119 Monitor Admin Service Specification Version 1.0)
+
+
+
+
+Contributor(s)
+Apache Felix Project Team
+
+
+License
+ASL2
+
+
+Services
+
+- org.osgi.service.event.EventHandler
+
+
+
+
+Provisions
+None
+
+
+Documentation
+
+
+
+
+TODOLIST
+TODO
+
+
+Links
+
+
+
+
+
+
Propchange: felix/sandbox/donsez/monitor.sample.memorymonitorjob/doc/readme.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: felix/sandbox/donsez/monitor.sample.memorymonitorjob/pom.xml
URL: http://svn.apache.org/viewvc/felix/sandbox/donsez/monitor.sample.memorymonitorjob/pom.xml?view=auto&rev=554436
==============================================================================
--- felix/sandbox/donsez/monitor.sample.memorymonitorjob/pom.xml (added)
+++ felix/sandbox/donsez/monitor.sample.memorymonitorjob/pom.xml Sun Jul 8 13:44:07 2007
@@ -0,0 +1,108 @@
+
+
+
+
+ http://www.apache.org/~donsez/dev/osgi/
+ provides a simple monitoring job.
+
+
+
+ org.apache.felix
+ felix
+ 0.9.0-incubator-SNAPSHOT
+
+
+ 4.0.0
+ bundle
+ Apache Felix Monitor Admin Sample : Memory Monitor Job
+ org.apache.felix.monitor.sample.memorymonitorjob
+ ${description}
+
+
+
+ ${pom.groupId}
+ org.osgi.core
+ ${pom.version}
+
+
+ ${pom.groupId}
+ org.osgi.compendium
+ ${pom.version}
+
+
+ ${pom.groupId}
+ org.apache.felix.monitor
+ ${pom.version}
+
+
+
+
+
+ org.apache.felix
+ maven-bundle-plugin
+ true
+
+
+
+
+
+
+ org.osgi.service.event.EventHandler
+
+
+ ${pom.artifactId}.*
+ *
+
+ ${pom.artifactId}.MemoryMonitorJob
+
+
+
+
+
+
+
+
+
+
+
+
Propchange: felix/sandbox/donsez/monitor.sample.memorymonitorjob/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: felix/sandbox/donsez/monitor.sample.memorymonitorjob/src/main/java/org/apache/felix/monitor/sample/memorymonitorjob/MemoryMonitorJob.java
URL: http://svn.apache.org/viewvc/felix/sandbox/donsez/monitor.sample.memorymonitorjob/src/main/java/org/apache/felix/monitor/sample/memorymonitorjob/MemoryMonitorJob.java?view=auto&rev=554436
==============================================================================
--- felix/sandbox/donsez/monitor.sample.memorymonitorjob/src/main/java/org/apache/felix/monitor/sample/memorymonitorjob/MemoryMonitorJob.java (added)
+++ felix/sandbox/donsez/monitor.sample.memorymonitorjob/src/main/java/org/apache/felix/monitor/sample/memorymonitorjob/MemoryMonitorJob.java Sun Jul 8 13:44:07 2007
@@ -0,0 +1,100 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.felix.monitor.sample.memorymonitorjob;
+
+import java.util.Dictionary;
+import java.util.Hashtable;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+import org.osgi.service.event.Event;
+import org.osgi.service.event.EventConstants;
+import org.osgi.service.event.EventHandler;
+import org.osgi.service.monitor.MonitorAdmin;
+import org.osgi.service.monitor.MonitoringJob;
+import org.osgi.util.tracker.ServiceTracker;
+
+/**
+ * This example is inspired from the 119.4.4.1 Example Monitoring Job.
+ * For example, a bundle is interested in working with periodic samples of the
+ * com.acme.foo/memory.free Status Variable. It should therefore register an
+ * Event Handler with the correct topic and a filter on its Event Handler service.
+ * It then starts a monitoring job that is stopped in the BundleActivator
+ * stop method.
+ * @author Felix Project Team
+ *
+ */
+public class MemoryMonitorJob implements BundleActivator, EventHandler {
+
+ private static final String SERVICE_PID = "java.lang.runtime";
+
+ private static final String MEMORY_FREE_VARIABLE_NAME = "memory.free";
+ private static final String MEMORY_TOTAL_VARIABLE_NAME = "memory.total";
+
+ private MonitoringJob job;
+ private ServiceTracker serviceTracker;
+
+ /**
+ * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
+ */
+ public void start(BundleContext context) throws Exception {
+
+ String monListenerId="org.apache.felix.monitor.sample.memorymonitorjob#"+context.getBundle().getBundleId();
+
+ serviceTracker=new ServiceTracker(context,MonitorAdmin.class.getName(),null);
+ serviceTracker.open();
+
+ Dictionary properties = new Hashtable();
+ properties.put(EventConstants.EVENT_TOPIC, new String[]{"org/osgi/service/monitor"});
+ properties.put(EventConstants.EVENT_FILTER,
+ "(mon.listener.id="+monListenerId+")");
+ context.registerService(EventHandler.class.getName(), this, properties);
+ MonitorAdmin monitorAdmin=(MonitorAdmin) serviceTracker.getService();
+ if(monitorAdmin==null)
+ throw new IllegalStateException("could not start if no MonitorAdmin service is available");
+
+ job = monitorAdmin.startScheduledJob(
+ monListenerId, // listener.id
+ new String[] {
+ SERVICE_PID + "/" + MEMORY_FREE_VARIABLE_NAME,
+ SERVICE_PID + "/" + MEMORY_TOTAL_VARIABLE_NAME
+ },
+ 20, // seconds
+ 0 // Forever
+ );
+ }
+
+ /**
+ * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
+ */
+ public void stop(BundleContext context) throws Exception {
+ job.stop();
+ serviceTracker.close();
+ }
+
+ /**
+ * @see org.osgi.service.event.EventHandler#handleEvent(org.osgi.service.event.Event)
+ */
+ public void handleEvent(Event event) {
+ String pid = (String) event.getProperty("mon.monitorable.pid");
+ String name = (String) event.getProperty("mon.statusvariable.name");
+ Object value = event.getProperty("mon.statusvariable.value");
+ System.out.println("StatusVariable "+pid+"/" + name + "=" + value);
+ }
+}
Propchange: felix/sandbox/donsez/monitor.sample.memorymonitorjob/src/main/java/org/apache/felix/monitor/sample/memorymonitorjob/MemoryMonitorJob.java
------------------------------------------------------------------------------
svn:eol-style = native