From 0f99cb65c3f2d679be9452747ff2833faff4df5f Mon Sep 17 00:00:00 2001 From: Ian Luo Date: Fri, 17 Jan 2020 14:34:56 +0800 Subject: [PATCH] issue5432: avoid of serialization exception for javax.validation.ConstraintViolationException (#5672) --- .../org/apache/dubbo/validation/filter/ValidationFilter.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dubbo-filter/dubbo-filter-validation/src/main/java/org/apache/dubbo/validation/filter/ValidationFilter.java b/dubbo-filter/dubbo-filter-validation/src/main/java/org/apache/dubbo/validation/filter/ValidationFilter.java index d2f0539d83..774b1debb5 100644 --- a/dubbo-filter/dubbo-filter-validation/src/main/java/org/apache/dubbo/validation/filter/ValidationFilter.java +++ b/dubbo-filter/dubbo-filter-validation/src/main/java/org/apache/dubbo/validation/filter/ValidationFilter.java @@ -27,6 +27,8 @@ import org.apache.dubbo.rpc.RpcException; import org.apache.dubbo.validation.Validation; import org.apache.dubbo.validation.Validator; +import javax.validation.ValidationException; + import static org.apache.dubbo.common.constants.CommonConstants.CONSUMER; import static org.apache.dubbo.common.constants.CommonConstants.PROVIDER; import static org.apache.dubbo.common.constants.FilterConstants.VALIDATION_KEY; @@ -89,6 +91,9 @@ public class ValidationFilter implements Filter { } } catch (RpcException e) { throw e; + } catch (ValidationException e) { + // only use exception's message to avoid potential serialization issue + return AsyncRpcResult.newDefaultAsyncResult(new ValidationException(e.getMessage()), invocation); } catch (Throwable t) { return AsyncRpcResult.newDefaultAsyncResult(t, invocation); }