You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ch...@apache.org on 2006/11/14 20:20:39 UTC
svn commit: r474926 - in /incubator/activemq/trunk:
activemq-console/src/main/java/org/apache/activemq/console/
assembly/src/main/descriptors/ assembly/src/release/bin/linux/
assembly/src/release/bin/macosx/ assembly/src/release/bin/win32/
Author: chirino
Date: Tue Nov 14 11:20:38 2006
New Revision: 474926
URL: http://svn.apache.org/viewvc?view=rev&rev=474926
Log:
Updated java service wrappers so that they properly use the ACTIVEMQ_BASE and ACTIVEMQ_HOME enviroment variables.
also print out the ACTIVEMQ_BASE on startup and if classloading error occurs, have the main method dump a listing of what is in the classloaders.
Modified:
incubator/activemq/trunk/activemq-console/src/main/java/org/apache/activemq/console/Main.java
incubator/activemq/trunk/assembly/src/main/descriptors/unix-bin.xml
incubator/activemq/trunk/assembly/src/main/descriptors/windows-bin.xml
incubator/activemq/trunk/assembly/src/release/bin/linux/wrapper.conf
incubator/activemq/trunk/assembly/src/release/bin/macosx/wrapper.conf
incubator/activemq/trunk/assembly/src/release/bin/win32/activemq.bat
incubator/activemq/trunk/assembly/src/release/bin/win32/wrapper.conf
Modified: incubator/activemq/trunk/activemq-console/src/main/java/org/apache/activemq/console/Main.java
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-console/src/main/java/org/apache/activemq/console/Main.java?view=diff&rev=474926&r1=474925&r2=474926
==============================================================================
--- incubator/activemq/trunk/activemq-console/src/main/java/org/apache/activemq/console/Main.java (original)
+++ incubator/activemq/trunk/activemq-console/src/main/java/org/apache/activemq/console/Main.java Tue Nov 14 11:20:38 2006
@@ -89,11 +89,52 @@
try {
app.runTaskClass(tokens);
+ } catch (ClassNotFoundException e) {
+ System.out.println("Could not load class: " + e.getMessage());
+ try {
+ ClassLoader cl = app.getClassLoader();
+ if( cl!=null ) {
+ System.out.println("Class loader setup: ");
+ printClassLoaderTree(cl);
+ }
+ } catch (MalformedURLException e1) {
+ }
} catch (Throwable e) {
System.out.println("Failed to execute main task. Reason: " + e);
}
}
+ /**
+ * Print out what's in the classloader tree being used.
+ *
+ * @param cl
+ * @return
+ */
+ private static int printClassLoaderTree(ClassLoader cl) {
+ int depth = 0;
+ if( cl.getParent()!=null ) {
+ depth = printClassLoaderTree(cl.getParent())+1;
+ }
+
+ StringBuffer indent = new StringBuffer();
+ for (int i = 0; i < depth; i++) {
+ indent.append(" ");
+ }
+
+ if( cl instanceof URLClassLoader ) {
+ URLClassLoader ucl = (URLClassLoader) cl;
+ System.out.println(indent+cl.getClass().getName()+" {");
+ URL[] urls = ucl.getURLs();
+ for (int i = 0; i < urls.length; i++) {
+ System.out.println(indent+" "+urls[i]);
+ }
+ System.out.println(indent+"}");
+ } else {
+ System.out.println(indent+cl.getClass().getName());
+ }
+ return depth;
+ }
+
public void parseExtensions(List tokens) {
if (tokens.isEmpty()) {
return;
@@ -147,7 +188,9 @@
}
public void runTaskClass(List tokens) throws Throwable {
+
System.out.println("ACTIVEMQ_HOME: "+ getActiveMQHome());
+ System.out.println("ACTIVEMQ_BASE: "+ getActiveMQBase());
ClassLoader cl = getClassLoader();
Modified: incubator/activemq/trunk/assembly/src/main/descriptors/unix-bin.xml
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/assembly/src/main/descriptors/unix-bin.xml?view=diff&rev=474926&r1=474925&r2=474926
==============================================================================
--- incubator/activemq/trunk/assembly/src/main/descriptors/unix-bin.xml (original)
+++ incubator/activemq/trunk/assembly/src/main/descriptors/unix-bin.xml Tue Nov 14 11:20:38 2006
@@ -50,6 +50,7 @@
<directory>src/release</directory>
<outputDirectory>/</outputDirectory>
<includes>
+ <include>bin/*.jar</include>
<include>conf/*.ts</include>
<include>conf/*.ks</include>
<include>conf/*.cert</include>
Modified: incubator/activemq/trunk/assembly/src/main/descriptors/windows-bin.xml
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/assembly/src/main/descriptors/windows-bin.xml?view=diff&rev=474926&r1=474925&r2=474926
==============================================================================
--- incubator/activemq/trunk/assembly/src/main/descriptors/windows-bin.xml (original)
+++ incubator/activemq/trunk/assembly/src/main/descriptors/windows-bin.xml Tue Nov 14 11:20:38 2006
@@ -41,7 +41,7 @@
<include>bin/*.bat</include>
<include>bin/win32/*.bat</include>
<include>bin/win32/*.conf</include>
- <include>bin/core/boot/*.jar</include>
+ <include>bin/core/boot/*.jar</include>
</includes>
<lineEnding>dos</lineEnding>
</fileSet>
@@ -54,6 +54,7 @@
<include>conf/*.ts</include>
<include>conf/*.ks</include>
<include>conf/*.cert</include>
+ <include>bin/*.jar</include>
<include>bin/win32/*.exe</include>
<include>bin/win32/*.dll</include>
</includes>
Modified: incubator/activemq/trunk/assembly/src/release/bin/linux/wrapper.conf
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/assembly/src/release/bin/linux/wrapper.conf?view=diff&rev=474926&r1=474925&r2=474926
==============================================================================
--- incubator/activemq/trunk/assembly/src/release/bin/linux/wrapper.conf (original)
+++ incubator/activemq/trunk/assembly/src/release/bin/linux/wrapper.conf Tue Nov 14 11:20:38 2006
@@ -19,12 +19,14 @@
# Wrapper Properties
#********************************************************************
+#wrapper.debug=TRUE
+set.default.ACTIVEMQ_HOME=../..
+set.default.ACTIVEMQ_BASE=../..
+wrapper.working.dir=.
+
# Java Application
wrapper.java.command=java
-#wrapper.debug=TRUE
-wrapper.working.dir=../..
-
# Java Main class. This class must implement the WrapperListener interface
# or guarantee that the WrapperManager class is initialized. Helper
# classes are provided to do this for you. See the Integration section
@@ -33,19 +35,23 @@
# Java Classpath (include wrapper.jar) Add class path elements as
# needed starting from 1
-wrapper.java.classpath.1=bin/wrapper.jar
-wrapper.java.classpath.2=bin/run.jar
+wrapper.java.classpath.1=%ACTIVEMQ_HOME%/bin/wrapper.jar
+wrapper.java.classpath.2=%ACTIVEMQ_HOME%/bin/run.jar
# Java Library Path (location of Wrapper.DLL or libwrapper.so)
-wrapper.java.library.path.1=bin/linux/
+wrapper.java.library.path.1=%ACTIVEMQ_HOME%/bin/linux/
# Java Additional Parameters
# note that n is the parameter number starting from 1.
-wrapper.java.additional.1=-Dorg.apache.activemq.UseDedicatedTaskRunner=true
-wrapper.java.additional.2=-Dderby.system.home=data
-wrapper.java.additional.3=-Dderby.storage.fileSyncTransactionLog=true
-wrapper.java.additional.4=-Dcom.sun.management.jmxremote
-wrapper.java.additional.5=-Dactivemq.home=./
+wrapper.java.additional.1=-Dactivemq.home=%ACTIVEMQ_HOME%
+wrapper.java.additional.2=-Dactivemq.base=%ACTIVEMQ_BASE%
+wrapper.java.additional.3=-Djavax.net.ssl.keyStorePassword=password
+wrapper.java.additional.4=-Djavax.net.ssl.trustStorePassword=password
+wrapper.java.additional.5=-Djavax.net.ssl.keyStore=%ACTIVEMQ_BASE%/conf/broker.ks
+wrapper.java.additional.6=-Djavax.net.ssl.trustStore=%ACTIVEMQ_BASE%/conf/broker.ts
+wrapper.java.additional.7=-Dcom.sun.management.jmxremote
+wrapper.java.additional.8=-Dorg.apache.activemq.UseDedicatedTaskRunner=true
+wrapper.java.additional.9=-Dderby.storage.fileSyncTransactionLog=true
# Uncomment to enable jmx
#wrapper.java.additional.n=-Dcom.sun.management.jmxremote.port=1616
@@ -78,7 +84,7 @@
wrapper.console.loglevel=INFO
# Log file to use for wrapper output logging.
-wrapper.logfile=bin/linux/wrapper.log
+wrapper.logfile=%ACTIVEMQ_BASE%/activemq-data/wrapper.log
# Format of output for the log file. (See docs for formats)
wrapper.logfile.format=LPTM
Modified: incubator/activemq/trunk/assembly/src/release/bin/macosx/wrapper.conf
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/assembly/src/release/bin/macosx/wrapper.conf?view=diff&rev=474926&r1=474925&r2=474926
==============================================================================
--- incubator/activemq/trunk/assembly/src/release/bin/macosx/wrapper.conf (original)
+++ incubator/activemq/trunk/assembly/src/release/bin/macosx/wrapper.conf Tue Nov 14 11:20:38 2006
@@ -19,12 +19,14 @@
# Wrapper Properties
#********************************************************************
+#wrapper.debug=TRUE
+set.default.ACTIVEMQ_HOME=../..
+set.default.ACTIVEMQ_BASE=../..
+wrapper.working.dir=.
+
# Java Application
wrapper.java.command=java
-#wrapper.debug=TRUE
-wrapper.working.dir=../..
-
# Java Main class. This class must implement the WrapperListener interface
# or guarantee that the WrapperManager class is initialized. Helper
# classes are provided to do this for you. See the Integration section
@@ -33,19 +35,23 @@
# Java Classpath (include wrapper.jar) Add class path elements as
# needed starting from 1
-wrapper.java.classpath.1=bin/wrapper.jar
-wrapper.java.classpath.2=bin/run.jar
+wrapper.java.classpath.1=%ACTIVEMQ_HOME%/bin/wrapper.jar
+wrapper.java.classpath.2=%ACTIVEMQ_HOME%/bin/run.jar
# Java Library Path (location of Wrapper.DLL or libwrapper.so)
-wrapper.java.library.path.1=bin/macosx/
+wrapper.java.library.path.1=%ACTIVEMQ_HOME%/bin/macosx/
# Java Additional Parameters
# note that n is the parameter number starting from 1.
-wrapper.java.additional.1=-Dorg.apache.activemq.UseDedicatedTaskRunner=true
-wrapper.java.additional.2=-Dderby.system.home=data
-wrapper.java.additional.3=-Dderby.storage.fileSyncTransactionLog=true
-wrapper.java.additional.4=-Dcom.sun.management.jmxremote
-wrapper.java.additional.5=-Dactivemq.home=.
+wrapper.java.additional.1=-Dactivemq.home=%ACTIVEMQ_HOME%
+wrapper.java.additional.2=-Dactivemq.base=%ACTIVEMQ_BASE%
+wrapper.java.additional.3=-Djavax.net.ssl.keyStorePassword=password
+wrapper.java.additional.4=-Djavax.net.ssl.trustStorePassword=password
+wrapper.java.additional.5=-Djavax.net.ssl.keyStore=%ACTIVEMQ_BASE%/conf/broker.ks
+wrapper.java.additional.6=-Djavax.net.ssl.trustStore=%ACTIVEMQ_BASE%/conf/broker.ts
+wrapper.java.additional.7=-Dcom.sun.management.jmxremote
+wrapper.java.additional.8=-Dorg.apache.activemq.UseDedicatedTaskRunner=true
+wrapper.java.additional.9=-Dderby.storage.fileSyncTransactionLog=true
# Uncomment to enable jmx
#wrapper.java.additional.n=-Dcom.sun.management.jmxremote.port=1616
@@ -78,7 +84,7 @@
wrapper.console.loglevel=INFO
# Log file to use for wrapper output logging.
-wrapper.logfile=bin/linux/wrapper.log
+wrapper.logfile=%ACTIVEMQ_BASE%/activemq-data/wrapper.log
# Format of output for the log file. (See docs for formats)
wrapper.logfile.format=LPTM
Modified: incubator/activemq/trunk/assembly/src/release/bin/win32/activemq.bat
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/assembly/src/release/bin/win32/activemq.bat?view=diff&rev=474926&r1=474925&r2=474926
==============================================================================
--- incubator/activemq/trunk/assembly/src/release/bin/win32/activemq.bat (original)
+++ incubator/activemq/trunk/assembly/src/release/bin/win32/activemq.bat Tue Nov 14 11:20:38 2006
@@ -31,10 +31,6 @@
rem %~dp0 is name of current script under NT
set _APP_HOME=%~dp0
-rem Set ActiveMQ Home
-set ACTIVEMQ_HOME=%~dp0..\..
-set ACTIVEMQ_BASE=%~dp0..\..
-
rem
rem Find the wrapper.conf
rem
Modified: incubator/activemq/trunk/assembly/src/release/bin/win32/wrapper.conf
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/assembly/src/release/bin/win32/wrapper.conf?view=diff&rev=474926&r1=474925&r2=474926
==============================================================================
--- incubator/activemq/trunk/assembly/src/release/bin/win32/wrapper.conf (original)
+++ incubator/activemq/trunk/assembly/src/release/bin/win32/wrapper.conf Tue Nov 14 11:20:38 2006
@@ -19,12 +19,14 @@
# Wrapper Properties
#********************************************************************
+# wrapper.debug=TRUE
+set.default.ACTIVEMQ_HOME=../..
+set.default.ACTIVEMQ_BASE=../..
+wrapper.working.dir=.
+
# Java Application
wrapper.java.command=%JAVA_HOME%/bin/java
-#wrapper.debug=TRUE
-wrapper.working.dir=../..
-
# Java Main class. This class must implement the WrapperListener interface
# or guarantee that the WrapperManager class is initialized. Helper
# classes are provided to do this for you. See the Integration section
@@ -33,26 +35,25 @@
# Java Classpath (include wrapper.jar) Add class path elements as
# needed starting from 1
-wrapper.java.classpath.1=bin/wrapper.jar
-wrapper.java.classpath.2=bin/run.jar
+wrapper.java.classpath.1=%ACTIVEMQ_HOME%/bin/wrapper.jar
+wrapper.java.classpath.2=%ACTIVEMQ_HOME%/bin/run.jar
# Java Library Path (location of Wrapper.DLL or libwrapper.so)
-wrapper.java.library.path.1=bin/win32
+wrapper.java.library.path.1=%ACTIVEMQ_HOME%/bin/win32
# Java Additional Parameters
# note that n is the parameter number starting from 1.
-wrapper.java.additional.1=-Dorg.apache.activemq.UseDedicatedTaskRunner=true
-wrapper.java.additional.2=-Dderby.system.home=data
-wrapper.java.additional.3=-Dderby.storage.fileSyncTransactionLog=true
-wrapper.java.additional.4=-Dcom.sun.management.jmxremote
-wrapper.java.additional.5=-Dactivemq.home="%ACTIVEMQ_HOME%"
-wrapper.java.additional.6=-Dactivemq.base="%ACTIVEMQ_BASE%"
-wrapper.java.additional.7=-Djavax.net.ssl.keyStorePassword=password
-wrapper.java.additional.8=-Djavax.net.ssl.trustStorePassword=password
-wrapper.java.additional.9=-Djavax.net.ssl.keyStore="%ACTIVEMQ_BASE%/conf/broker.ks"
-wrapper.java.additional.10=-Djavax.net.ssl.trustStore="%ACTIVEMQ_BASE%/conf/broker.ts"
+wrapper.java.additional.1=-Dactivemq.home=%ACTIVEMQ_HOME%
+wrapper.java.additional.2=-Dactivemq.base=%ACTIVEMQ_BASE%
+wrapper.java.additional.3=-Djavax.net.ssl.keyStorePassword=password
+wrapper.java.additional.4=-Djavax.net.ssl.trustStorePassword=password
+wrapper.java.additional.5=-Djavax.net.ssl.keyStore=%ACTIVEMQ_BASE%/conf/broker.ks
+wrapper.java.additional.6=-Djavax.net.ssl.trustStore=%ACTIVEMQ_BASE%/conf/broker.ts
+wrapper.java.additional.7=-Dcom.sun.management.jmxremote
+wrapper.java.additional.8=-Dorg.apache.activemq.UseDedicatedTaskRunner=true
+wrapper.java.additional.9=-Dderby.storage.fileSyncTransactionLog=true
-# Uncomment to enable jmx
+# Uncomment to enable remote jmx
#wrapper.java.additional.n=-Dcom.sun.management.jmxremote.port=1616
#wrapper.java.additional.n=-Dcom.sun.management.jmxremote.authenticate=false
#wrapper.java.additional.n=-Dcom.sun.management.jmxremote.ssl=false
@@ -83,7 +84,7 @@
wrapper.console.loglevel=INFO
# Log file to use for wrapper output logging.
-wrapper.logfile=bin/win32/wrapper.log
+wrapper.logfile=%ACTIVEMQ_BASE%/activemq-data/wrapper.log
# Format of output for the log file. (See docs for formats)
wrapper.logfile.format=LPTM