Pracuję nad klientem odpoczynku i używam CXF z JAX-RS.Jak ustawić limit czasu dla klienta JAX-RS z CXF
Problem polega na tym, że nie mogę znaleźć żadnego sposobu na zastąpienie domyślnych wartości limitu czasu klienta.
Prosty klient:
Client client = ClientBuilder.newClient();
WebTarget target = client.target("http://localhost:8080/MyApp");
target = target.path("jsp/Test.jsp");
Response response = target.request().get();
Czytałem, że istnieją dwie właściwości limitu czasu w CXF zwane ReceiveTimeout
i ConnectionTimeout
ale nie udało się znaleźć sposób, aby ustawić je w moim klientem.
Próbowałem client.property("ReceiveTimeout", 5000);
, ale to nie działa.
Widziałem przykłady użycia pliku konfiguracyjnego xml do skonfigurowania klienta, ale wolę nie brać tej ścieżki, jeśli jest to możliwe.
Wszelkie pomysły?
Nie ma 'getConduit()' metoda "javax.ws.rs.client.Client". Czy możesz podać więcej szczegółów na temat obiektu klienta? – NikosDim
Przepraszam, spróbuj użyć WebClient cxf https://cxf.apache.org/javadoc/latest/org/apache/cxf/jaxrs/client/WebClient.html Przykład tutaj http://alvinalexander.com/java/jwarehouse/apache- cxf/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerResourceCreatedSpringProviderTest.java.shtml – isalgueiro
Czy istnieje sposób na ustawienie tych parametrów bez użycia własnych klas CXF (nawet jeśli CXF to JAX-RS Używana biblioteka 2.0)? Używam WAS Liberty Profile i dlatego mam dostęp tylko do standardowych klas JAX-RS 2.0, bez klas org.apache.cxf ... (i chciałbym uniknąć tworzenia mojego kodu specyficznego dla CXF innego niż wymagana własność String dla klient) – icordoba