3 Replies Latest reply on Dec 20, 2019 10:55 AM by safetytrick

    RestEasy validation issue in Widlfly 14

    mafla

      Hi

       

      We are currently in the progress of migrating from Wildfly 10.1.0.Final to WildFly 14.0.1.Final.

       

      In relation to that we are experiencing issues with some of our rest endpoints. For some resources we get the following exception:

      javax.validation.ConstraintDeclarationException: HV000151: A method overriding another method must not redefine the parameter constraint configuration, but method FooResource$$$view1#bar(List) redefines the configuration of FooResource#bar(List).

       

      It also seems to happen on Wildfly 13.0.0.Final with java ee 8 enabled. After some debugging it was discovered that it only happens for rest endpoints that are also EJBs (Stateless) and if they have methods with a parameter with a genetic type parameter ie List<String> and validation annotations.

       

      Example:

      @Stateless
      @Path("foo")

      @Produces(MediaType.APPLICATION_JSON)

      @Consumes(MediaType.APPLICATION_JSON)

      public class FooResource {

       

         @PUT
        @Path("/bar")

         public String bar(@NotEmpty List<String> bars) {

         return "Hello bars " + bars.stream().collect(Collectors.joining(", "));

        }

      }

       

      Without the @NotEmpty annotation it works fine. Without the generic type parameter ie just List it works fine. Making it a simple CDI bean makes it work fine. This also happens on a fresh Wildfly 13/14 with only this simple rest application.

       

      Are we doing something that is no longer allowed or is this a bug?