Uploaded image for project: 'GateIn Portal'
  1. GateIn Portal
  2. GTNPORTAL-3248

Portlet archive containing gatein-resources.xml fails to redeploy

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 3.6.1.Final
    • Fix Version/s: 3.7.0.Final
    • Component/s: None
    • Labels:
    • Sprint:
      Sprint 77
    • Steps to Reproduce:
      Hide

      Package gatein-portal with EAP 6.1.0.Final as explained in https://github.com/mstruk/gatein-portal/blob/master/packaging/jboss-as7/README.txt in chapter 'Building with JBoss EAP 6.1.0 Final'.

      Download attached js-modular-reproducer.zip.

      Unzip it, and build the project ('mvn clean install').
      Deploy the portlet archive by copying:

      cp $HOME/Downloads/js-modular-reproducer/target/js-modular-issue.war $DEVEL/gatein-portal/packaging/jboss-as7/pkg/target/jboss/standalone/deployments/

      Start GateIn normally:

      packaging/jboss-as7/pkg/target/jboss/bin/standalone.sh

      Issue the copy command again to trigger redeploy of js-modular-issue.war.

      The exception occurs.

      Show
      Package gatein-portal with EAP 6.1.0.Final as explained in https://github.com/mstruk/gatein-portal/blob/master/packaging/jboss-as7/README.txt in chapter 'Building with JBoss EAP 6.1.0 Final'. Download attached js-modular-reproducer.zip. Unzip it, and build the project ('mvn clean install'). Deploy the portlet archive by copying: cp $HOME/Downloads/js-modular-reproducer/target/js-modular-issue.war $DEVEL/gatein-portal/packaging/jboss-as7/pkg/target/jboss/standalone/deployments/ Start GateIn normally: packaging/jboss-as7/pkg/target/jboss/bin/standalone.sh Issue the copy command again to trigger redeploy of js-modular-issue.war. The exception occurs.

      Description

      During hot redeploy of portlet application JavascripConfigDeployer should remove any resource ids registered during application deploy as a result of using gatein-resources.xml. Logic for that is missing, and we get a duplicate resource id exception:

      19:34:39,162 ERROR [org.exoplatform.web.application.javascript.JavascriptConfigDeployer] (ServerService Thread Pool – 23) An error occurs while processing 'Javascript in gatein-resources.xml' from the context 'TestJS': java.lang.IllegalStateException: Duplicate ResourceId : PORTLET/js-modular-issue/JSModuleReproducer, later resource definition will be ignored
      at org.gatein.portal.controller.resource.script.ScriptGraph.addResource(ScriptGraph.java:223) [exo.portal.component.web.resources-3.6.2.Final-SNAPSHOT.jar:3.6.2.Final-SNAPSHOT]
      at org.exoplatform.web.application.javascript.JavascriptTask.execute(JavascriptTask.java:49) [exo.portal.component.web.resources-3.6.2.Final-SNAPSHOT.jar:3.6.2.Final-SNAPSHOT]
      at org.exoplatform.web.application.javascript.JavascriptConfigParser.processConfigResource(JavascriptConfigParser.java:124) [exo.portal.component.web.resources-3.6.2.Final-SNAPSHOT.jar:3.6.2.Final-SNAPSHOT]
      at org.exoplatform.web.application.javascript.JavascriptConfigDeployer.register(JavascriptConfigDeployer.java:113) [exo.portal.component.web.resources-3.6.2.Final-SNAPSHOT.jar:3.6.2.Final-SNAPSHOT]
      at org.exoplatform.web.application.javascript.JavascriptConfigDeployer.access$000(JavascriptConfigDeployer.java:43) [exo.portal.component.web.resources-3.6.2.Final-SNAPSHOT.jar:3.6.2.Final-SNAPSHOT]
      at org.exoplatform.web.application.javascript.JavascriptConfigDeployer$1.execute(JavascriptConfigDeployer.java:92) [exo.portal.component.web.resources-3.6.2.Final-SNAPSHOT.jar:3.6.2.Final-SNAPSHOT]
      at org.exoplatform.container.RootContainer$PortalContainerPostInitTask.onAlreadyExists(RootContainer.java:1299) [exo.kernel.container-2.4.4-GA.jar:2.4.4-GA]
      at org.exoplatform.container.RootContainer.addInitTask(RootContainer.java:1127) [exo.kernel.container-2.4.4-GA.jar:2.4.4-GA]
      at org.exoplatform.container.PortalContainer.addInitTask(PortalContainer.java:485) [exo.kernel.container-2.4.4-GA.jar:2.4.4-GA]
      at org.exoplatform.web.application.javascript.JavascriptConfigDeployer.add(JavascriptConfigDeployer.java:96) [exo.portal.component.web.resources-3.6.2.Final-SNAPSHOT.jar:3.6.2.Final-SNAPSHOT]
      at org.exoplatform.web.application.javascript.JavascriptConfigDeployer.onEvent(JavascriptConfigDeployer.java:71) [exo.portal.component.web.resources-3.6.2.Final-SNAPSHOT.jar:3.6.2.Final-SNAPSHOT]
      at org.gatein.wci.ServletContainer.safeFireEvent(ServletContainer.java:319) [wci-wci-2.3.1.Final.jar:2.3.1.Final]
      at org.gatein.wci.ServletContainer.fireEvent(ServletContainer.java:338) [wci-wci-2.3.1.Final.jar:2.3.1.Final]
      at org.gatein.wci.ServletContainer.access$400(ServletContainer.java:56) [wci-wci-2.3.1.Final.jar:2.3.1.Final]
      at org.gatein.wci.ServletContainer$RegistrationImpl.registerWebApp(ServletContainer.java:462) [wci-wci-2.3.1.Final.jar:2.3.1.Final]
      at org.gatein.wci.jboss.JB7ServletContainerContext.start(JB7ServletContainerContext.java:369) [wci-jboss7-2.3.1.Final.jar:2.3.1.Final]
      at org.gatein.wci.jboss.JB7ServletContainerContext.lifecycleEvent(JB7ServletContainerContext.java:223) [wci-jboss7-2.3.1.Final.jar:2.3.1.Final]
      at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:115) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
      at org.apache.catalina.core.StandardContext.start(StandardContext.java:3772) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
      at org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:156) [jboss-as-web-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
      at org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:60) [jboss-as-web-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
      at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:93) [jboss-as-web-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) [classes.jar:1.6.0_51]
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [classes.jar:1.6.0_51]
      at java.util.concurrent.FutureTask.run(FutureTask.java:138) [classes.jar:1.6.0_51]
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) [classes.jar:1.6.0_51]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) [classes.jar:1.6.0_51]
      at java.lang.Thread.run(Thread.java:680) [classes.jar:1.6.0_51]
      at org.jboss.threads.JBossThread.run(JBossThread.java:122)

      19:34:39,168 ERROR [org.exoplatform.commons.xml.XMLValidator] (ServerService Thread Pool – 23) Error in document jndi:/default-host/js-modular-issue/WEB-INF/gatein-resources.xml at (4,89) :cvc-elt.1: Cannot find the declaration of element 'gatein-resources'.
      19:34:39,179 INFO [org.jboss.as.server] (DeploymentScanner-threads - 1) JBAS018565: Replaced deployment "js-modular-issue.war" with deployment "js-modular-issue.war"

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                vstorm83 Vu Viet Phuong
                Reporter:
                mstruk Marko Strukelj
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - 4 hours
                  4h
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 2 hours Time Not Required
                  2h