Sto lavorando su un Rest Client e sto usando CXF con JAX-RS.Come impostare il timeout sul client JAX-RS con CXF
Il problema che ho è che non riesco a trovare alcun modo per ignorare i valori di timeout predefiniti del client.
un semplice client:
Client client = ClientBuilder.newClient();
WebTarget target = client.target("http://localhost:8080/MyApp");
target = target.path("jsp/Test.jsp");
Response response = target.request().get();
Ho letto che ci sono due proprietà di timeout a CXF chiamati ReceiveTimeout
e ConnectionTimeout
, ma non sono riusciti a trovare un modo per metterli nel mio client.
Ho provato client.property("ReceiveTimeout", 5000);
ma non funziona.
Ho visto esempi di utilizzo di un file di configurazione xml per configurare il client ma preferisco non intraprendere quel percorso se è possibile.
Qualche idea?
Non c'è getConduit() metodo 'a il 'javax.ws.rs.client.Client'. Puoi fornire maggiori dettagli sull'oggetto client? – NikosDim
Spiacenti, prova a utilizzare WebClient di cxf https://cxf.apache.org/javadoc/latest/org/apache/cxf/jaxrs/client/WebClient.html Esempio qui http://alvinalexander.com/java/jwarehouse/apache- cxf/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerResourceCreatedSpringProviderTest.java.shtml – isalgueiro
C'è un modo per impostare questi parametri senza usare le classi propietarie CXF (anche se CXF è JAX-RS Libreria 2.0 utilizzata)? Uso il profilo WAS Liberty e quindi ho accesso solo alle classi standard JAX-RS 2.0, non alle classi org.apache.cxf ... (e vorrei evitare di rendere il mio codice specifico per CXF diverso dalla proprietà String basata necessaria per client) – icordoba