[shrinkwrap-issues] [JBoss JIRA] Commented: (SHRINKWRAP-237) ShrinkWrap ClassLoader Caches the read Assets Inputstream

Dan Allen (JIRA) jira-events at lists.jboss.org
Tue Oct 26 15:32:54 EDT 2010


    [ https://jira.jboss.org/browse/SHRINKWRAP-237?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12559466#action_12559466 ] 

Dan Allen commented on SHRINKWRAP-237:
--------------------------------------

Aslak, I'm not sure what you are getting at. Are you saying this is not an issue? I ran into the same problem testing the descriptors project. If I try to read in a descriptor two times in a row, even if I close the stream, the second time I get an EOF. We can't assume that developers will only ever read a resource once.

I'll clarify my use case with an example. If I do this operation twice, the second time will fail.

InputStream is = getResourceAsStream(name);

if (is != null)
{
   try
   {
      return Descriptors.importAs(descriptorType).from(is);
   }
   finally
   {
      // NOTE the import process should really be closing the stream
      try
      {
         is.close();
      }
      catch (IOException e)
      {
         // Nothing we can do about this
       }
   }
} 

> ShrinkWrap ClassLoader Caches the read Assets Inputstream
> ---------------------------------------------------------
>
>                 Key: SHRINKWRAP-237
>                 URL: https://jira.jboss.org/browse/SHRINKWRAP-237
>             Project: ShrinkWrap
>          Issue Type: Bug
>    Affects Versions: 1.0.0-alpha-11
>         Environment: Weld 1.1.0.Beta1, Arqullian Alpha4, Seam XML Alpha3
>            Reporter: Lincoln Baxter III
>
> http://pastebin.com/3neHZ6BL
> This can be reproduced using Weld 1.1.0.Beta1, Seam XML Alpha3 and Arqullian Alpha4-  create a test that attempts to add a Manifest Resources from disk to Beans.xml.
> Seam XML will attempt to load the beans file and complain that the InputStream was closed.
> @RunWith(Arquillian.class)
> public class DefaultTimeZoneTest
> {
>    @Deployment
>    public static JavaArchive createTestArchive()
>    {
>       return ShrinkWrap.create(JavaArchive.class, "test.jar")
>                .addClass(DefaultTimeZoneProducer.class)
>                .addClass(DefaultTimeZoneConfig.class)
>                .addManifestResource("org/jboss/seam/international/test/timezone/user-timezone.xml", ArchivePaths.create("beans.xml"));
>    }
>    @Inject
>    DateTimeZone timeZone;
>    @Test
>    public void testDefaultTimeZoneProducerDirect()
>    {
>       Assert.assertNotNull(timeZone);
>    }
> }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the shrinkwrap-issues mailing list