我试图在多线程环境中使用ImageIO.read从inputstream读取图像。下面是代码,ImageIO.read在多线程执行中抛出异常
entity = httpResponse.getEntity(); //httpResponse is apache hc response object
bufImage = ImageIO.read(entity.getContent()); //reading image
基本上,我使用的Apache的HttpClient和阅读一个图象作为物流制备的HttpConnection,然后将其转换为BufferedImage的(bufImage)。
此代码在正常运行时工作正常。当我运行它在多线程中,我得到以下异常,
Exception in thread "Thread-3258" java.lang.NoClassDefFoundError: Could not initialize class sun.java2d.Disposer
at javax.imageio.stream.FileCacheImageInputStream.<init>(Unknown Source)
at com.sun.imageio.spi.InputStreamImageInputStreamSpi.createInputStreamInstance(Unknown Source)
at javax.imageio.ImageIO.createImageInputStream(Unknown Source)
at javax.imageio.ImageIO.read(Unknown Source)
at com.example.ImgDownload.run(ImgDownload.java:60)
at java.lang.Thread.run(Unknown Source)
的ImgDownload.java:60是我读ImageIO的使用前面提到的线。我该如何解决这个问题?
感谢, 阿比
我正在使用相同的。环境也是一样的,我试图将它作为线程来运行......它不起作用,所以使它成为通常的正常代码。 – Abhishek 2011-06-14 16:38:06