[JBoss JIRA] (GTNPORTAL-3248) Portlet archive containing gatein-resources.xml fails to redeploy
by Vu Viet Phuong (JIRA)
[ https://issues.jboss.org/browse/GTNPORTAL-3248?page=com.atlassian.jira.pl... ]
Vu Viet Phuong commented on GTNPORTAL-3248:
-------------------------------------------
I'd like to propose another PR:
https://github.com/gatein/gatein-portal/pull/638
> Portlet archive containing gatein-resources.xml fails to redeploy
> -----------------------------------------------------------------
>
> Key: GTNPORTAL-3248
> URL: https://issues.jboss.org/browse/GTNPORTAL-3248
> Project: GateIn Portal
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 3.6.1.Final
> Reporter: Marko Strukelj
> Assignee: Vu Viet Phuong
> Labels: backlogs
> Attachments: js-modular-reproducer.zip
>
>
> 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"
>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
10 years, 8 months
[JBoss JIRA] (GTNPORTAL-3248) Portlet archive containing gatein-resources.xml fails to redeploy
by Vu Viet Phuong (JIRA)
[ https://issues.jboss.org/browse/GTNPORTAL-3248?page=com.atlassian.jira.pl... ]
Vu Viet Phuong commented on GTNPORTAL-3248:
-------------------------------------------
I've taken alook at this PR. There a 2 things to notice here:
- We should not remove SHARED/merged resource, this is legacy JS (it's been deprecated, it's here for compability), we allow to declared this resources in multi webapp (other resource only allow to be declared one time)
- We should invalidate the cache for JS (it's cached in ResourceRequestHandler) also (this PR only invalidate the configuration for js resources)
> Portlet archive containing gatein-resources.xml fails to redeploy
> -----------------------------------------------------------------
>
> Key: GTNPORTAL-3248
> URL: https://issues.jboss.org/browse/GTNPORTAL-3248
> Project: GateIn Portal
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 3.6.1.Final
> Reporter: Marko Strukelj
> Assignee: Vu Viet Phuong
> Labels: backlogs
> Attachments: js-modular-reproducer.zip
>
>
> 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"
>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
10 years, 8 months
[JBoss JIRA] (GTNPORTAL-3250) The portlets cannot be displayed after a portal reload
by Nicolas Filotto (JIRA)
[ https://issues.jboss.org/browse/GTNPORTAL-3250?page=com.atlassian.jira.pl... ]
Nicolas Filotto updated GTNPORTAL-3250:
---------------------------------------
Attachment: GTNPORTAL-3250.patch
Here is a patch proposal
> The portlets cannot be displayed after a portal reload
> ------------------------------------------------------
>
> Key: GTNPORTAL-3250
> URL: https://issues.jboss.org/browse/GTNPORTAL-3250
> Project: GateIn Portal
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: PC integration
> Affects Versions: 3.6.1.Final
> Reporter: Nicolas Filotto
> Assignee: Marko Strukelj
> Attachments: GTNPORTAL-3250.patch
>
>
> If you launch Gatein in developing mode, it is possible to reload only a given portal container either automatically by redeploying a webapp that has been defined as a PortalContainerConfigOwner (in other words you have the listener org.exoplatform.container.web.PortalContainerConfigOwner in your web.xml) or manually using the JMX console. And when you do so, no portlet can be displayed properly anymore (we have the message "This portlet encountered an error and could not be displayed" for all portlets), this issue is due to https://issues.jboss.org/browse/GTNPORTAL-2406.
> Here are the steps to reproduce:
> * Start GateIn with ./standalone.sh -Dexo.product.developing=true
> * launch the JMX Console and call _reload_ with the argument _portal_ on the MBean {{exo:container=root}}
> * Once the command is over, go to http://localhost:8080/portal/
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
10 years, 8 months
[JBoss JIRA] (GTNPORTAL-2394) The GadgetDeployer should unregister itself as WebAppListener in the stop method
by Nicolas Filotto (JIRA)
[ https://issues.jboss.org/browse/GTNPORTAL-2394?page=com.atlassian.jira.pl... ]
Nicolas Filotto updated GTNPORTAL-2394:
---------------------------------------
Attachment: GTNPORTAL-2394.patch
Here is a patch proposal
> The GadgetDeployer should unregister itself as WebAppListener in the stop method
> --------------------------------------------------------------------------------
>
> Key: GTNPORTAL-2394
> URL: https://issues.jboss.org/browse/GTNPORTAL-2394
> Project: GateIn Portal
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 3.1.0-GA
> Reporter: Nicolas Filotto
> Labels: gadget
> Attachments: GTNPORTAL-2394.patch
>
>
> Up to now, when the application tries to stop the component instead of unregistering itself it registers itself another time. Indeed the current code is:
> {code}
> public void stop()
> {
> DefaultServletContainerFactory.getInstance().getServletContainer().addWebAppListener(this);
> }
> {code}
> But should be:
> {code}
> public void stop()
> {
> DefaultServletContainerFactory.getInstance().getServletContainer().removeWebAppListener(this);
> }
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
10 years, 8 months