使用poi上傳.xlsx文件時,出現(xiàn)如下錯誤

電腦培訓,計算機培訓,平面設(shè)計培訓,網(wǎng)頁設(shè)計培訓,美工培訓,Web培訓,Web前端開發(fā)培訓

Exception in thread "pool-3-thread-2" java.lang.IllegalStateException: File has been moved - cannot be read again
    at org.springframework.web.multipart.commons.CommonsMultipartFile.getInputStream(CommonsMultipartFile.java:125)
    at cn.dataenergy.stat.yxjlbj.web.JlpbbjController$1.run(JlpbbjController.java:200)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

電腦培訓,計算機培訓,平面設(shè)計培訓,網(wǎng)頁設(shè)計培訓,美工培訓,Web培訓,Web前端開發(fā)培訓

注意該問題是偶爾發(fā)生,并非每次都能重現(xiàn)。而且發(fā)生的概率很低,但是一發(fā)生,可能連續(xù)多次導入都會爆同樣的錯。

第一感這應該是一個多線程問題,因為不是每次能重現(xiàn)很有可能是資源競爭。同時代碼中也確實用了多線程.在我的controller中:

電腦培訓,計算機培訓,平面設(shè)計培訓,網(wǎng)頁設(shè)計培訓,美工培訓,Web培訓,Web前端開發(fā)培訓

threadool.execute(new Runnable() {
              @Override              public void run() {               
        
		

網(wǎng)友評論