11 Replies Latest reply on Oct 25, 2012 3:53 AM by kovavla

    Installing Gatein 3.4.0 final on a existing AS7 domain ?

    lbreuling

      Hello everybody,

       

      I would like to install/deploy Gatein 3.4 on an exisitng AS7.1.2_final domain. Before guessing what to do, I would like to know  if there is some documention about that or if somebody has already experimented this installation?

       

      Thanks in advance for your help

        • 1. Re: Installing Gatein 3.4.0 final on a existing AS7 domain ?
          mwringe

          We don't have any documentation on how to manually add GateIn to an already existing application server, and the required changes are different between each application server/web container.

           

          I would suggest getting the AS7 version of GateIn, and comparing it to the upstream AS7 application server. That will show you all the changes to the application server that GateIn performed. You would then need to do those same changes on your exisiting AS7 server. Using a graphical diff tool (like meld) would probably make this a lot easier, espcially with something like a 3 way diff

          • 2. Re: Installing Gatein 3.4.0 final on a existing AS7 domain ?
            lbreuling

            Thanks Matt for your feedback. If I'm correct the configuration for an AS7 deployed in domain mode is not delivered in the GateInt bundle.Therefore I think that I will try to apply (like you suggest) the change in the AS7 domain based on what is done in the GateIn bundle for the standalone deployment. I will try to post the result in case it interest someone.

             

             

            Laurent

            • 3. Re: Installing Gatein 3.4.0 final on a existing AS7 domain ?
              mstruk

              Could you explain your use-case, and more specifically how you hope to use / manage GateIn in domain mode?

               

              ATM a domain mode is not really supported by GateIn. Specifically - ATM GateIn relies on AS7 deployment scanner which is not available in domain mode, since deployments are perfomed completely differently in domain mode - pushed to servers from domain via management layer.

               

              I'm working on a change that would remove this dependency, but I expect that this change alone will not be enough to support domain mode. That's why it would be great if you can give us some feedback on how you expect to use GateIn in domain mode.

              • 4. Re: Installing Gatein 3.4.0 final on a existing AS7 domain ?
                lbreuling

                In fact we will deploy GateIn on different hosts in order to provide loadbalancing and High-availability (we will have some webservers in front). We would like to ensure that the deployement is strictly similar on all hosts and fit into our  "standard" domain mode deployement. For the moment I'm just trying to find information. I will certainly do some tests  in November.

                • 5. Re: Installing Gatein 3.4.0 final on a existing AS7 domain ?
                  kovavla

                  Laurent, it is a good idea to install GateIN  in a clustered domain for high availability and performance.

                  I had the same idea about a month ago.  It has business potential.

                  Yesterday I figured out a plan to implement GateIn in an existing Jboss domain in a few steps, and today I was stopped in my tracks by the following problem.

                   

                  First thing todo is to copy the  gatein/modules  directory tree to your 'existing' Jboss tree.

                  Then change the  domain.xml   and add the  <extension module="org.gatein"/>   statement,  and also the subsystem definition for gatein in domain.xml.

                  Then try to startup the jvm's  by invoking  domain.sh,  see if the  gatein module loads correctly.

                   

                  It is necessary to change  the  MODULEPATH  of the servers that will run the GateIn ears, such that it includes the path to the gatein modules,

                  like:     $MODULEPATH = $JBOSS_HOME/modules:$JBOSS_HOME/gatein/modules.

                  But I don't know how extend the MODULEPATH  for a server that is host-controlled and part of a domain.

                  I know how to change the MODULEPATH for the process-controller and the host-controller by editing the  domain.sh  script,  see the  -mp parameter  in the   eval   statements.

                  I do not have enough knowledge about the bootstrap process that starts-up the  host-controlled servers that should run the gatein ears,   in order to configure the modulepath value after  -mp  of a server jvm.

                   

                  Does anyone know how to do this?  Invoking  ./domain.sh   results into an error, see the log output:

                   

                  =========================================================================================

                   

                    JBoss Bootstrap Environment

                   

                    JBOSS_HOME: /usr/share/jboss-as-7.1.0.Final

                   

                    JAVA: java

                   

                    JAVA_OPTS: -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Djboss.domain.default.config=domain.xml -Djboss.host.default.config=host.xml -Dexo.conf.dir=/usr/share/jboss-as-7.1.0.Final/domain/configuration/gatein -Dgatein.conf.dir=\${jboss.domain.config.dir}/gatein -Dexo.conf.dir.name=gatein

                   

                  =========================================================================

                   

                  JBOSS_MODULEPATH=/usr/share/jboss-as-7.1.0.Final/modules:/usr/share/jboss-as-7.1.0.Final/gatein/modules

                  14:53:25,844 INFO  [org.jboss.modules] (main) JBoss Modules version 1.1.1.GA

                  14:53:26,053 INFO  [org.jboss.as.process.Host Controller.status] (main) JBAS012017: Starting process 'Host Controller'

                  [Host Controller] 14:53:27,269 INFO  [org.jboss.modules] (main) JBoss Modules version 1.1.1.GA

                  [Host Controller] 14:53:27,537 INFO  [org.jboss.msc] (main) JBoss MSC version 1.0.2.GA

                  [Host Controller] 14:53:27,724 INFO  [org.jboss.as] (MSC service thread 1-1) JBAS015899: JBoss AS 7.1.0.Final "Thunder" starting

                  [Host Controller] 14:53:29,253 INFO  [org.xnio] (MSC service thread 1-2) XNIO Version 3.0.3.GA

                  [Host Controller] 14:53:29,508 INFO  [org.xnio.nio] (MSC service thread 1-2) XNIO NIO Implementation Version 3.0.3.GA

                  [Host Controller] 14:53:29,825 INFO  [org.jboss.remoting] (MSC service thread 1-2) JBoss Remoting version 3.2.2.GA

                  [Host Controller] 14:53:32,750 INFO  [org.jboss.as] (Controller Boot Thread) JBAS010902: Creating http management service using network interface (management) port (9990) securePort (-1)

                  [Host Controller] 14:53:32,807 INFO  [org.jboss.as.remoting] (MSC service thread 1-1) JBAS017100: Listening on /192.168.1.9:9999

                  [Host Controller] 14:53:33,358 INFO  [org.jboss.as.host.controller] (Controller Boot Thread) JBAS010922: Starting server Ubuntu-server-3

                  [Host Controller] 14:53:33,403 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015874: JBoss AS 7.1.0.Final "Thunder" (Host Controller) started in 7207ms - Started 11 of 11 services (0 services are passive or on-demand

                  14:53:33,439 INFO  [org.jboss.as.process.Server:Ubuntu-server-3.status] (ProcessController-threads - 3) JBAS012017: Starting process 'Server:Ubuntu-server-3'

                  [Server:Ubuntu-server-3] 14:53:34,906 INFO  [org.jboss.modules] (main) JBoss Modules version 1.1.1.GA

                  [Server:Ubuntu-server-3] 14:53:35,925 INFO  [org.jboss.msc] (main) JBoss MSC version 1.0.2.GA

                  [Server:Ubuntu-server-3] 14:53:36,196 INFO  [org.jboss.as] (MSC service thread 1-1) JBAS015899: JBoss AS 7.1.0.Final "Thunder" starting

                  [Server:Ubuntu-server-3] 14:53:36,513 INFO  [org.xnio] (MSC service thread 1-1) XNIO Version 3.0.3.GA

                  [Server:Ubuntu-server-3] 14:53:36,591 INFO  [org.xnio.nio] (MSC service thread 1-1) XNIO NIO Implementation Version 3.0.3.GA

                  [Server:Ubuntu-server-3] 14:53:36,650 INFO  [org.jboss.remoting] (MSC service thread 1-1) JBoss Remoting version 3.2.2.GA

                  [Server:Ubuntu-server-3] 14:53:40,092 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) Operation ("parallel-extension-add") failed - address: ([]) - failure description: "org.jboss.modules.ModuleNotFoundException: Module org.gatein:main is not found in local module loader @1835282 (roots: /usr/share/jboss-as-7.1.0.Final/modules)"

                  [Host Controller] 14:53:40,419 INFO  [org.jboss.as.domain.controller.mgmt] (proxy-threads - 1) JBAS010920: Server [Server:Ubuntu-server-3] registered using connection [Channel ID 69bb941e (inbound) of Remoting connection 0153b574 to /192.168.1.9:47872]

                  [Server:Ubuntu-server-3] 14:53:40,500 INFO  [org.jboss.as] (MSC service thread 1-1) JBAS015874: JBoss AS 7.1.0.Final "Thunder" started in 6632ms - Started 23 of 24 services (1 services are passive or on-demand)

                  [Host Controller] 14:53:40,532 INFO  [org.jboss.as.host.controller] (proxy-threads - 1) JBAS010919: Registering server Ubuntu-server-3

                   

                  /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java    -D[Server:Ubuntu-server-3] -XX:PermSize=256m -XX:MaxPermSize=256m -Xms64m -Xmx512m -server -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dexo.conf.dir=/usr/share/jboss-as-7.1.0.Final/domain/configuration/gatein -Dsun.rmi.dgc.client.gcInterval=3600000 -Dmodule.path=/usr/share/jboss-as-7.1.0.Final/modules:/usr/share/jboss-as-7.1.0.Final/gatein/modules -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.server.gcInterval=3600000 -Djava.awt.headless=true -Djboss.host.default.config=host.xml -Djboss.modules.system.pkgs=org.jboss.byteman -Djboss.domain.default.config=domain.xml -Djava.net.preferIPv4Stack=true -Dgatein.conf.dir=${jboss.domain.config.dir}/gatein -D[Host Controller]=true -Dexo.conf.dir.name=gatein -Djboss.home.dir=/usr/share/jboss-as-7.1.0.Final -Dorg.jboss.boot.log.file=/usr/share/jboss-as-7.1.0.Final/domain/servers/Ubuntu-server-3/log/boot.log -Dlogging.configuration=file:/usr/share/jboss-as-7.1.0.Final/domain/configuration/logging.properties -jar jboss-modules.jar -mp modules -jaxpmodule javax.xml.jaxp-provider org.jboss.as.server                



                   

                   

                  I tried to get the module path right by setting the system parameter  'module.path'  in the domain.xml,  also see the jvm options,  but the  -mp setting overrules  the value of module.path.

                   

                  So I am stuck, and this is not desirable JBoss behaviour, btw:    it is possible to change the module path of the process-controller and the host-controller JVMs  (which has no effect at all, except for errorless startup), but it is impossible to configure the module path of the server JVMs in a domain on which JEE applications are deployed  (which is essential for adding modules at a non-standard root).  If I only could delete the "-mp modules"  string,  but this is somewhere in the library code of the bootstrap mechanism, grrr.

                   

                  Bummer!

                  • 6. Re: Installing Gatein 3.4.0 final on a existing AS7 domain ?
                    lbreuling

                    Hi,

                     

                    I just tried to modify the module path  in a domain mode installation. The only way I achieved it is to set an environment variable JBOSS_MODULEPATH set to <jboss installed dir>/modules:<gatein modules dir> on the host controller hosts. Then after re-started the host controller you will see that the  -mp option takes into account the environment variables values. I tried as well with  jvm-option (in the server-group section of the domain.xml) but it told me that -mp is an invalid option when the host controller started the server. The last thing I tried is with the module.path property but after checking the code it seems that the -mp option override the values of the property ( the code do a setProperties) and I unfortunately did not find how to remove the -mp option only for the server ( and keep it for the host /process controller).

                     

                    Hope it helps...

                     

                     

                     

                    • 7. Re: Installing Gatein 3.4.0 final on a existing AS7 domain ?
                      kovavla

                      Hi,

                       

                      Indeed, I also tried to set the JBOSS_MODULEPATH,  but this is not a solution to this problem either.

                      So you are stuck as well.  I search the internet and fora intensely,  but I did not find the solution to this problem.

                       

                      One can set all kind of  jvm  options for the host-controlled  server in the domain configuration, but not so for the  -mp  parameter.

                      This seems to be a JBoss AS7  bug,  since the expected behaviour is that the  -mp  parameter that is set in the   domain.sh  file, is inherited by the host-controlled servers. Not so!

                       

                      The conclusion is obvious,  GateIn  can't be installed on a domain.

                      The deployement scanner blabla  is not the show stopper here, since the  gatein ears  can be deployed in other ways.

                      It is the modulepath setting that can't be changed, which stops this exercise.

                      • 8. Re: Installing Gatein 3.4.0 final on a existing AS7 domain ?
                        lbreuling

                        Hi,

                         

                        In fact the solution with the JBOSS_MODULEPATH environment variable is technically working  (I test it with other modules I will test it with gatein modules begining of next month) but of course it is not a clean solution since all servers will inherite of this module path not only the one which needs it. I would take it as a workaround.

                        • 9. Re: Installing Gatein 3.4.0 final on a existing AS7 domain ?
                          kovavla

                          Hi, you are right,  I used Jboss 7.1.0   which does not handle the JBOSS_MODULEPATH  correctly,  but this is solved in jboss 7.1.1.

                          I went on testing GateIn on a  Jboss 7.1.1  domain.  After adaptations of  domain.xml  (to include the  gatein extension and deployement scanner extension) and for instance   doman.sh,  domain.conf,  and   domain/configuration/gatein/configuration.properties.

                           

                          The host-controlled server process starts up and attempts to auto-deploy the gatein ears and wars, but this fails.   Initially, the following warnings appear:

                           

                          [Server:Ubuntu-server-3] 21:29:17,127 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) Class Path entry wsrp-producer-lib-2.2.0-Beta04.jar in "/usr/share/jboss-as-7.1.1.Final/gatein/deployments/gatein-wsrp-integration.ear/wsrp-producer.war"  does not point to a valid jar for a Class-Path reference.

                          [Server:Ubuntu-server-3] 21:29:17,166 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) Class Path entry wsrp-wsrp1-ws-2.2.0-Beta04.jar in "/usr/share/jboss-as-7.1.1.Final/gatein/deployments/gatein-wsrp-integration.ear/wsrp-producer.war"  does not point to a valid jar for a Class-Path reference.

                          [Server:Ubuntu-server-3] 21:29:17,167 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) Class Path entry wsrp-wsrp2-ws-2.2.0-Beta04.jar in "/usr/share/jboss-as-7.1.1.Final/gatein/deployments/gatein-wsrp-integration.ear/wsrp-producer.war"  does not point to a valid jar for a Class-Path reference.

                          [Server:Ubuntu-server-3] 21:29:17,169 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) Class Path entry wsrp-common-2.2.0-Beta04.jar in "/usr/share/jboss-as-7.1.1.Final/gatein/deployments/gatein-wsrp-integration.ear/wsrp-producer.war"  does not point to a valid jar for a Class-Path reference.

                          [Server:Ubuntu-server-3] 21:29:17,175 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) Class Path entry guava-r09.jar in "/usr/share/jboss-as-7.1.1.Final/gatein/deployments/gatein-wsrp-integration.ear/wsrp-producer.war"  does not point to a valid jar for a Class-Path reference.

                          [Server:Ubuntu-server-3] 21:29:17,176 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) Class Path entry wsrp-integration-api-2.2.0-Beta04.jar in "/usr/share/jboss-as-7.1.1.Final/gatein/deployments/gatein-wsrp-integration.ear/wsrp-producer.war"  does not point to a valid jar for a Class-Path reference.

                          [Server:Ubuntu-server-3] 21:29:17,179 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) Class Path entry servlet-api-2.5.jar in "/usr/share/jboss-as-7.1.1.Final/gatein/deployments/gatein-wsrp-integration.ear/wsrp-producer.war"  does not point to a valid jar for a Class-Path reference.

                          [Server:Ubuntu-server-3] 21:29:17,185 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) Class Path entry pc-api-2.3.2-GA.jar in "/usr/share/jboss-as-7.1.1.Final/gatein/deployments/gatein-wsrp-integration.ear/wsrp-producer.war"  does not point to a valid jar for a Class-Path reference.

                          [Server:Ubuntu-server-3] 21:29:17,191 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) Class Path entry wci-wci-2.2.0-Beta01.jar in "/usr/share/jboss-as-7.1.1.Final/gatein/deployments/gatein-wsrp-integration.ear/wsrp-producer.war"  does not point to a valid jar for a Class-Path reference.

                          [Server:Ubuntu-server-3] 21:29:17,197 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) Class Path entry pc-portlet-2.3.2-GA.jar in "/usr/share/jboss-as-7.1.1.Final/gatein/deployments/gatein-wsrp-integration.ear/wsrp-producer.war"  does not point to a valid jar for a Class-Path reference.

                          [Server:Ubuntu-server-3] 21:29:17,198 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) Class Path entry portlet-api-2.0.jar in "/usr/share/jboss-as-7.1.1.Final/gatein/deployments/gatein-wsrp-integration.ear/wsrp-producer.war"  does not point to a valid jar for a Class-Path reference.

                          [Server:Ubuntu-server-3] 21:29:17,203 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) Class Path entry jsp-api-2.1.jar in "/usr/share/jboss-as-7.1.1.Final/gatein/deployments/gatein-wsrp-integration.ear/wsrp-producer.war"  does not point to a valid jar for a Class-Path reference.

                          [Server:Ubuntu-server-3] 21:29:17,227 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) Class Path entry ccpp-1.0.jar in "/usr/share/jboss-as-7.1.1.Final/gatein/deployments/gatein-wsrp-integration.ear/wsrp-producer.war"  does not point to a valid jar for a Class-Path reference.

                          [Server:Ubuntu-server-3] 21:29:17,228 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) Class Path entry pc-federation-2.3.2-GA.jar in "/usr/share/jboss-as-7.1.1.Final/gatein/deployments/gatein-wsrp-integration.ear/wsrp-producer.war"  does not point to a valid jar for a Class-Path reference.

                           

                          and further on errors:

                           

                          [Server:Ubuntu-server-3] 21:29:19,573 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC00001: Failed to start service jboss.deployment.subunit."gatein-wsrp-integration.ear"."wsrp-producer.war".PARSE: org.jboss.msc.service.StartException in service jboss.deployment.subunit."gatein-wsrp-integration.ear"."wsrp-producer.war".PARSE: Failed to process phase PARSE of subdeployment "wsrp-producer.war" of deployment "gatein-wsrp-integration.ear"

                          [Server:Ubuntu-server-3]        at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]

                           

                           

                          I have no idea why the mentioned jar  ( wsrp-producer-lib-2.2.0-Beta04.jar) is not a valid jar for a Class-Path reference,  see the first Warning above.

                           

                          This jar file is mentioned in  wsrp-producer.war/META-INF   and is present in  gatein//modules/org/gatein/wsrp/main

                           

                          For now I will stop with making GateIn work on a domain/cluster.

                          • 10. Re: Installing Gatein 3.4.0 final on a existing AS7 domain ?
                            mstruk

                            I suggest you try and use 3.5.0.Beta01 that was just released.

                             

                            It doesn't use a separate modules root any more, so no messing with JBOSS_MODULEPATH any more.


                            Also, 3.5.0.Beta01 doesn't use AS7 deployment scanner any more, but instead uses it's own boot-time scanner, automatically enabled when gatein subsystem is activated.

                            It should be more friendly to domain mode setup.


                             

                            You can read more about how it works now here: https://github.com/gatein/gatein-portal/blob/3.5.0.Beta01/packaging/jboss-as7/README.txt

                            • 11. Re: Installing Gatein 3.4.0 final on a existing AS7 domain ?
                              kovavla

                              Thanks Marko, I will try the latest release in domain mode setup.