Sure.  Please open a JIRA issue and provide a patch.  You can
just paste your message into the issue.

--Thilo

On 3/10/2010 17:35, Baptiste Gaillard wrote:
> 
> Hi, 
> 
> I've read multiple messages about UIMA and OSGI on this forum.  
> 
> On our project we have successfully integrated UIMA components inside OSGI 
> Bundle (our solution provides an automatic OSGI Bundle genration system which 
> take PEAR files so developpers do not have to worry about OSGI). 
> 
> We have encountered a JAR locking problem inside the XmlInputSource class, 
> the problem comes from this instruction (WmlInputSource line 90) :
>   
>  mInputStream = mURL.openStream()
> 
> When we do that with a URL which refers to a file inside a JAR file a 
> JarURLConnection is used. 
> 
> JarURLConnection seems to have a bug because in the destroy method of 
> XmlInputSource those instruction do not close the ZipFile associated to the 
> JARUrlConnection. 
> 
> if (mInputStream != null)
> {
>     mInputStream.close();   // DO NOT CLOSE THE ASSOCIATED ZipFile !!!
> }
> 
> 
> The bug has been reported in the SUN Bug Database: // see 
> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4386865
> 
> This is problematic with OSGI because we can unload our Bundles (UIMA 
> components in our case ;-) ) but never delete theme from the file system 
> after... 
> 
> The solution to close the ZipFiles in XmlInputSource is to add the following 
> instructions in the constructor and destroy method: 
> 
> private URLConnection urlConnection;
> 
>   public XMLInputSource(String aUrlOrFileName) throws IOException {
>     //try as URL first, then as file name
>     try {
>       mURL = new URL(aUrlOrFileName);
>     }
>     catch (MalformedURLException e) {
>       mURL = new File(aUrlOrFileName).toURL();
>     }
>     
>     this.urlConnection = mURL.openConnection();
>     
>     mInputStream = mURL.openStream();
>   }
> 
> 
> public void close()
>       throws IOException
>   {
>       if (mInputStream != null)
>       {
>           mInputStream.close();
>       }
>       
>       if((this.urlConnection != null) && (this.urlConnection instanceof 
> JarURLConnection))
>       {
>           ((JarURLConnection)urlConnection).getJarFile().close();
>       }
> 
>       mURL = null;
>   }
> 
> Is it possible to include those modifications in the next UIMA release ? 
> 
> Thanks,
> 
> Baptiste Gaillard
> 
> 
> 
> 
>                                         
> _________________________________________________________________
> Hotmail arrive sur votre téléphone ! Compatible Iphone, Windows Phone, 
> Blackberry, …
> http://www.messengersurvotremobile.com/?d=Hotmail

Reply via email to