You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2008/09/07 19:59:12 UTC
svn commit: r692911 -
/geronimo/server/trunk/buildsupport/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo/server/StartMultiServerMojo.java
Author: djencks
Date: Sun Sep 7 10:59:11 2008
New Revision: 692911
URL: http://svn.apache.org/viewvc?rev=692911&view=rev
Log:
GERONIMO-4283 start a lot of servers at once
Added:
geronimo/server/trunk/buildsupport/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo/server/StartMultiServerMojo.java (with props)
Added: geronimo/server/trunk/buildsupport/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo/server/StartMultiServerMojo.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/buildsupport/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo/server/StartMultiServerMojo.java?rev=692911&view=auto
==============================================================================
--- geronimo/server/trunk/buildsupport/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo/server/StartMultiServerMojo.java (added)
+++ geronimo/server/trunk/buildsupport/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo/server/StartMultiServerMojo.java Sun Sep 7 10:59:11 2008
@@ -0,0 +1,87 @@
+/*
+ * 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.geronimo.mavenplugins.geronimo.server;
+
+import java.io.File;
+
+/**
+ * @goal start-multi-server
+ *
+ * @version $Rev:$ $Date:$
+ */
+public class StartMultiServerMojo extends StartServerMojo{
+
+ /**
+ * @parameter
+ */
+ private int portOffset = 10;
+
+ /**
+ * @parameter
+ * @required
+ */
+ private int count;
+
+ /**
+ * e.g start at server0, portOffset 0, or server1...
+ * Default is 1 in order to allow room for a "controller" server with no port offset, by default.
+ * @parameter
+ */
+ private int startAt = 1;
+
+ /**
+ * @parameter
+ */
+ private String relativePath = "server";
+
+ /**
+ *
+ * @parameter
+ */
+ private String prefix = "org.apache.geronimo.config.substitution";
+
+ @Override
+ protected void doExecute() throws Exception {
+ File base = installDirectory;
+ String geronimoHomeSegment = geronimoHome.getName();
+ String portOffsetName = prefix + ".PortOffset";
+ String oldPortOffset = System.getProperty(portOffsetName);
+ int oldPort = port;
+ for (int i = startAt; i< count + startAt; i++) {
+ String name = relativePath + i;
+ installDirectory = new File(base, name);
+ geronimoHome = new File(installDirectory, geronimoHomeSegment);
+ logOutputDirectory = new File(installDirectory, "geronimo-logs");
+ int actualPortOffset = this.portOffset * i;
+ System.setProperty(portOffsetName, "" + actualPortOffset);
+ port = oldPort + actualPortOffset;
+ log.info("server: " + i + " actual port offset: " + actualPortOffset + " port: " + port);
+ super.doExecute();
+ }
+ if (oldPortOffset == null) {
+ System.getProperties().remove(portOffsetName);
+ } else {
+ System.setProperty(portOffsetName, oldPortOffset);
+ }
+ port = oldPort;
+ }
+
+}
Propchange: geronimo/server/trunk/buildsupport/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo/server/StartMultiServerMojo.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/server/trunk/buildsupport/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo/server/StartMultiServerMojo.java
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/server/trunk/buildsupport/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo/server/StartMultiServerMojo.java
------------------------------------------------------------------------------
svn:mime-type = text/plain