You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by GitBox <gi...@apache.org> on 2022/01/04 06:28:35 UTC

[GitHub] [servicecomb-java-chassis] SenixCoder opened a new issue #2683: 文件下载功能,在服务端没有文件返回时返回null,抛出NPE异常

SenixCoder opened a new issue #2683:
URL: https://github.com/apache/servicecomb-java-chassis/issues/2683


   在没有文件要返回时会返回null,但是会抛出NPE
   期望是如果返回null的话,不抛出异常
   ```
   [2021-11-29 06:22:16,369]-[6a6ac865149104a4]-[1002]-[group0-1-thread-4]-[org.apache.servicecomb.common.rest.AbstractRestInvocation.onExecuteHttpServerFiltersFinish(AbstractRestInvocation.java:295)]-[ERROR] Failed to execute HttpServerFilters, operation:adc-studio-ui.menuExporter.exportItemsByProjectAndModule, request uri:/adc-studio-ui/cse/rest/v1/menu/menu-exporter/exportItemsByProjectAndModule
   java.lang.NullPointerException: 
   	at org.apache.servicecomb.foundation.vertx.http.DownloadUtils.prepareDownloadHeader(DownloadUtils.java:44) ~[foundation-vertx-2.1.5-h0.gts.dsp.r39.jar:2.1.5-h0.gts.dsp.r39]
   	at org.apache.servicecomb.foundation.vertx.http.StandardHttpServletResponseEx.sendPart(StandardHttpServletResponseEx.java:107) ~[foundation-vertx-2.1.5-h0.gts.dsp.r39.jar:2.1.5-h0.gts.dsp.r39]
   	at org.apache.servicecomb.common.rest.filter.inner.ServerRestArgsFilter.beforeSendResponseAsync(ServerRestArgsFilter.java:78) ~[common-rest-2.1.5-h0.gts.dsp.r39.jar:2.1.5-h0.gts.dsp.r39]
   	at org.apache.servicecomb.common.rest.filter.HttpServerFilterBeforeSendResponseExecutor.safeInvoke(HttpServerFilterBeforeSendResponseExecutor.java:52) ~[common-rest-2.1.5-h0.gts.dsp.r39.jar:2.1.5-h0.gts.dsp.r39]
   	at org.apache.servicecomb.common.rest.filter.HttpServerFilterBeforeSendResponseExecutor.doRun(HttpServerFilterBeforeSendResponseExecutor.java:82) ~[common-rest-2.1.5-h0.gts.dsp.r39.jar:2.1.5-h0.gts.dsp.r39]
   	at org.apache.servicecomb.common.rest.filter.HttpServerFilterBeforeSendResponseExecutor.run(HttpServerFilterBeforeSendResponseExecutor.java:44) ~[common-rest-2.1.5-h0.gts.dsp.r39.jar:2.1.5-h0.gts.dsp.r39]
   	at org.apache.servicecomb.common.rest.AbstractRestInvocation.executeHttpServerFilters(AbstractRestInvocation.java:283) ~[common-rest-2.1.5-h0.gts.dsp.r39.jar:2.1.5-h0.gts.dsp.r39]
   	at org.apache.servicecomb.common.rest.AbstractRestInvocation.sendResponse(AbstractRestInvocation.java:277) ~[common-rest-2.1.5-h0.gts.dsp.r39.jar:2.1.5-h0.gts.dsp.r39]
   	at org.apache.servicecomb.common.rest.AbstractRestInvocation.sendResponseQuietly(AbstractRestInvocation.java:262) ~[common-rest-2.1.5-h0.gts.dsp.r39.jar:2.1.5-h0.gts.dsp.r39]
   	at org.apache.servicecomb.common.rest.AbstractRestInvocation.lambda$doInvoke$2(AbstractRestInvocation.java:245) ~[common-rest-2.1.5-h0.gts.dsp.r39.jar:2.1.5-h0.gts.dsp.r39]
   	at com.huawei.mateinfo.sdk.service.handler.ProviderMetricsHandler.lambda$onResponse$0(ProviderMetricsHandler.java:52) ~[mateinfo-sdk-base-service-2.2.RC1.B015.v1.jar:?]
   	at org.apache.servicecomb.tracing.zipkin.ZipkinTracingHandler.lambda$onResponse$0(ZipkinTracingHandler.java:74) ~[handler-tracing-zipkin-2.1.5-h0.gts.dsp.r39.jar:2.1.5-h0.gts.dsp.r39]
   	at org.apache.servicecomb.core.handler.impl.ProducerOperationHandler.syncInvoke(ProducerOperationHandler.java:115) ~[java-chassis-core-2.1.5-h0.gts.dsp.r39.jar:2.1.5-h0.gts.dsp.r39]
   	at org.apache.servicecomb.core.handler.impl.ProducerOperationHandler.invoke(ProducerOperationHandler.java:61) ~[java-chassis-core-2.1.5-h0.gts.dsp.r39.jar:2.1.5-h0.gts.dsp.r39]
   	at org.apache.servicecomb.core.handler.impl.ProducerOperationHandler.handle(ProducerOperationHandler.java:52) ~[java-chassis-core-2.1.5-h0.gts.dsp.r39.jar:2.1.5-h0.gts.dsp.r39]
   	at org.apache.servicecomb.core.Invocation.next(Invocation.java:307) ~[java-chassis-core-2.1.5-h0.gts.dsp.r39.jar:2.1.5-h0.gts.dsp.r39]
   	at org.apache.servicecomb.tracing.zipkin.ZipkinTracingHandler.handle(ZipkinTracingHandler.java:52) ~[handler-tracing-zipkin-2.1.5-h0.gts.dsp.r39.jar:2.1.5-h0.gts.dsp.r39]
   	at org.apache.servicecomb.tracing.zipkin.ZipkinProviderTracingHandler.handle(ZipkinProviderTracingHandler.java:24) ~[handler-tracing-zipkin-2.1.5-h0.gts.dsp.r39.jar:2.1.5-h0.gts.dsp.r39]
   	at org.apache.servicecomb.core.Invocation.next(Invocation.java:307) ~[java-chassis-core-2.1.5-h0.gts.dsp.r39.jar:2.1.5-h0.gts.dsp.r39]
   	at com.huawei.mateinfo.sdk.service.handler.ProviderMetricsHandler.handle(ProviderMetricsHandler.java:41) ~[mateinfo-sdk-base-service-2.2.RC1.B015.v1.jar:?]
   	at org.apache.servicecomb.core.Invocation.next(Invocation.java:307) ~[java-chassis-core-2.1.5-h0.gts.dsp.r39.jar:2.1.5-h0.gts.dsp.r39]
   	at org.apache.servicecomb.common.rest.AbstractRestInvocation.doInvoke(AbstractRestInvocation.java:245) ~[common-rest-2.1.5-h0.gts.dsp.r39.jar:2.1.5-h0.gts.dsp.r39]
   	at org.apache.servicecomb.common.rest.AbstractRestInvocation.invoke(AbstractRestInvocation.java:219) ~[common-rest-2.1.5-h0.gts.dsp.r39.jar:2.1.5-h0.gts.dsp.r39]
   	at org.apache.servicecomb.common.rest.AbstractRestInvocation.runOnExecutor(AbstractRestInvocation.java:203) ~[common-rest-2.1.5-h0.gts.dsp.r39.jar:2.1.5-h0.gts.dsp.r39]
   	at org.apache.servicecomb.common.rest.AbstractRestInvocation.lambda$scheduleInvocation$0(AbstractRestInvocation.java:162) ~[common-rest-2.1.5-h0.gts.dsp.r39.jar:2.1.5-h0.gts.dsp.r39]
   	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_312]
   	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_312]
   	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_312]
   ```
   
   
   代码如下:
   ```
       public Part exportItemsByProjectAndModule(String projectName, String moduleName, ExportConfig exportConfig) {
           List<DataPackBo> dpList = dataPackService.getByProjectNameAndModuleName(projectName, moduleName);
           if (CollectionUtils.isEmpty(dpList)) {
               return null;
           }
   
           File zipFile = dataPackService.export(dpList, projectName);
           return new FilePart(null, zipFile).setDeleteAfterFinished(true).setSubmittedFileName(DATA_PACKAGE_FILE);
       }
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@servicecomb.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [servicecomb-java-chassis] liubao68 commented on issue #2683: 文件下载功能,在服务端没有文件返回时返回null,抛出NPE异常

Posted by GitBox <gi...@apache.org>.
liubao68 commented on issue #2683:
URL: https://github.com/apache/servicecomb-java-chassis/issues/2683#issuecomment-1004645910


   查看 [2.6.0](https://github.com/apache/servicecomb-java-chassis/releases)  的RN, 已经修复了这个问题,建议可以试试。 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@servicecomb.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org