Package org.apache.cxf.annotations
Annotation Type UseAsyncMethod
-
@Documented @Retention(RUNTIME) @Target(METHOD) @Inherited public @interface UseAsyncMethod
Instructs the runtime to dispatch using the async method on service if continuations are available. This only applies to the JAX-WS frontend at this time. Instead of calling the "X methodName(Y, Z...) method, it will call the "Future> methodName(Y, Z, ... AsyncHandler)" method passing in an AsyncHandler that you will need to call when the response is ready. An example would be: public Future> greetMeAsync(final String requestType, final AsyncHandler
The use of the org.apache.cxf.jaxws.ServerAsyncResponse class for the response as shown above can simplify things and is recommended.asyncHandler) { final ServerAsyncResponse r = new ServerAsyncResponse<>(); new Thread() { public void run() { //do some work on a backgound thread to generate the response... GreetMeResponse resp = new GreetMeResponse(); resp.setResponseType("Hello " + requestType); r.set(resp); asyncHandler.handleResponse(r); } } .start(); return r; }
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description boolean
always
By default, if continuations are not available, it will use the non-async method.
-