Я обновился до Payara 5.191 и столкнулся с некоторыми проблемами с jersey-proxy-client (версия джерси 2.28).Поведение совершенно другое.
Я пытался переместить аннотацию (@ Path / @ Produce / @ Consumes) из интерфейса в имплантацию и обратно.Ничего не помогло.
Интерфейс
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@Path("booking")
public interface Endpoint {
@GET
@Path("get/{id}")
RR<DTO> getById(@PathParam("id") final Long id);
@POST
@Path("submit")
RR<String> submit(final BlaBlaDto dto);
Реализация
public class RestImpl implements Endpoint {
@Override
public RR<DTO>> getById(@PathParam("id") final Long id) {
....
}
@Override
@Path("submit")
public RR<String> submit(final BlaBlaDto dto) {
....
}
Клиент
Configuration configuration = new ResourceConfig().register(JacksonFeature.class);
WebTarget target = ClientBuilder.newClient(configuration)
.target(uri);
Endpoint endpoint = WebResourceFactory.newResource(resourceInterface,
target);
endpoint.getById(...) /// => exception
Если я продолжу, как в примере, я получаю
Servlet.service () для сервлета javax.ws.rs.core.Application вызвала исключение java.lang.NoSuchMethodException: Не удалось найти подходящий конструктор
, если я перемещаю аннотацию к реализациитогда я получаю (то же самое, когда я двигаюсь только @Path или держу в обоих)
java.lang.UnsupportedOperationException: Не метод ресурса.на org.glassfish.jersey.client.proxy.WebResourceFactory.invoke (WebResourceFactory.java:220)
как я могу решить эту проблему?в Payara 5.184.2 все работало