You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Olaf Fricke (JIRA)" <de...@myfaces.apache.org> on 2006/04/06 09:55:58 UTC
[jira] Created: (MYFACES-1270) Hot deployment in exploded mode is
broken due to FacesConfigurator
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
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
[jira] Closed: (MYFACES-1270) Hot deployment in exploded mode is
broken due to FacesConfigurator
Posted by "Martin Marinschek (JIRA)" <de...@myfaces.apache.org>.
[ 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