[ https://issues.apache.org/jira/browse/GERONIMO-6281?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Russell E Glaue updated GERONIMO-6281: -------------------------------------- Description: This issue is related to GERONIMO-6270 , GERONIMO-6175 , GERONIMO-6174 , GERONIMO-5987 , and is being used to specifically track modifications related to correctly using the following properties: # org.apache.geronimo.home.dir (GERONIMO_HOME) # org.apache.geronimo.server.dir (GERONIMO_SERVER - new shell variable introduced in GERONIMO-6275) # karaf.base # karaf.home Primary issue to be resolved: The org.apache.geronimo.home.dir property (GERONIMO_HOME) is being referenced when the org.apache.geronimo.server.dir property (GERONIMO_SERVER) should be instead. I have identified three places in Geronimo errors are occurring due to improper use of the above java properties: # SnapshotConfigXMLBuilder - originally reported in GERONIMO-6270 # ActiveMQ - is reported in a comment of GERONIMO-5987 , and is being reported here as requested. # Karaf - is additionally reported in GERONIMO-6174 . Note the three issues in startup: # Karaf initialization script etc/shell.init.script -- Error in initialization script: /opt/geronimo3/etc/shell.init.script (No such file or directory) -- Reason: --- This is because karaf.home/etc/shell.init.script is being accessed when instead it should be karaf.base/etc/shell.init.script -- Solution: --- The {karaf.base} property should be the same value as the {org.apache.geronimo.server.dir} property -- Affected Code: --- framework/buildsupport/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo/server/RunClientMojo.java --- framework/buildsupport/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo/server/StartServerMojo.java --- trunk/framework/configs/karaf-framework/src/main/distribution/text/etc/system.properties --- trunk/framework/features/framework/src/main/distribution/text/etc/system.properties --- trunk/framework/features/client/src/main/filtered-resources/resources/instances/client/etc/system.properties --- trunk/framework/features/client/src/main/filtered-resources/resources/instances/client/etc/org.ops4j.pax.url.mvn.cfg --- trunk/framework/modules/geronimo-shell-base/src/main/java/org/apache/geronimo/shell/geronimo/StartServerCommand.java --- trunk/framework/modules/geronimo-shell-base/src/main/java/org/apache/geronimo/shell/geronimo/StartClientCommand.java --- trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/serverinfo/BasicServerInfo.java --- trunk/framework/modules/geronimo-main/src/main/java/org/apache/geronimo/main/FrameworkLauncher.java -- These code files are affected, but in relation to specifying the repository --- trunk/framework/configs/karaf-framework/src/main/distribution/text/etc/org.ops4j.pax.url.mvn.cfg --- trunk/framework/features/framework/src/main/distribution/text/etc/org.ops4j.pax.url.mvn.cfg # SnapshotConfigXMLBuilder var/monitoring/ -- (A) ERROR [SnapshotConfigXMLBuilder] Could not make the directory /opt/geronimo3/var/monitoring/ -- (B) ERROR [SnapshotConfigXMLBuilder] /opt/geronimo3/var/monitoring/snapshot-config.xml (Not a directory) -- Reason: --- This is because SnapshotConfigXMLBuilder is looking for GERONIMO_HOME/var/monitoring -- Solution: --- SnapshotConfigXMLBuilder should instead be looking for GERONIMO_SERVER/var/monitoring -- Affected code: --- trunk/plugins/monitoring/agent-ejb/src/main/java/org/apache/geronimo/monitoring/ejb/snapshot/SnapshotProcessor.java --- trunk/plugins/monitoring/agent-jar/src/main/java/org/apache/geronimo/monitoring/snapshot/SnapshotConfigXMLBuilder.java # ActiveMQ Lock File -- WARN [AMQPersistenceAdapter] Waiting to Lock the Store var/activemq -- Reason: --- This is because the JMSBrokerPortlet will create and use a var directory relative to the path in which Geronimo was started (Note this may not be the actual GERONIMO_HOME or GERONIMO_SERVER directory). --- If two Geronimo instances are started from the same directory, they will share the same var directory, thus they will both want to use the same ActiveMQ lock file. -- Solution: --- A full path to the var directory should be used, or at least a path relative to org.apache.geronimo.server.dir --- The full path to var should be within org.apache.geronimo.server.dir -- Affected code: --- trunk/plugins/activemq/activemq-portlets/src/main/java/org/apache/geronimo/console/jmsmanager/server/JMSBrokerPortlet.java Setup for reproducing the errors: Follow the example for running multiple instances within the Geronimo Wiki, here: # https://cwiki.apache.org/confluence/display/GMOxDOC30/Running+multiple+Geronimo+instances # Then remove the GERONIMO_HOME/var and GERONIMO_HOME/etc directories # Create an empty file {PWD}/var/monitoring to prevent SnapshotConfigXMLBuilder from creating {PWD}/var/monitoring when it discovers it does not exist The errors can be reproduced setting up Geronimo as directed and using the start procedure below, resulting with the startup output given. The patch in GERONIMO-6275 was applied which allows the easier start procedure of Geronimo instances. However, the patch is not necessary to reproduce the errors. Use the start scripts in the above mentioned wiki page for "running multiple geronimo instances" as an alternative. The snapshot geronimo-tomcat7-javaee6-3.0-SNAPSHOT-20111220 was used for testing. Example showing both the issue with Karaf and SnapshotConfigXMLBuilder {noformat:borderStyle=solid} [ger@server /opt/geronimo3]# /bin/rm -r var [ger@server /opt/geronimo3]# mkdir var; touch var/monitoring [ger@server /opt/geronimo3]# env JAVA_HOME=/usr/jdk1.6.0 GERONIMO_SERVER=/opt/geronimo3/gserv1 /opt/geronimo3/bin/geronimo run Using GERONIMO_HOME: /opt/geronimo3 Using GERONIMO_SERVER: /opt/geronimo3/gserv1 Using GERONIMO_TMPDIR: /opt/geronimo3/gserv1/var/temp Using JRE_HOME: /usr/jdk1.6.0/jre ______ _ / ____/___ _________ ____ (_)____ ___ ____ / / __ / _ \/ ___/ __ \/ __ \/ // __ `__ \/ __ \ / /_/ // __/ / / /_/ / / / / // / / / / / /_/ / \____/ \___/_/ \____/_/ /_/_//_/ /_/ /_/\____/ Apache Geronimo (3.0-SNAPSHOT) Hit '<tab>' for a list of available commands and '[cmd] --help' for help on a specific command. Hit '<ctrl-d>' or 'osgi:shutdown' to shutdown Geronimo. Error in initialization script: /opt/geronimo3/etc/shell.init.script (No such file or directory) geronimo> Booting Geronimo Kernel (in Java 1.6.0_25)... Starting Geronimo Application Server v3.0-SNAPSHOT [***************************** ] 73% 35s Loading agent-car-jmx 2012-02-17 16:30:59,710 ERROR [SnapshotConfigXMLBuilder] Could not make the directory /opt/geronimo3/var/monitoring/ 2012-02-17 16:30:59,711 ERROR [SnapshotConfigXMLBuilder] /opt/geronimo3/var/monitoring/snapshot-config.xml (Not a directory) [****************************************] 100% 45s Startup complete Listening on Ports: 1150 0.0.0.0 CORBA Naming Service 1199 0.0.0.0 RMI Naming 1627 0.0.0.0 Derby Connector 2101 0.0.0.0 OpenEJB SSL ORB Adapter 4301 0.0.0.0 OpenEJB Daemon 6982 0.0.0.0 OpenEJB ORB Adapter 8109 0.0.0.0 Tomcat Connector AJP TomcatAJPConnector 8180 0.0.0.0 Tomcat Connector HTTP BIO TomcatWebConnector 8543 0.0.0.0 Tomcat Connector HTTPS BIO TomcatWebSSLConnector 10099 0.0.0.0 JMX Remoting Connector 61716 0.0.0.0 ActiveMQ Transport Connector Started Application Modules: EAR: org.apache.geronimo.plugins/console-tomcat/3.0-SNAPSHOT/car JAR: org.apache.geronimo.configs/mejb/3.0-SNAPSHOT/car RAR: org.apache.geronimo.configs/activemq-ra/3.0-SNAPSHOT/car RAR: org.apache.geronimo.configs/system-database/3.0-SNAPSHOT/car RAR: org.apache.geronimo.plugins.monitoring/agent-ds/3.0-SNAPSHOT/car RAR: org.apache.geronimo.plugins.monitoring/mconsole-ds/3.0-SNAPSHOT/car RAR: org.apache.geronimo.plugins/uddi-db/3.0-SNAPSHOT/car WAR: org.apache.geronimo.configs/remote-deploy-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.configs/uddi-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.configs/welcome-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.plugins.monitoring/mconsole-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.plugins/activemq-console-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.plugins/debugviews-console-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.plugins/openejb-console-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.plugins/plancreator-console-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.plugins/plugin-console-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.plugins/sysdb-console-tomcat/3.0-SNAPSHOT/car Web Applications: / /activemq /console /console-base /debug-views /juddi /monitoring /openejb-server /plan-creator /plugin /remote-deploy /system-database Geronimo Application Server started {noformat} Example showing ActiveMQ creating var directory relative to the path Geronimo was started. Obviously if a second Geronimo instance was started, there would be a conflict with the ActiveMQ lock file. {noformat:borderStyle=solid} [ger@server /opt]# pwd /opt [ger@server /opt]# ls -l var ls: var: No such file or directory [ger@server /opt]# env JAVA_HOME=/usr/jdk1.6.0 GERONIMO_SERVER=/opt/geronimo3/gserv1 /opt/geronimo3/bin/geronimo run Using GERONIMO_HOME: /opt/geronimo3 Using GERONIMO_SERVER: /opt/geronimo3/gserv1 Using GERONIMO_TMPDIR: /opt/geronimo3/gserv1/var/temp Using JRE_HOME: /usr/jdk1.6.0/jre ______ _ / ____/___ _________ ____ (_)____ ___ ____ / / __ / _ \/ ___/ __ \/ __ \/ // __ `__ \/ __ \ / /_/ // __/ / / /_/ / / / / // / / / / / /_/ / \____/ \___/_/ \____/_/ /_/_//_/ /_/ /_/\____/ Apache Geronimo (3.0-SNAPSHOT) Hit '<tab>' for a list of available commands and '[cmd] --help' for help on a specific command. Hit '<ctrl-d>' or 'osgi:shutdown' to shutdown Geronimo. geronimo> Booting Geronimo Kernel (in Java 1.6.0_25)... Starting Geronimo Application Server v3.0-SNAPSHOT [**************** ] 42% 11s Loading openjpa2 2012-02-17 16:03:45,759 WARN [aries] Managed persistence context support is no longer available for use with the Aries Blueprint container [****************************************] 100% 47s Startup complete Listening on Ports: 1150 0.0.0.0 CORBA Naming Service 1199 0.0.0.0 RMI Naming 1627 0.0.0.0 Derby Connector 2101 0.0.0.0 OpenEJB SSL ORB Adapter 4301 0.0.0.0 OpenEJB Daemon 6982 0.0.0.0 OpenEJB ORB Adapter 8109 0.0.0.0 Tomcat Connector AJP TomcatAJPConnector 8180 0.0.0.0 Tomcat Connector HTTP BIO TomcatWebConnector 8543 0.0.0.0 Tomcat Connector HTTPS BIO TomcatWebSSLConnector 10099 0.0.0.0 JMX Remoting Connector 61716 0.0.0.0 ActiveMQ Transport Connector Started Application Modules: EAR: org.apache.geronimo.plugins/console-tomcat/3.0-SNAPSHOT/car JAR: org.apache.geronimo.configs/mejb/3.0-SNAPSHOT/car RAR: org.apache.geronimo.configs/activemq-ra/3.0-SNAPSHOT/car RAR: org.apache.geronimo.configs/system-database/3.0-SNAPSHOT/car RAR: org.apache.geronimo.plugins.monitoring/agent-ds/3.0-SNAPSHOT/car RAR: org.apache.geronimo.plugins.monitoring/mconsole-ds/3.0-SNAPSHOT/car RAR: org.apache.geronimo.plugins/uddi-db/3.0-SNAPSHOT/car WAR: org.apache.geronimo.configs/remote-deploy-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.configs/uddi-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.configs/welcome-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.plugins.monitoring/mconsole-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.plugins/activemq-console-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.plugins/debugviews-console-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.plugins/openejb-console-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.plugins/plancreator-console-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.plugins/plugin-console-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.plugins/sysdb-console-tomcat/3.0-SNAPSHOT/car Web Applications: / /activemq /console /console-base /debug-views /juddi /monitoring /openejb-server /plan-creator /plugin /remote-deploy /system-database Geronimo Application Server started ^D 2012-02-17 16:16:26,021 WARN [aries] Managed persistence context support is no longer available for use with the Aries Blueprint container 2012-02-17 16:16:26,022 WARN [context] The TransactionSynchronizationRegistry used to manage persistence contexts is no longer available. Managed persistence contexts will no longer be able to integrate with JTA transactions, and will behave as if no there is no transaction context at all times until a new TransactionSynchronizationRegistry is available. Applications using managed persistence contexts may not work correctly until a new JTA Transaction services implementation is available. [ger@server /opt]# ls -l total 4 drwxr-xr-x 17 root root 4096 Feb 17 14:17 geronimo3 drwxr-xr-x 3 root root 4096 Feb 17 16:04 var [ger@server /opt]# tree /opt/var /opt/var `-- activemq |-- journal | |-- data-1 | `-- data-control |-- kr-store | |-- data | | |-- index-container-roots | | `-- lock | `-- state | |-- data-kaha-1 | |-- data-store-state-1 | |-- hash-index-store-state_state | |-- index-kaha | |-- index-store-state | |-- index-transactions-state | `-- lock `-- lock 5 directories, 12 files {noformat} was: This issue is related to GERONIMO-6270 , GERONIMO-6175 , GERONIMO-6174 , GERONIMO-5987 , and is being used to specifically track modifications related to correctly using the following properties: # org.apache.geronimo.home.dir (GERONIMO_HOME) # org.apache.geronimo.server.dir (GERONIMO_SERVER - new shell variable introduced in GERONIMO-6275) # karaf.base # karaf.home Primary issue to be resolved: The org.apache.geronimo.home.dir property (GERONIMO_HOME) is being referenced when the org.apache.geronimo.server.dir property (GERONIMO_SERVER) should be instead. I have identified three places in Geronimo errors are occurring due to improper use of the above java properties: # SnapshotConfigXMLBuilder - originally reported in GERONIMO-6270 # ActiveMQ - is reported in a comment of GERONIMO-5987 , and is being reported here as requested. # Karaf - is additionally reported in GERONIMO-6174 . Note the three issues in startup: # Karaf initialization script etc/shell.init.script -- Error in initialization script: /data/geronimo2/geronimo-tomcat7-javaee6-3.0-SNAPSHOT-20111220/etc/shell.init.script (No such file or directory) -- Reason: --- This is because karaf.home/etc/shell.init.script is being accessed when instead it should be karaf.base/etc/shell.init.script -- Solution: --- The {karaf.base} property should be the same value as the {org.apache.geronimo.server.dir} property -- Affected Code: --- framework/buildsupport/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo/server/RunClientMojo.java --- framework/buildsupport/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo/server/StartServerMojo.java --- trunk/framework/configs/karaf-framework/src/main/distribution/text/etc/system.properties --- trunk/framework/features/framework/src/main/distribution/text/etc/system.properties --- trunk/framework/features/client/src/main/filtered-resources/resources/instances/client/etc/system.properties --- trunk/framework/features/client/src/main/filtered-resources/resources/instances/client/etc/org.ops4j.pax.url.mvn.cfg --- trunk/framework/modules/geronimo-shell-base/src/main/java/org/apache/geronimo/shell/geronimo/StartServerCommand.java --- trunk/framework/modules/geronimo-shell-base/src/main/java/org/apache/geronimo/shell/geronimo/StartClientCommand.java --- trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/serverinfo/BasicServerInfo.java --- trunk/framework/modules/geronimo-main/src/main/java/org/apache/geronimo/main/FrameworkLauncher.java -- These code files are affected, but in relation to specifying the repository --- trunk/framework/configs/karaf-framework/src/main/distribution/text/etc/org.ops4j.pax.url.mvn.cfg --- trunk/framework/features/framework/src/main/distribution/text/etc/org.ops4j.pax.url.mvn.cfg # SnapshotConfigXMLBuilder var/monitoring/ -- (A) ERROR [SnapshotConfigXMLBuilder] Could not make the directory /data/geronimo2/geronimo-tomcat7-javaee6-3.0-SNAPSHOT-20111220/var/monitoring/ -- (B) ERROR [SnapshotConfigXMLBuilder] /data/geronimo2/geronimo-tomcat7-javaee6-3.0-SNAPSHOT-20111220/var/monitoring/snapshot-config.xml (Not a directory) -- Reason: --- This is because SnapshotConfigXMLBuilder is looking for GERONIMO_HOME/var/monitoring -- Solution: --- SnapshotConfigXMLBuilder should instead be looking for GERONIMO_SERVER/var/monitoring -- Affected code: --- trunk/plugins/monitoring/agent-ejb/src/main/java/org/apache/geronimo/monitoring/ejb/snapshot/SnapshotProcessor.java --- trunk/plugins/monitoring/agent-jar/src/main/java/org/apache/geronimo/monitoring/snapshot/SnapshotConfigXMLBuilder.java # ActiveMQ Lock File -- WARN [AMQPersistenceAdapter] Waiting to Lock the Store var/activemq -- Reason: --- This is because the JMSBrokerPortlet will create and use a var directory relative to the path in which Geronimo was started (Note this may not be the actual GERONIMO_HOME or GERONIMO_SERVER directory). --- If two Geronimo instances are started from the same directory, they will share the same var directory, thus they will both want to use the same ActiveMQ lock file. -- Solution: --- A full path to the var directory should be used, or at least a path relative to org.apache.geronimo.server.dir --- The full path to var should be within org.apache.geronimo.server.dir -- Affected code: --- trunk/plugins/activemq/activemq-portlets/src/main/java/org/apache/geronimo/console/jmsmanager/server/JMSBrokerPortlet.java Setup for reproducing the errors: Follow the example for running multiple instances within the Geronimo Wiki, here: # https://cwiki.apache.org/confluence/display/GMOxDOC30/Running+multiple+Geronimo+instances # Then remove the GERONIMO_HOME/var and GERONIMO_HOME/etc directories # Create an empty file {PWD}/var/monitoring to prevent SnapshotConfigXMLBuilder from creating {PWD}/var/monitoring when it discovers it does not exist The errors can be reproduced setting up Geronimo as directed and using the start procedure below, resulting with the startup output given. The patch in GERONIMO-6275 was applied which allows the easier start procedure of Geronimo instances. However, the patch is not necessary to reproduce the errors. Use the start scripts in the above mentioned wiki page for "running multiple geronimo instances" as an alternative. The snapshot geronimo-tomcat7-javaee6-3.0-SNAPSHOT-20111220 was used for testing. Example showing both the issue with Karaf and SnapshotConfigXMLBuilder {noformat:borderStyle=solid} [ger@server /opt/geronimo3]# /bin/rm -r var [ger@server /opt/geronimo3]# mkdir var; touch var/monitoring [ger@server /opt/geronimo3]# env JAVA_HOME=/usr/jdk1.6.0 GERONIMO_SERVER=/opt/geronimo3/gserv1 /opt/geronimo3/bin/geronimo run Using GERONIMO_HOME: /opt/geronimo3 Using GERONIMO_SERVER: /opt/geronimo3/gserv1 Using GERONIMO_TMPDIR: /opt/geronimo3/gserv1/var/temp Using JRE_HOME: /usr/jdk1.6.0/jre ______ _ / ____/___ _________ ____ (_)____ ___ ____ / / __ / _ \/ ___/ __ \/ __ \/ // __ `__ \/ __ \ / /_/ // __/ / / /_/ / / / / // / / / / / /_/ / \____/ \___/_/ \____/_/ /_/_//_/ /_/ /_/\____/ Apache Geronimo (3.0-SNAPSHOT) Hit '<tab>' for a list of available commands and '[cmd] --help' for help on a specific command. Hit '<ctrl-d>' or 'osgi:shutdown' to shutdown Geronimo. Error in initialization script: /opt/geronimo3/etc/shell.init.script (No such file or directory) geronimo> Booting Geronimo Kernel (in Java 1.6.0_25)... Starting Geronimo Application Server v3.0-SNAPSHOT [***************************** ] 73% 35s Loading agent-car-jmx 2012-02-17 16:30:59,710 ERROR [SnapshotConfigXMLBuilder] Could not make the directory /opt/geronimo3/var/monitoring/ 2012-02-17 16:30:59,711 ERROR [SnapshotConfigXMLBuilder] /opt/geronimo3/var/monitoring/snapshot-config.xml (Not a directory) [****************************************] 100% 45s Startup complete Listening on Ports: 1150 0.0.0.0 CORBA Naming Service 1199 0.0.0.0 RMI Naming 1627 0.0.0.0 Derby Connector 2101 0.0.0.0 OpenEJB SSL ORB Adapter 4301 0.0.0.0 OpenEJB Daemon 6982 0.0.0.0 OpenEJB ORB Adapter 8109 0.0.0.0 Tomcat Connector AJP TomcatAJPConnector 8180 0.0.0.0 Tomcat Connector HTTP BIO TomcatWebConnector 8543 0.0.0.0 Tomcat Connector HTTPS BIO TomcatWebSSLConnector 10099 0.0.0.0 JMX Remoting Connector 61716 0.0.0.0 ActiveMQ Transport Connector Started Application Modules: EAR: org.apache.geronimo.plugins/console-tomcat/3.0-SNAPSHOT/car JAR: org.apache.geronimo.configs/mejb/3.0-SNAPSHOT/car RAR: org.apache.geronimo.configs/activemq-ra/3.0-SNAPSHOT/car RAR: org.apache.geronimo.configs/system-database/3.0-SNAPSHOT/car RAR: org.apache.geronimo.plugins.monitoring/agent-ds/3.0-SNAPSHOT/car RAR: org.apache.geronimo.plugins.monitoring/mconsole-ds/3.0-SNAPSHOT/car RAR: org.apache.geronimo.plugins/uddi-db/3.0-SNAPSHOT/car WAR: org.apache.geronimo.configs/remote-deploy-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.configs/uddi-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.configs/welcome-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.plugins.monitoring/mconsole-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.plugins/activemq-console-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.plugins/debugviews-console-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.plugins/openejb-console-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.plugins/plancreator-console-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.plugins/plugin-console-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.plugins/sysdb-console-tomcat/3.0-SNAPSHOT/car Web Applications: / /activemq /console /console-base /debug-views /juddi /monitoring /openejb-server /plan-creator /plugin /remote-deploy /system-database Geronimo Application Server started {noformat} Example showing ActiveMQ creating var directory relative to the path Geronimo was started. Obviously if a second Geronimo instance was started, there would be a conflict with the ActiveMQ lock file. {noformat:borderStyle=solid} [ger@server /opt]# pwd /opt [ger@server /opt]# ls -l var ls: var: No such file or directory [ger@server /opt]# env JAVA_HOME=/usr/jdk1.6.0 GERONIMO_SERVER=/opt/geronimo3/gserv1 /opt/geronimo3/bin/geronimo run Using GERONIMO_HOME: /opt/geronimo3 Using GERONIMO_SERVER: /opt/geronimo3/gserv1 Using GERONIMO_TMPDIR: /opt/geronimo3/gserv1/var/temp Using JRE_HOME: /usr/jdk1.6.0/jre ______ _ / ____/___ _________ ____ (_)____ ___ ____ / / __ / _ \/ ___/ __ \/ __ \/ // __ `__ \/ __ \ / /_/ // __/ / / /_/ / / / / // / / / / / /_/ / \____/ \___/_/ \____/_/ /_/_//_/ /_/ /_/\____/ Apache Geronimo (3.0-SNAPSHOT) Hit '<tab>' for a list of available commands and '[cmd] --help' for help on a specific command. Hit '<ctrl-d>' or 'osgi:shutdown' to shutdown Geronimo. geronimo> Booting Geronimo Kernel (in Java 1.6.0_25)... Starting Geronimo Application Server v3.0-SNAPSHOT [**************** ] 42% 11s Loading openjpa2 2012-02-17 16:03:45,759 WARN [aries] Managed persistence context support is no longer available for use with the Aries Blueprint container [****************************************] 100% 47s Startup complete Listening on Ports: 1150 0.0.0.0 CORBA Naming Service 1199 0.0.0.0 RMI Naming 1627 0.0.0.0 Derby Connector 2101 0.0.0.0 OpenEJB SSL ORB Adapter 4301 0.0.0.0 OpenEJB Daemon 6982 0.0.0.0 OpenEJB ORB Adapter 8109 0.0.0.0 Tomcat Connector AJP TomcatAJPConnector 8180 0.0.0.0 Tomcat Connector HTTP BIO TomcatWebConnector 8543 0.0.0.0 Tomcat Connector HTTPS BIO TomcatWebSSLConnector 10099 0.0.0.0 JMX Remoting Connector 61716 0.0.0.0 ActiveMQ Transport Connector Started Application Modules: EAR: org.apache.geronimo.plugins/console-tomcat/3.0-SNAPSHOT/car JAR: org.apache.geronimo.configs/mejb/3.0-SNAPSHOT/car RAR: org.apache.geronimo.configs/activemq-ra/3.0-SNAPSHOT/car RAR: org.apache.geronimo.configs/system-database/3.0-SNAPSHOT/car RAR: org.apache.geronimo.plugins.monitoring/agent-ds/3.0-SNAPSHOT/car RAR: org.apache.geronimo.plugins.monitoring/mconsole-ds/3.0-SNAPSHOT/car RAR: org.apache.geronimo.plugins/uddi-db/3.0-SNAPSHOT/car WAR: org.apache.geronimo.configs/remote-deploy-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.configs/uddi-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.configs/welcome-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.plugins.monitoring/mconsole-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.plugins/activemq-console-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.plugins/debugviews-console-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.plugins/openejb-console-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.plugins/plancreator-console-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.plugins/plugin-console-tomcat/3.0-SNAPSHOT/car WAR: org.apache.geronimo.plugins/sysdb-console-tomcat/3.0-SNAPSHOT/car Web Applications: / /activemq /console /console-base /debug-views /juddi /monitoring /openejb-server /plan-creator /plugin /remote-deploy /system-database Geronimo Application Server started ^D 2012-02-17 16:16:26,021 WARN [aries] Managed persistence context support is no longer available for use with the Aries Blueprint container 2012-02-17 16:16:26,022 WARN [context] The TransactionSynchronizationRegistry used to manage persistence contexts is no longer available. Managed persistence contexts will no longer be able to integrate with JTA transactions, and will behave as if no there is no transaction context at all times until a new TransactionSynchronizationRegistry is available. Applications using managed persistence contexts may not work correctly until a new JTA Transaction services implementation is available. [ger@server /opt]# ls -l total 4 drwxr-xr-x 17 root root 4096 Feb 17 14:17 geronimo3 drwxr-xr-x 3 root root 4096 Feb 17 16:04 var [ger@server /opt]# tree /opt/var /opt/var `-- activemq |-- journal | |-- data-1 | `-- data-control |-- kr-store | |-- data | | |-- index-container-roots | | `-- lock | `-- state | |-- data-kaha-1 | |-- data-store-state-1 | |-- hash-index-store-state_state | |-- index-kaha | |-- index-store-state | |-- index-transactions-state | `-- lock `-- lock 5 directories, 12 files {noformat} > Geronimo home.dir is being used when server.dir should be used instead for > SnapshotConfigXMLBuilder, ActiveMQ, and Karaf > ------------------------------------------------------------------------------------------------------------------------ > > Key: GERONIMO-6281 > URL: https://issues.apache.org/jira/browse/GERONIMO-6281 > Project: Geronimo > Issue Type: Sub-task > Security Level: public(Regular issues) > Components: ActiveMQ, javaee6 > Affects Versions: 3.0-beta-1 > Environment: Linux x86, Red Hat Enterprise Linux Server release 5.4 > (Tikanga); Java JDK1.6.0_25 > Reporter: Russell E Glaue > Priority: Minor > Labels: geronimo > > This issue is related to GERONIMO-6270 , GERONIMO-6175 , GERONIMO-6174 , > GERONIMO-5987 , and is being used to specifically track modifications related > to correctly using the following properties: > # org.apache.geronimo.home.dir (GERONIMO_HOME) > # org.apache.geronimo.server.dir (GERONIMO_SERVER - new shell variable > introduced in GERONIMO-6275) > # karaf.base > # karaf.home > Primary issue to be resolved: The org.apache.geronimo.home.dir property > (GERONIMO_HOME) is being referenced when the org.apache.geronimo.server.dir > property (GERONIMO_SERVER) should be instead. > I have identified three places in Geronimo errors are occurring due to > improper use of the above java properties: > # SnapshotConfigXMLBuilder - originally reported in GERONIMO-6270 > # ActiveMQ - is reported in a comment of GERONIMO-5987 , and is being > reported here as requested. > # Karaf - is additionally reported in GERONIMO-6174 . > Note the three issues in startup: > # Karaf initialization script etc/shell.init.script > -- Error in initialization script: /opt/geronimo3/etc/shell.init.script (No > such file or directory) > -- Reason: > --- This is because karaf.home/etc/shell.init.script is being accessed when > instead it should be karaf.base/etc/shell.init.script > -- Solution: > --- The {karaf.base} property should be the same value as the > {org.apache.geronimo.server.dir} property > -- Affected Code: > --- > framework/buildsupport/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo/server/RunClientMojo.java > --- > framework/buildsupport/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo/server/StartServerMojo.java > --- > trunk/framework/configs/karaf-framework/src/main/distribution/text/etc/system.properties > --- > trunk/framework/features/framework/src/main/distribution/text/etc/system.properties > --- > trunk/framework/features/client/src/main/filtered-resources/resources/instances/client/etc/system.properties > --- > trunk/framework/features/client/src/main/filtered-resources/resources/instances/client/etc/org.ops4j.pax.url.mvn.cfg > --- > trunk/framework/modules/geronimo-shell-base/src/main/java/org/apache/geronimo/shell/geronimo/StartServerCommand.java > --- > trunk/framework/modules/geronimo-shell-base/src/main/java/org/apache/geronimo/shell/geronimo/StartClientCommand.java > --- > trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/serverinfo/BasicServerInfo.java > --- > trunk/framework/modules/geronimo-main/src/main/java/org/apache/geronimo/main/FrameworkLauncher.java > -- These code files are affected, but in relation to specifying the repository > --- > trunk/framework/configs/karaf-framework/src/main/distribution/text/etc/org.ops4j.pax.url.mvn.cfg > --- > trunk/framework/features/framework/src/main/distribution/text/etc/org.ops4j.pax.url.mvn.cfg > # SnapshotConfigXMLBuilder var/monitoring/ > -- (A) ERROR [SnapshotConfigXMLBuilder] Could not make the directory > /opt/geronimo3/var/monitoring/ > -- (B) ERROR [SnapshotConfigXMLBuilder] > /opt/geronimo3/var/monitoring/snapshot-config.xml (Not a directory) > -- Reason: > --- This is because SnapshotConfigXMLBuilder is looking for > GERONIMO_HOME/var/monitoring > -- Solution: > --- SnapshotConfigXMLBuilder should instead be looking for > GERONIMO_SERVER/var/monitoring > -- Affected code: > --- > trunk/plugins/monitoring/agent-ejb/src/main/java/org/apache/geronimo/monitoring/ejb/snapshot/SnapshotProcessor.java > --- > trunk/plugins/monitoring/agent-jar/src/main/java/org/apache/geronimo/monitoring/snapshot/SnapshotConfigXMLBuilder.java > # ActiveMQ Lock File > -- WARN [AMQPersistenceAdapter] Waiting to Lock the Store var/activemq > -- Reason: > --- This is because the JMSBrokerPortlet will create and use a var directory > relative to the path in which Geronimo was started (Note this may not be the > actual GERONIMO_HOME or GERONIMO_SERVER directory). > --- If two Geronimo instances are started from the same directory, they will > share the same var directory, thus they will both want to use the same > ActiveMQ lock file. > -- Solution: > --- A full path to the var directory should be used, or at least a path > relative to org.apache.geronimo.server.dir > --- The full path to var should be within org.apache.geronimo.server.dir > -- Affected code: > --- > trunk/plugins/activemq/activemq-portlets/src/main/java/org/apache/geronimo/console/jmsmanager/server/JMSBrokerPortlet.java > Setup for reproducing the errors: > Follow the example for running multiple instances within the Geronimo Wiki, > here: > # > https://cwiki.apache.org/confluence/display/GMOxDOC30/Running+multiple+Geronimo+instances > # Then remove the GERONIMO_HOME/var and GERONIMO_HOME/etc directories > # Create an empty file {PWD}/var/monitoring to prevent > SnapshotConfigXMLBuilder from creating {PWD}/var/monitoring when it discovers > it does not exist > The errors can be reproduced setting up Geronimo as directed and using the > start procedure below, resulting with the startup output given. The patch in > GERONIMO-6275 was applied which allows the easier start procedure of Geronimo > instances. However, the patch is not necessary to reproduce the errors. Use > the start scripts in the above mentioned wiki page for "running multiple > geronimo instances" as an alternative. The snapshot > geronimo-tomcat7-javaee6-3.0-SNAPSHOT-20111220 was used for testing. > Example showing both the issue with Karaf and SnapshotConfigXMLBuilder > {noformat:borderStyle=solid} > [ger@server /opt/geronimo3]# /bin/rm -r var > [ger@server /opt/geronimo3]# mkdir var; touch var/monitoring > [ger@server /opt/geronimo3]# env JAVA_HOME=/usr/jdk1.6.0 > GERONIMO_SERVER=/opt/geronimo3/gserv1 /opt/geronimo3/bin/geronimo run > Using GERONIMO_HOME: /opt/geronimo3 > Using GERONIMO_SERVER: /opt/geronimo3/gserv1 > Using GERONIMO_TMPDIR: /opt/geronimo3/gserv1/var/temp > Using JRE_HOME: /usr/jdk1.6.0/jre > > ______ _ > / ____/___ _________ ____ (_)____ ___ ____ > / / __ / _ \/ ___/ __ \/ __ \/ // __ `__ \/ __ \ > / /_/ // __/ / / /_/ / / / / // / / / / / /_/ / > \____/ \___/_/ \____/_/ /_/_//_/ /_/ /_/\____/ > Apache Geronimo (3.0-SNAPSHOT) > Hit '<tab>' for a list of available commands > and '[cmd] --help' for help on a specific command. > Hit '<ctrl-d>' or 'osgi:shutdown' to shutdown Geronimo. > Error in initialization script: /opt/geronimo3/etc/shell.init.script (No such > file or directory) > geronimo> Booting Geronimo Kernel (in Java 1.6.0_25)... > Starting Geronimo Application Server v3.0-SNAPSHOT > [***************************** ] 73% 35s Loading agent-car-jmx > 2012-02-17 16:30:59,710 ERROR > [SnapshotConfigXMLBuilder] Could not make the directory > /opt/geronimo3/var/monitoring/ > 2012-02-17 16:30:59,711 ERROR [SnapshotConfigXMLBuilder] > /opt/geronimo3/var/monitoring/snapshot-config.xml (Not a directory) > [****************************************] 100% 45s Startup complete > > Listening on Ports: > 1150 0.0.0.0 CORBA Naming Service > 1199 0.0.0.0 RMI Naming > 1627 0.0.0.0 Derby Connector > 2101 0.0.0.0 OpenEJB SSL ORB Adapter > 4301 0.0.0.0 OpenEJB Daemon > 6982 0.0.0.0 OpenEJB ORB Adapter > 8109 0.0.0.0 Tomcat Connector AJP TomcatAJPConnector > 8180 0.0.0.0 Tomcat Connector HTTP BIO TomcatWebConnector > 8543 0.0.0.0 Tomcat Connector HTTPS BIO TomcatWebSSLConnector > 10099 0.0.0.0 JMX Remoting Connector > 61716 0.0.0.0 ActiveMQ Transport Connector > Started Application Modules: > EAR: org.apache.geronimo.plugins/console-tomcat/3.0-SNAPSHOT/car > JAR: org.apache.geronimo.configs/mejb/3.0-SNAPSHOT/car > RAR: org.apache.geronimo.configs/activemq-ra/3.0-SNAPSHOT/car > RAR: org.apache.geronimo.configs/system-database/3.0-SNAPSHOT/car > RAR: org.apache.geronimo.plugins.monitoring/agent-ds/3.0-SNAPSHOT/car > RAR: org.apache.geronimo.plugins.monitoring/mconsole-ds/3.0-SNAPSHOT/car > RAR: org.apache.geronimo.plugins/uddi-db/3.0-SNAPSHOT/car > WAR: org.apache.geronimo.configs/remote-deploy-tomcat/3.0-SNAPSHOT/car > WAR: org.apache.geronimo.configs/uddi-tomcat/3.0-SNAPSHOT/car > WAR: org.apache.geronimo.configs/welcome-tomcat/3.0-SNAPSHOT/car > WAR: > org.apache.geronimo.plugins.monitoring/mconsole-tomcat/3.0-SNAPSHOT/car > WAR: org.apache.geronimo.plugins/activemq-console-tomcat/3.0-SNAPSHOT/car > WAR: > org.apache.geronimo.plugins/debugviews-console-tomcat/3.0-SNAPSHOT/car > WAR: org.apache.geronimo.plugins/openejb-console-tomcat/3.0-SNAPSHOT/car > WAR: > org.apache.geronimo.plugins/plancreator-console-tomcat/3.0-SNAPSHOT/car > WAR: org.apache.geronimo.plugins/plugin-console-tomcat/3.0-SNAPSHOT/car > WAR: org.apache.geronimo.plugins/sysdb-console-tomcat/3.0-SNAPSHOT/car > Web Applications: > / > /activemq > /console > /console-base > /debug-views > /juddi > /monitoring > /openejb-server > /plan-creator > /plugin > /remote-deploy > /system-database > Geronimo Application Server started > {noformat} > Example showing ActiveMQ creating var directory relative to the path Geronimo > was started. > Obviously if a second Geronimo instance was started, there would be a > conflict with the ActiveMQ lock file. > {noformat:borderStyle=solid} > [ger@server /opt]# pwd > /opt > [ger@server /opt]# ls -l var > ls: var: No such file or directory > [ger@server /opt]# env JAVA_HOME=/usr/jdk1.6.0 > GERONIMO_SERVER=/opt/geronimo3/gserv1 /opt/geronimo3/bin/geronimo run > Using GERONIMO_HOME: /opt/geronimo3 > Using GERONIMO_SERVER: /opt/geronimo3/gserv1 > Using GERONIMO_TMPDIR: /opt/geronimo3/gserv1/var/temp > Using JRE_HOME: /usr/jdk1.6.0/jre > > ______ _ > / ____/___ _________ ____ (_)____ ___ ____ > / / __ / _ \/ ___/ __ \/ __ \/ // __ `__ \/ __ \ > / /_/ // __/ / / /_/ / / / / // / / / / / /_/ / > \____/ \___/_/ \____/_/ /_/_//_/ /_/ /_/\____/ > Apache Geronimo (3.0-SNAPSHOT) > Hit '<tab>' for a list of available commands > and '[cmd] --help' for help on a specific command. > Hit '<ctrl-d>' or 'osgi:shutdown' to shutdown Geronimo. > geronimo> Booting Geronimo Kernel (in Java 1.6.0_25)... > Starting Geronimo Application Server v3.0-SNAPSHOT > [**************** ] 42% 11s Loading openjpa2 > 2012-02-17 16:03:45,759 WARN [aries] Managed > persistence context support is no longer available for use with the Aries > Blueprint container > [****************************************] 100% 47s Startup complete > > Listening on Ports: > 1150 0.0.0.0 CORBA Naming Service > 1199 0.0.0.0 RMI Naming > 1627 0.0.0.0 Derby Connector > 2101 0.0.0.0 OpenEJB SSL ORB Adapter > 4301 0.0.0.0 OpenEJB Daemon > 6982 0.0.0.0 OpenEJB ORB Adapter > 8109 0.0.0.0 Tomcat Connector AJP TomcatAJPConnector > 8180 0.0.0.0 Tomcat Connector HTTP BIO TomcatWebConnector > 8543 0.0.0.0 Tomcat Connector HTTPS BIO TomcatWebSSLConnector > 10099 0.0.0.0 JMX Remoting Connector > 61716 0.0.0.0 ActiveMQ Transport Connector > Started Application Modules: > EAR: org.apache.geronimo.plugins/console-tomcat/3.0-SNAPSHOT/car > JAR: org.apache.geronimo.configs/mejb/3.0-SNAPSHOT/car > RAR: org.apache.geronimo.configs/activemq-ra/3.0-SNAPSHOT/car > RAR: org.apache.geronimo.configs/system-database/3.0-SNAPSHOT/car > RAR: org.apache.geronimo.plugins.monitoring/agent-ds/3.0-SNAPSHOT/car > RAR: org.apache.geronimo.plugins.monitoring/mconsole-ds/3.0-SNAPSHOT/car > RAR: org.apache.geronimo.plugins/uddi-db/3.0-SNAPSHOT/car > WAR: org.apache.geronimo.configs/remote-deploy-tomcat/3.0-SNAPSHOT/car > WAR: org.apache.geronimo.configs/uddi-tomcat/3.0-SNAPSHOT/car > WAR: org.apache.geronimo.configs/welcome-tomcat/3.0-SNAPSHOT/car > WAR: > org.apache.geronimo.plugins.monitoring/mconsole-tomcat/3.0-SNAPSHOT/car > WAR: org.apache.geronimo.plugins/activemq-console-tomcat/3.0-SNAPSHOT/car > WAR: > org.apache.geronimo.plugins/debugviews-console-tomcat/3.0-SNAPSHOT/car > WAR: org.apache.geronimo.plugins/openejb-console-tomcat/3.0-SNAPSHOT/car > WAR: > org.apache.geronimo.plugins/plancreator-console-tomcat/3.0-SNAPSHOT/car > WAR: org.apache.geronimo.plugins/plugin-console-tomcat/3.0-SNAPSHOT/car > WAR: org.apache.geronimo.plugins/sysdb-console-tomcat/3.0-SNAPSHOT/car > Web Applications: > / > /activemq > /console > /console-base > /debug-views > /juddi > /monitoring > /openejb-server > /plan-creator > /plugin > /remote-deploy > /system-database > Geronimo Application Server started > ^D > 2012-02-17 16:16:26,021 WARN [aries] Managed persistence context support is > no longer available for use with the Aries Blueprint container > 2012-02-17 16:16:26,022 WARN [context] The > TransactionSynchronizationRegistry used to manage persistence contexts is no > longer available. Managed persistence contexts will no longer be able to > integrate with JTA transactions, and will behave as if no there is no > transaction context at all times until a new > TransactionSynchronizationRegistry is available. Applications using managed > persistence contexts may not work correctly until a new JTA Transaction > services implementation is available. > [ger@server /opt]# ls -l > total 4 > drwxr-xr-x 17 root root 4096 Feb 17 14:17 geronimo3 > drwxr-xr-x 3 root root 4096 Feb 17 16:04 var > [ger@server /opt]# tree /opt/var > /opt/var > `-- activemq > |-- journal > | |-- data-1 > | `-- data-control > |-- kr-store > | |-- data > | | |-- index-container-roots > | | `-- lock > | `-- state > | |-- data-kaha-1 > | |-- data-store-state-1 > | |-- hash-index-store-state_state > | |-- index-kaha > | |-- index-store-state > | |-- index-transactions-state > | `-- lock > `-- lock > 5 directories, 12 files > {noformat} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira