[jboss-jira] [JBoss JIRA] Commented: (JBDEPLOY-55) The MC parsing deployer should only accept *jboss-beans.xml in META-INF/WEB-INF
Darryl Miles (JIRA)
jira-events at lists.jboss.org
Wed Oct 29 19:07:20 EDT 2008
[ https://jira.jboss.org/jira/browse/JBDEPLOY-55?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12436130#action_12436130 ]
Darryl Miles commented on JBDEPLOY-55:
--------------------------------------
Please post your new bug reference when you create it.
It is also strange that this bug has "Won't Fix" as the resolution state, bug if you clearly read the release notes of the leasted RC/Beta's you will see changes were made. So something was done about not hijacking spring *.xml files to some degree. But not in the way I suggested it should be done, it was just a simple hack to the file filter. The real fix maybe too much hard work as this time.
> The MC parsing deployer should only accept *jboss-beans.xml in META-INF/WEB-INF
> -------------------------------------------------------------------------------
>
> Key: JBDEPLOY-55
> URL: https://jira.jboss.org/jira/browse/JBDEPLOY-55
> Project: JBoss Deployers
> Issue Type: Bug
> Components: parsing
> Affects Versions: JBDEPLOY-2.0.0.Beta18
> Environment: JBoss 5.0.0.CR1 (JDK6)
> Reporter: Darryl Miles
> Fix For: JBDEPLOY-2.0.0.Beta20
>
>
> I hope I have the correct component.
> When deploying a WAR to JBoss AS 5.0.0.CR1 I have a file: /WEB-INF/spring-beans.xml (which works perfectly outside of JBoss) which has the following outer element :
> <?xml version="1.0" encoding="UTF-8" ?>
> <beans xmlns="http://www.springframework.org/schema/beans"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:aop="http://www.springframework.org/schema/aop"
> xmlns:context="http://www.springframework.org/schema/context"
> xmlns:jee="http://www.springframework.org/schema/jee"
> xmlns:tx="http://www.springframework.org/schema/tx"
> xmlns:flow="http://www.springframework.org/schema/webflow-config"
> xmlns:seam="http://jboss.com/products/seam/spring-seam"
> xsi:schemaLocation="
> http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
> http://www.springframework.org/schema/tx
> http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
> http://www.springframework.org/schema/aop
> http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
> http://www.springframework.org/schema/context
> http://www.springframework.org/schema/context/spring-context-2.5.xsd
> http://www.springframework.org/schema/jee
> http://www.springframework.org/schema/jee/spring-jee-2.5.xsd
> http://www.springframework.org/schema/webflow-config
> http://www.springframework.org/schema/webflow-config/spring-webflow-config-2.0.xsd
> http://jboss.com/products/seam/spring
> http://jboss.com/products/seam/spring-seam-2.0.xsd">
> But JBoss deployer signals an error:
> vfsfile:/data/opt/jboss-5.0.0.CR1/server/default/deploy/MyApplication.war/ -> org.jboss.xb.binding.JBossXBRuntimeException: -1:-1 1:55 White spaces are required between publicId and systemId.
> at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:676)
> at org.jboss.deployers.plugins.main.MainDeployerImpl.checkComplete(MainDeployerImpl.java:661)
> at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:291)
> at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:221)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
> at java.lang.Thread.run(Thread.java:619)
> I have run the debugging on
> Like it is trying to process it (as a DTD document).
> There are 4 points I'd like to make here:
> 1) Despite the name of the file (ending with "-beans.xml") the XML content of the file _CLEARLY_ and _UNAMBIGUOUSLY_ describes the format of the file content and the component/sub-system that owns the configuration. That being the namespace "http://www.springframework.org/schema/beans". Whatever JBoss deployer is picking up the "-beans.xml" file should immediately see that it doesn't own the file, nor have any prior rights to the file.
> 2) The file clearly using XSD notation (not DTD notation) so the parser should have detected this situation, not accidentally parsed it as XML XSD.
> 3) The exception does not describe the file is was working on at the time, sure it tells you what the problem is, but not where is it (which file it was processing).
> 4) I'm of the opinion that WAR files should (by default) work perfectly well inside JBoss as they do outside JBoss, so in the situation like this where JBoss is attempting to be helpful it should do its best to detect that this not what the user had intended. If JBoss specific descriptors are to be included inside other deployable units (i.e. a WAR) then either the XML file must have the correct JBoss specific schema/namespace at the top of the file, or the filename must be ear marked thru configuration or filename prefix like "jboss-" as being inspectable by the App Server (as opposed to the Servlet Container)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list