Return-Path: Delivered-To: apmail-geronimo-scm-archive@www.apache.org Received: (qmail 76426 invoked from network); 15 Oct 2010 00:48:08 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 15 Oct 2010 00:48:08 -0000 Received: (qmail 99035 invoked by uid 500); 15 Oct 2010 00:48:08 -0000 Delivered-To: apmail-geronimo-scm-archive@geronimo.apache.org Received: (qmail 99001 invoked by uid 500); 15 Oct 2010 00:48:08 -0000 Mailing-List: contact scm-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list scm@geronimo.apache.org Received: (qmail 98994 invoked by uid 99); 15 Oct 2010 00:48:08 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 15 Oct 2010 00:48:08 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 15 Oct 2010 00:48:04 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 86AFD23888D7; Fri, 15 Oct 2010 00:47:07 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1022792 - in /geronimo/specs/trunk/geronimo-availability_1.0_spec: ./ src/main/java/javax/availability/management/ Date: Fri, 15 Oct 2010 00:47:07 -0000 To: scm@geronimo.apache.org From: adc@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20101015004707.86AFD23888D7@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: adc Date: Fri Oct 15 00:47:06 2010 New Revision: 1022792 URL: http://svn.apache.org/viewvc?rev=1022792&view=rev Log: GERONIMO-5645 updated API Modified: geronimo/specs/trunk/geronimo-availability_1.0_spec/pom.xml geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/ActivationReason.java geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityAgent.java geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityAgentFactory.java geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityAgentService.java geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityContainerController.java geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityException.java geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityService.java geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityUnitController.java geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/DeactivationReason.java geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/HealthCheck.java Modified: geronimo/specs/trunk/geronimo-availability_1.0_spec/pom.xml URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-availability_1.0_spec/pom.xml?rev=1022792&r1=1022791&r2=1022792&view=diff ============================================================================== --- geronimo/specs/trunk/geronimo-availability_1.0_spec/pom.xml (original) +++ geronimo/specs/trunk/geronimo-availability_1.0_spec/pom.xml Fri Oct 15 00:47:06 2010 @@ -31,12 +31,12 @@ org.apache.geronimo.specs - geronimo-availability_0.4_spec + geronimo-availability_1.0_spec bundle - Apache Geronimo Availability Management for Java 0.4 + Apache Geronimo Availability Management for Java 1.0 1.0-SNAPSHOT - Availability JSR ??? API + JSR 319: Availability Management for Java http://geronimo.apache.org/maven/${siteId}/${version} @@ -51,9 +51,9 @@ - scm:svn:http://svn.apache.org/repos/asf/geronimo/specs/trunk/geronimo-availability_0.4_spec/ - scm:svn:https://svn.apache.org/repos/asf/geronimo/specs/trunk/geronimo-availability_0.4_spec/ - http://svn.apache.org/viewcvs.cgi/geronimo/specs/trunk/geronimo-availability_0.4_spec/ + scm:svn:http://svn.apache.org/repos/asf/geronimo/specs/trunk/geronimo-availability_1.0_spec/ + scm:svn:https://svn.apache.org/repos/asf/geronimo/specs/trunk/geronimo-availability_1.0_spec/ + http://svn.apache.org/viewcvs.cgi/geronimo/specs/trunk/geronimo-availability_1.0_spec/ @@ -63,7 +63,7 @@ maven-bundle-plugin - javax.availability.management*;version=0.4 + javax.availability.management*;version=1.0 Modified: geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/ActivationReason.java URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/ActivationReason.java?rev=1022792&r1=1022791&r2=1022792&view=diff ============================================================================== --- geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/ActivationReason.java (original) +++ geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/ActivationReason.java Fri Oct 15 00:47:06 2010 @@ -17,13 +17,15 @@ */ package javax.availability.management; +import java.io.Serializable; + + /** * @version $Rev$ $Date$ */ -public enum ActivationReason { +public enum ActivationReason implements Serializable, Comparable { START_UP, FAIL_OVER, - SWITCH_OVER, - UPGRADE + SWITCH_OVER } Modified: geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityAgent.java URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityAgent.java?rev=1022792&r1=1022791&r2=1022792&view=diff ============================================================================== --- geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityAgent.java (original) +++ geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityAgent.java Fri Oct 15 00:47:06 2010 @@ -17,6 +17,7 @@ */ package javax.availability.management; +import java.util.Properties; import java.util.concurrent.ExecutorService; @@ -27,5 +28,7 @@ public interface AvailabilityAgent { void init(AvailabilityContainerController container, ExecutorService executor) throws AvailabilityException; + void init(AvailabilityContainerController container, ExecutorService executor, Properties properties) throws AvailabilityException; + void terminate() throws AvailabilityException; } Modified: geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityAgentFactory.java URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityAgentFactory.java?rev=1022792&r1=1022791&r2=1022792&view=diff ============================================================================== --- geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityAgentFactory.java (original) +++ geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityAgentFactory.java Fri Oct 15 00:47:06 2010 @@ -17,27 +17,38 @@ */ package javax.availability.management; +import java.util.Properties; + + /** * @version $Rev$ $Date$ */ public class AvailabilityAgentFactory { private static final Object LOCK = new Object(); - private static AvailabilityAgent agent; + private static AvailabilityAgent AGENT; public static synchronized AvailabilityAgent instantiateAvailabilityAgent() throws AvailabilityException { + return instantiateAvailabilityAgent(null); + } + + public static AvailabilityAgent instantiateAvailabilityAgent(Properties properties) throws AvailabilityException { + + if (properties == null) properties = new Properties(); + synchronized (LOCK) { - if (agent != null) return agent; + if (AGENT != null) return AGENT; - String agentClassName = System.getProperty("javax.availability.management.agent"); + String agentClassName = properties.getProperty("javax.availability.management.agent"); + if (agentClassName == null) agentClassName = System.getProperty("javax.availability.management.agent"); if (agentClassName == null) throw new AvailabilityException("javax.availability.management.agent has not been set"); try { Class agentClass = Class.forName(agentClassName); - agent = (AvailabilityAgent) agentClass.newInstance(); + AGENT = (AvailabilityAgent) agentClass.newInstance(); } catch (ClassNotFoundException cnfe) { throw new AvailabilityException("Unable to locate class " + agentClassName, cnfe); } catch (InstantiationException ie) { @@ -48,7 +59,7 @@ public class AvailabilityAgentFactory { throw new AvailabilityException("The class " + agentClassName + " does not implement AvailabilityAgent", cce); } - return agent; + return AGENT; } } } Modified: geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityAgentService.java URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityAgentService.java?rev=1022792&r1=1022791&r2=1022792&view=diff ============================================================================== --- geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityAgentService.java (original) +++ geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityAgentService.java Fri Oct 15 00:47:06 2010 @@ -22,9 +22,9 @@ package javax.availability.management; */ public interface AvailabilityAgentService { - void reportError(); + void disableHealthchecks(); void enableHealthchecks(); - void disableHealthchecks(); + void reportError(HealthState state); } Modified: geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityContainerController.java URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityContainerController.java?rev=1022792&r1=1022791&r2=1022792&view=diff ============================================================================== --- geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityContainerController.java (original) +++ geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityContainerController.java Fri Oct 15 00:47:06 2010 @@ -17,20 +17,23 @@ */ package javax.availability.management; +import java.util.Map; + + /** * @version $Rev$ $Date$ */ public interface AvailabilityContainerController extends AvailabilityUnitController { - void init(String name, AvailabilityAgentService service) throws AvailabilityException; + void activate(ActivationReason reason, Map attributes) throws AvailabilityException; - void activate(ActivationReason reason) throws AvailabilityException; + void checkHealth() throws AvailabilityException; void deactivate(DeactivationReason reason) throws AvailabilityException; - void terminate() throws AvailabilityException; - - void checkHealth() throws AvailabilityException; + void init(AvailabilityAgentService service) throws AvailabilityException; AvailabilityUnitController instantiateAvailabilityUnit(String name, AvailabilityAgentService service) throws AvailabilityException; + + void terminate() throws AvailabilityException; } Modified: geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityException.java URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityException.java?rev=1022792&r1=1022791&r2=1022792&view=diff ============================================================================== --- geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityException.java (original) +++ geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityException.java Fri Oct 15 00:47:06 2010 @@ -34,6 +34,6 @@ public class AvailabilityException exten } public AvailabilityException(Throwable cause) { - super(cause); + super(cause == null ? null : cause.toString(), cause); } } Modified: geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityService.java URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityService.java?rev=1022792&r1=1022791&r2=1022792&view=diff ============================================================================== --- geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityService.java (original) +++ geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityService.java Fri Oct 15 00:47:06 2010 @@ -17,16 +17,21 @@ */ package javax.availability.management; +import java.util.Map; + + /** * @version $Rev$ $Date$ */ public interface AvailabilityService { - void reportError(); + Map getActivationAttributes(); ActivationReason getActivationReason(); DeactivationReason getDeactivationReason(); String getName(); + + void reportError(HealthState state); } Modified: geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityUnitController.java URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityUnitController.java?rev=1022792&r1=1022791&r2=1022792&view=diff ============================================================================== --- geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityUnitController.java (original) +++ geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/AvailabilityUnitController.java Fri Oct 15 00:47:06 2010 @@ -17,16 +17,19 @@ */ package javax.availability.management; +import java.util.Map; + + /** * @version $Rev$ $Date$ */ public interface AvailabilityUnitController { - void activate(ActivationReason reason) throws AvailabilityException; + void activate(ActivationReason reason, Map attributes) throws AvailabilityException; + + void checkHealth() throws AvailabilityException; void deactivate(DeactivationReason reason) throws AvailabilityException; void terminate() throws AvailabilityException; - - void checkHealth() throws AvailabilityException; } Modified: geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/DeactivationReason.java URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/DeactivationReason.java?rev=1022792&r1=1022791&r2=1022792&view=diff ============================================================================== --- geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/DeactivationReason.java (original) +++ geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/DeactivationReason.java Fri Oct 15 00:47:06 2010 @@ -26,6 +26,5 @@ import java.io.Serializable; public enum DeactivationReason implements Serializable, Comparable { SHUT_DOWN, - SWITCH_OVER, - UPGRADE + SWITCH_OVER } Modified: geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/HealthCheck.java URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/HealthCheck.java?rev=1022792&r1=1022791&r2=1022792&view=diff ============================================================================== --- geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/HealthCheck.java (original) +++ geronimo/specs/trunk/geronimo-availability_1.0_spec/src/main/java/javax/availability/management/HealthCheck.java Fri Oct 15 00:47:06 2010 @@ -26,8 +26,8 @@ import java.lang.annotation.Target; /** * @version $Rev$ $Date$ */ -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.METHOD) +@Retention(value = RetentionPolicy.RUNTIME) +@Target(value = ElementType.METHOD) public @interface HealthCheck { } \ No newline at end of file