我試圖在多線程環境中使用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