【发布时间】:2014-08-27 01:40:00
【问题描述】:
我在 Windows 7 x64 上使用 WSO2 ESB 4.8.1 和 JDK 1.7.0_67 x64。 我正在使用任何方法部署碳应用程序(.car):
- maven 汽车部署插件
- 网络管理控制台
- CarbonAppUploader 网络服务
第一次部署成功,但日志文件包含:
CarbonAppUploader temp file: C:\Java\WSO2ES~1.1\bin\..\tmp\carbonappsuploads\first-esb_1.0.0.car deletion failed, scheduled deletion on server exit.
第二次部署同一辆车(名称和版本)失败,日志中出现异常(见下文)
我为本地化错误消息道歉,但通常它说不能覆盖此文件。
如果您检查,它实际上已锁定删除。看起来 CarbonAppUploader 类没有正确关闭 InputStream。
奇怪的是,这个 bug 在 unix (centos) 中无法重现
向 WSO2 提出的问题:您打算解决这个问题吗?
向大家提问:你遇到过这样的bug吗,你是怎么解决的?
异常堆栈跟踪(部分)
TID: [0] [ESB] [2014-08-18 22:04:58,254] ERROR {org.wso2.carbon.application.upload.CarbonAppUploader} - Error occurred while uploading Carbon App artifacts {org.wso2.carbon.application.upload.CarbonAppUploader}
java.io.FileNotFoundException: C:\Java\WSO2ES~1.1\bin\..\tmp\carbonappsuploads\first-esb_1.0.0.car (Запрошенную операцию нельзя выполнить для файла с открытой пользователем сопоставленной секцией)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:221)
at java.io.FileOutputStream.<init>(FileOutputStream.java:171)
at org.wso2.carbon.application.upload.CarbonAppUploader.writeResource(CarbonAppUploader.java:78)
at org.wso2.carbon.application.upload.CarbonAppUploader.uploadApp(CarbonAppUploader.java:55)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
【问题讨论】: