[
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