You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by cl...@apache.org on 2015/04/20 21:37:16 UTC
[1/2] activemq-6 git commit: Fixes ACTIVEMQ6-99: Support installing
as a windows service
Repository: activemq-6
Updated Branches:
refs/heads/master 3b82dc52e -> db5fd9ddd
Fixes ACTIVEMQ6-99: Support installing as a windows service
Project: http://git-wip-us.apache.org/repos/asf/activemq-6/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-6/commit/e12388ff
Tree: http://git-wip-us.apache.org/repos/asf/activemq-6/tree/e12388ff
Diff: http://git-wip-us.apache.org/repos/asf/activemq-6/diff/e12388ff
Branch: refs/heads/master
Commit: e12388ff44c4f359e3cc4a7a49b1e33d663a47c5
Parents: 3b82dc5
Author: Hiram Chirino <hi...@hiramchirino.com>
Authored: Thu Apr 16 23:00:29 2015 -0400
Committer: Hiram Chirino <hi...@hiramchirino.com>
Committed: Thu Apr 16 23:00:29 2015 -0400
----------------------------------------------------------------------
activemq-bootstrap/pom.xml | 38 +++++++++++
.../apache/activemq/cli/commands/Create.java | 69 +++++++++++---------
.../cli/commands/bin/activemq-service.xml | 59 +++++++++++++++++
3 files changed, 135 insertions(+), 31 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq-6/blob/e12388ff/activemq-bootstrap/pom.xml
----------------------------------------------------------------------
diff --git a/activemq-bootstrap/pom.xml b/activemq-bootstrap/pom.xml
index 6aecaac..85687e7 100644
--- a/activemq-bootstrap/pom.xml
+++ b/activemq-bootstrap/pom.xml
@@ -62,6 +62,14 @@
<artifactId>airline</artifactId>
</dependency>
<dependency>
+ <groupId>com.sun.winsw</groupId>
+ <artifactId>winsw</artifactId>
+ <version>1.9</version>
+ <classifier>bin</classifier>
+ <type>exe</type>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
@@ -102,6 +110,36 @@
</includes>
</resource>
</resources>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <version>2.2</version>
+ <executions>
+ <execution>
+ <id>unpack</id>
+ <phase>process-resources</phase>
+ <goals>
+ <goal>copy</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>com.sun.winsw</groupId>
+ <artifactId>winsw</artifactId>
+ <version>1.9</version>
+ <classifier>bin</classifier>
+ <type>exe</type>
+ <outputDirectory>${basedir}/target/classes/org/apache/activemq/cli/commands/bin</outputDirectory>
+ <destFileName>activemq-service.exe</destFileName>
+ </artifactItem>
+ </artifactItems>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
</build>
http://git-wip-us.apache.org/repos/asf/activemq-6/blob/e12388ff/activemq-bootstrap/src/main/java/org/apache/activemq/cli/commands/Create.java
----------------------------------------------------------------------
diff --git a/activemq-bootstrap/src/main/java/org/apache/activemq/cli/commands/Create.java b/activemq-bootstrap/src/main/java/org/apache/activemq/cli/commands/Create.java
index 1a30a84..49f7164 100644
--- a/activemq-bootstrap/src/main/java/org/apache/activemq/cli/commands/Create.java
+++ b/activemq-bootstrap/src/main/java/org/apache/activemq/cli/commands/Create.java
@@ -97,24 +97,7 @@ public class Create implements Action
host = directory.getName();
}
- new File(directory, "bin").mkdirs();
- new File(directory, "etc").mkdirs();
- new File(directory, "log").mkdirs();
- new File(directory, "tmp").mkdirs();
- new File(directory, "data").mkdirs();
-
- write("bin/activemq", null, true);
- makeExec("bin/activemq");
-
- write("bin/activemq.cmd", null, false);
- write("bin/activemq-service", null, true);
- makeExec("bin/activemq-service");
-
- write("etc/logging.properties", null, false);
- write("etc/bootstrap.xml", null, false);
-
HashMap<String, String> filters = new HashMap<String, String>();
-
String replicatedSettings = "";
if (replicated)
{
@@ -149,15 +132,37 @@ public class Create implements Action
filters.put("${activemq.instance}", path(directory, false));
filters.put("${java.home}", path(System.getProperty("java.home"), false));
- write("etc/activemq.profile", filters, true);
- makeExec("etc/activemq.profile");
+ new File(directory, "bin").mkdirs();
+ new File(directory, "etc").mkdirs();
+ new File(directory, "log").mkdirs();
+ new File(directory, "tmp").mkdirs();
+ new File(directory, "data").mkdirs();
+
+
+ if (IS_WINDOWS)
+ {
+ write("bin/activemq.cmd", null, false);
+ write("bin/activemq-service.exe");
+ write("bin/activemq-service.xml", filters, false);
+ write("etc/activemq.profile.cmd", filters, false);
+ }
+
+ if (!IS_WINDOWS || IS_CYGWIN)
+ {
+ write("bin/activemq", null, true);
+ makeExec("bin/activemq");
+ write("bin/activemq-service", null, true);
+ makeExec("bin/activemq-service");
+ write("etc/activemq.profile", filters, true);
+ makeExec("etc/activemq.profile");
+ }
- write("etc/activemq.profile.cmd", filters, false);
+ write("etc/logging.properties", null, false);
+ write("etc/bootstrap.xml", null, false);
write("etc/activemq-configuration.xml", filters, false);
write("etc/activemq-roles.properties", null, false);
write("etc/activemq-users.properties", null, false);
-
context.out.println("");
context.out.println("You can now start the broker by executing: ");
context.out.println("");
@@ -189,15 +194,16 @@ public class Create implements Action
}
}
-// if ( IS_WINDOWS ) {
-//
-// context.out.println("Or you can setup the broker as Windows service and run it in the background:");
-// context.out.println("");
-// context.out.println(String.format(" \"%s\" install", path(service,true)));
-// context.out.println(String.format(" \"%s\" start", path(service, true)));
-// context.out.println("");
-//
-// }
+ if (IS_WINDOWS)
+ {
+
+ context.out.println("Or you can setup the broker as Windows service and run it in the background:");
+ context.out.println("");
+ context.out.println(String.format(" \"%s\" install", path(service, true)));
+ context.out.println(String.format(" \"%s\" start", path(service, true)));
+ context.out.println("");
+
+ }
return null;
}
@@ -282,8 +288,9 @@ public class Create implements Action
return new String(out.toByteArray(), "UTF-8");
}
- private void write(String source, File target) throws IOException
+ private void write(String source) throws IOException
{
+ File target = new File(directory, source);
if (target.exists() && !force)
{
throw new RuntimeException(String.format("The file '%s' already exists. Use --force to overwrite.", target));
http://git-wip-us.apache.org/repos/asf/activemq-6/blob/e12388ff/activemq-bootstrap/src/main/resources/org/apache/activemq/cli/commands/bin/activemq-service.xml
----------------------------------------------------------------------
diff --git a/activemq-bootstrap/src/main/resources/org/apache/activemq/cli/commands/bin/activemq-service.xml b/activemq-bootstrap/src/main/resources/org/apache/activemq/cli/commands/bin/activemq-service.xml
new file mode 100644
index 0000000..fa815aa
--- /dev/null
+++ b/activemq-bootstrap/src/main/resources/org/apache/activemq/cli/commands/bin/activemq-service.xml
@@ -0,0 +1,59 @@
+<!--
+
+ 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.
+
+-->
+
+<service>
+ <id>activemq-${host}</id>
+ <name>ActiveMQ: ${host}</name>
+ <description>Apache ActiveMQ is a reliable messaging broker</description>
+
+ <logpath>${activemq.instance}\log</logpath>
+ <logmode>roll</logmode>
+
+ <executable>"${java.home}\bin\java.exe"</executable>
+ <argument>-XX:+UseParallelGC</argument>
+ <argument>-XX:+AggressiveOpts</argument>
+ <argument>-XX:+UseFastAccessorMethods</argument>
+ <argument>-Xms512M</argument>
+ <argument>-Xmx1024M</argument>
+
+ <!-- Cluster Properties: Used to pass arguments to ActiveMQ which can be referenced in activemq-configuration.xml
+ <argument>-Dactivemq.remoting.default.port=61617</argument>
+ <argument>-Dactivemq.remoting.amqp.port=5673</argument>
+ <argument>-Dactivemq.remoting.stomp.port=61614</argument>
+ <argument>-Dactivemq.remoting.hornetq.port=5446</argument>
+ -->
+
+ <argument>-classpath</argument>
+ <argument>"${activemq.home}\lib\activemq-boot.jar"</argument>
+ <argument>"-Dactivemq.home=${activemq.home}"</argument>
+ <argument>"-Dactivemq.instance=${activemq.instance}"</argument>
+ <argument>"-Ddata.dir=${activemq.instance}/data"</argument>
+ <argument>-Djava.util.logging.manager=org.jboss.logmanager.LogManager</argument>
+ <argument>"-Dlogging.configuration=file:${activemq.instance}\etc\logging.properties"</argument>
+
+
+ <!-- Debug args: Uncomment to enable debug
+ <argument>-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005</argument>
+ -->
+
+ <argument>org.apache.activemq.boot.ActiveMQ</argument>
+
+ <argument>run</argument>
+
+</service>
\ No newline at end of file
[2/2] activemq-6 git commit: This closes #208 on windows service
Posted by cl...@apache.org.
This closes #208 on windows service
Project: http://git-wip-us.apache.org/repos/asf/activemq-6/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-6/commit/db5fd9dd
Tree: http://git-wip-us.apache.org/repos/asf/activemq-6/tree/db5fd9dd
Diff: http://git-wip-us.apache.org/repos/asf/activemq-6/diff/db5fd9dd
Branch: refs/heads/master
Commit: db5fd9ddd9d2f1017882b5ac205f2106174e2b1c
Parents: 3b82dc5 e12388f
Author: Clebert Suconic <cl...@apache.org>
Authored: Mon Apr 20 15:35:58 2015 -0400
Committer: Clebert Suconic <cl...@apache.org>
Committed: Mon Apr 20 15:35:58 2015 -0400
----------------------------------------------------------------------
activemq-bootstrap/pom.xml | 38 +++++++++++
.../apache/activemq/cli/commands/Create.java | 69 +++++++++++---------
.../cli/commands/bin/activemq-service.xml | 59 +++++++++++++++++
3 files changed, 135 insertions(+), 31 deletions(-)
----------------------------------------------------------------------