You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by me...@apache.org on 2006/12/26 17:47:48 UTC
svn commit: r490327 - in
/incubator/tuscany/java/sca/runtime/standalone/server.start/src/main/java/org/apache/tuscany/standalone/server/management/jmx:
Agent.java RmiAgent.java
Author: meerajk
Date: Tue Dec 26 08:47:47 2006
New Revision: 490327
URL: http://svn.apache.org/viewvc?view=rev&rev=490327
Log:
Extracted interface.
Added:
incubator/tuscany/java/sca/runtime/standalone/server.start/src/main/java/org/apache/tuscany/standalone/server/management/jmx/RmiAgent.java
- copied, changed from r490325, incubator/tuscany/java/sca/runtime/standalone/server.start/src/main/java/org/apache/tuscany/standalone/server/management/jmx/Agent.java
Removed:
incubator/tuscany/java/sca/runtime/standalone/server.start/src/main/java/org/apache/tuscany/standalone/server/management/jmx/Agent.java
Copied: incubator/tuscany/java/sca/runtime/standalone/server.start/src/main/java/org/apache/tuscany/standalone/server/management/jmx/RmiAgent.java (from r490325, incubator/tuscany/java/sca/runtime/standalone/server.start/src/main/java/org/apache/tuscany/standalone/server/management/jmx/Agent.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/standalone/server.start/src/main/java/org/apache/tuscany/standalone/server/management/jmx/RmiAgent.java?view=diff&rev=490327&p1=incubator/tuscany/java/sca/runtime/standalone/server.start/src/main/java/org/apache/tuscany/standalone/server/management/jmx/Agent.java&r1=490325&p2=incubator/tuscany/java/sca/runtime/standalone/server.start/src/main/java/org/apache/tuscany/standalone/server/management/jmx/RmiAgent.java&r2=490327
==============================================================================
--- incubator/tuscany/java/sca/runtime/standalone/server.start/src/main/java/org/apache/tuscany/standalone/server/management/jmx/Agent.java (original)
+++ incubator/tuscany/java/sca/runtime/standalone/server.start/src/main/java/org/apache/tuscany/standalone/server/management/jmx/RmiAgent.java Tue Dec 26 08:47:47 2006
@@ -23,6 +23,7 @@
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.server.UnicastRemoteObject;
+import java.util.concurrent.atomic.AtomicBoolean;
import javax.management.MBeanServer;
import javax.management.MBeanServerFactory;
@@ -37,7 +38,7 @@
* @version $Revsion$ $Date$
*
*/
-public class Agent {
+public class RmiAgent implements Agent {
/** Administration port system property. */
private static final String ADMIN_PORT_PROPERTY = "tuscany.adminPort";
@@ -46,7 +47,7 @@
private static final int DEFAULT_ADMIN_PORT = 1099;
/** Instance */
- private static final Agent INSTANCE = new Agent();
+ private static final Agent INSTANCE = new RmiAgent();
/** Root domain */
private static final String DOMAIN = "tuscany";
@@ -62,12 +63,15 @@
/** Listen port */
private int port = DEFAULT_ADMIN_PORT;
+
+ /** Start flag. */
+ private AtomicBoolean started = new AtomicBoolean();
/**
* Initialies the server.
* @throws ManagementException If unable to start the agent.
*/
- private Agent() throws ManagementException {
+ private RmiAgent() throws ManagementException {
try {
@@ -98,11 +102,8 @@
return INSTANCE;
}
- /**
- * Registers a managed bean.
- * @param instance Instance to be registered.
- * @param name Object name of the instance.
- * @throws ManagementException If unable to register the object.
+ /* (non-Javadoc)
+ * @see org.apache.tuscany.standalone.server.management.jmx.Agent#register(java.lang.Object, java.lang.String)
*/
public synchronized void register(Object instance, String name) throws ManagementException {
try {
@@ -112,16 +113,22 @@
}
}
- /**
- * Starts the JMX server.
- * @throws ManagementException If unable to start the server.
- *
+ /* (non-Javadoc)
+ * @see org.apache.tuscany.standalone.server.management.jmx.Agent#start()
*/
public void start() throws ManagementException {
try {
+
+ if(started.get()) {
+ throw new IllegalArgumentException("Agent already started");
+ }
+
registry = LocateRegistry.createRegistry(port);
connectorServer.start();
+
+ started.set(true);
+
} catch (MalformedURLException ex) {
throw new ManagementException(ex);
} catch (IOException ex) {
@@ -130,18 +137,24 @@
}
- /**
- * Shuts down the JMX server.
- * @throws ManagementException If unable to shutdown the server.
- *
+ /* (non-Javadoc)
+ * @see org.apache.tuscany.standalone.server.management.jmx.Agent#shutdown()
*/
public void shutdown() throws ManagementException {
+
try {
+
+ if(!started.get()) {
+ throw new IllegalArgumentException("Agent not started");
+ }
+
connectorServer.stop();
UnicastRemoteObject.unexportObject(registry, true);
+
} catch (IOException ex) {
throw new ManagementException(ex);
}
+
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org