[ http://issues.apache.org/jira/browse/MYFACES-1270?page=all ]
Martin Marinschek closed MYFACES-1270:
--------------------------------------
Fix Version: 1.1.3-SNAPSHOT
Resolution: Fixed
Thanks Olaf for handling this. Was painful for us, too. I know how hard it is
to find the reason for deployment issues, so kudos to you!
regards,
Martin
> Hot deployment in exploded mode is broken due to FacesConfigurator
> ------------------------------------------------------------------
>
> Key: MYFACES-1270
> URL: http://issues.apache.org/jira/browse/MYFACES-1270
> Project: MyFaces Core
> Type: Bug
> Versions: 1.1.1
> Environment: Windows XP, Suns Java 1.5.0_04, JBoss 4.0.3SP1 or Tomcat
> 5.5.12, MyEclipse 4.1.0 GA
> Reporter: Olaf Fricke
> Assignee: Martin Marinschek
> Fix For: 1.1.3-SNAPSHOT
>
> We at HanseMerkur insurances are currently working with MyFaces to for
> creating web applications. Unfortunately, the hot deployment of an exploded
> web archiv does not work. This is very annoying is using the deployment
> features of MyEclipse because we always have to restart the JBoss apllication
> server. I have tried the same using Tomcat standalone, and the same thing
> happens.
> I have nailed down the problem to the class FacesConfigurator, and there to
> the call of URL.openStream() in the method feedClassloaderConfigurations().
> This call opens a Stream of an already open jar-archiv (Tomcat always opens
> up the jar files during startup of an application). Later the stream is
> closed, but at least if running under j2sdk 1.5.0_04, the closing does not
> work. When trying to undeploy the application, there is still an open file
> handle and the jar file cannot be removed. You can reproduce this behaviour
> by deploying one of the myfaces examples to a running Tomcat and then
> undeploying it. You will end up with some jar files in the WEB-INF/lib
> directory.
> I am not very sure which component (myfaces, tomcat, or even java) causes
> this failure, but I found a way to work around it:
> Instead of simply calling
> InputStream stream = url.openStream();
> you can open the stream without using a cache by saying
> URLConnection connection = url.openConnection();
> connection.setUseCaches(false);
> InputStream stream = connection.getInputStream();
> Olaf Fricke
> HanseMerkur Versicherungen
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira