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 13:09:19 UTC
svn commit: r490290 - in
/incubator/tuscany/java/sca/runtime/standalone/server.start/src/main/java/org/apache/tuscany/standalone/server:
TuscanyServer.java management/jmx/Agent.java
management/jmx/ManagementException.java
Author: meerajk
Date: Tue Dec 26 04:09:18 2006
New Revision: 490290
URL: http://svn.apache.org/viewvc?view=rev&rev=490290
Log:
Intermediate checkin.
Added:
incubator/tuscany/java/sca/runtime/standalone/server.start/src/main/java/org/apache/tuscany/standalone/server/management/jmx/ManagementException.java (with props)
Modified:
incubator/tuscany/java/sca/runtime/standalone/server.start/src/main/java/org/apache/tuscany/standalone/server/TuscanyServer.java
incubator/tuscany/java/sca/runtime/standalone/server.start/src/main/java/org/apache/tuscany/standalone/server/management/jmx/Agent.java
Modified: incubator/tuscany/java/sca/runtime/standalone/server.start/src/main/java/org/apache/tuscany/standalone/server/TuscanyServer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/standalone/server.start/src/main/java/org/apache/tuscany/standalone/server/TuscanyServer.java?view=diff&rev=490290&r1=490289&r2=490290
==============================================================================
--- incubator/tuscany/java/sca/runtime/standalone/server.start/src/main/java/org/apache/tuscany/standalone/server/TuscanyServer.java (original)
+++ incubator/tuscany/java/sca/runtime/standalone/server.start/src/main/java/org/apache/tuscany/standalone/server/TuscanyServer.java Tue Dec 26 04:09:18 2006
@@ -20,9 +20,7 @@
import java.io.File;
-import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.ObjectName;
+import org.apache.tuscany.standalone.server.management.jmx.Agent;
/**
* This class provides the commandline interface for starting the
@@ -60,11 +58,16 @@
/** Default admin port. */
private static final int DEFAULT_ADMIN_PORT = 1066;
+ /** Agent */
+ private Agent agent;
+
/**
* Constructor initializes all the required classloaders.
*
*/
- private TuscanyServer() {
+ private TuscanyServer(Agent agent) {
+
+ this.agent = agent;
File installDirectory = DirectoryHelper.getInstallDirectory();
File bootDirectory = DirectoryHelper.getBootDirectory(installDirectory);
@@ -77,23 +80,22 @@
*/
public static void main(String[] args) throws Exception {
- TuscanyServer tuscanyServer = TuscanyServer.newInstance();
- tuscanyServer.start();
+ String managementPort = System.getProperty(ADMIN_PORT_PROPERTY);
+ int port = DEFAULT_ADMIN_PORT;
+ if(managementPort != null) {
+ port = Integer.parseInt(managementPort);
+ }
- MBeanServer mBeanServer = MBeanServerFactory.createMBeanServer("tuscany");
- mBeanServer.registerMBean(tuscanyServer, new ObjectName("tuscany:name=TuscanyServer"));
+ Agent agent = Agent.getInstance(port);
+ agent.start();
+
+ TuscanyServer tuscanyServer = new TuscanyServer(agent);
+ agent.register(tuscanyServer, "tuscanyServer");
+ tuscanyServer.start();
}
/**
- * Creates an instance of the server.
- * @return An instance of the tuscany server.
- */
- protected static TuscanyServer newInstance() {
- return new TuscanyServer();
- }
-
- /**
* Starts the server.
*
*/
@@ -106,6 +108,7 @@
*
*/
public void shutdown() {
+ agent.shutdown();
System.err.println("shutdown");
}
Modified: 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/Agent.java?view=diff&rev=490290&r1=490289&r2=490290
==============================================================================
--- 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/Agent.java Tue Dec 26 04:09:18 2006
@@ -18,6 +18,10 @@
*/
package org.apache.tuscany.standalone.server.management.jmx;
+import javax.management.MBeanServer;
+import javax.management.MBeanServerFactory;
+import javax.management.ObjectName;
+
/**
* Utility for starting the JMX server.
*
@@ -25,5 +29,65 @@
*
*/
public class Agent {
+
+ /** Instance */
+ private static Agent INSTANCE = null;
+
+ /** Root domain */
+ private static final String DOMAIN = "tuscany";
+
+ /** MBean server to use. */
+ private MBeanServer mBeanServer;
+
+ /**
+ * Initialies the server.
+ * @param port Management port.
+ * @throws ManagementException If unable to start the agent.
+ */
+ private Agent(int port) throws ManagementException {
+ mBeanServer = MBeanServerFactory.createMBeanServer(DOMAIN);
+ }
+
+ /**
+ * Returns the singleton agent instance.
+ * @return Agent instance.
+ * @throws ManagementException If unable to start the agent.
+ */
+ public synchronized static Agent getInstance(int port) throws ManagementException {
+ if(INSTANCE == null) {
+ INSTANCE = new Agent(port);
+ }
+ 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.
+ */
+ public synchronized void register(Object instance, String name) throws ManagementException {
+ try {
+ mBeanServer.registerMBean(instance, new ObjectName("tuscany:name=TuscanyServer"));
+ } catch (Exception ex) {
+ throw new ManagementException(ex);
+ }
+ }
+
+ /**
+ * Starts the JMX server.
+ * @throws ManagementException If unable to start the server.
+ *
+ */
+ public void start() throws ManagementException {
+ }
+
+ /**
+ * Shuts down the JMX server.
+ * @throws ManagementException If unable to shutdown the server.
+ *
+ */
+ public void shutdown() throws ManagementException {
+ }
}
Added: incubator/tuscany/java/sca/runtime/standalone/server.start/src/main/java/org/apache/tuscany/standalone/server/management/jmx/ManagementException.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/ManagementException.java?view=auto&rev=490290
==============================================================================
--- incubator/tuscany/java/sca/runtime/standalone/server.start/src/main/java/org/apache/tuscany/standalone/server/management/jmx/ManagementException.java (added)
+++ incubator/tuscany/java/sca/runtime/standalone/server.start/src/main/java/org/apache/tuscany/standalone/server/management/jmx/ManagementException.java Tue Dec 26 04:09:18 2006
@@ -0,0 +1,37 @@
+/*
+ * 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.tuscany.standalone.server.management.jmx;
+
+import org.apache.tuscany.api.TuscanyRuntimeException;
+
+/**
+ * @version $Revision$ $Date$
+ *
+ */
+@SuppressWarnings("serial")
+public class ManagementException extends TuscanyRuntimeException {
+
+ /**
+ * Initializes the root cause.
+ * @param th Root cause.
+ */
+ public ManagementException(Throwable th) {
+ super(th);
+ }
+}
Propchange: incubator/tuscany/java/sca/runtime/standalone/server.start/src/main/java/org/apache/tuscany/standalone/server/management/jmx/ManagementException.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/runtime/standalone/server.start/src/main/java/org/apache/tuscany/standalone/server/management/jmx/ManagementException.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org