[
https://issues.apache.org/jira/browse/CXF-7057?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15526599#comment-15526599
]
Neal Hu commented on CXF-7057:
------------------------------
Hi Sergey,
I tried to register the callback in client side code, unfortunately the
WebClient throws invalid client exception. The reason is the proxy is not an
instance of Client. The proxy was wrapped as thirdparty invocation by java
assist or jdk method invoke proxy.
{code:java}
public static ClientConfiguration getConfig(Object client) {
if (client instanceof WebTargetImpl) {
client = ((WebTargetImpl)client).getWebClient();
} else if (client instanceof InvocationBuilderImpl) {
client = ((InvocationBuilderImpl)client).getWebClient();
}
if (client instanceof Client) {
if (client instanceof WebClient) {
return ((AbstractClient)client).getConfiguration();
} else if (client instanceof InvocationHandlerAware) {
Object handler =
((InvocationHandlerAware)client).getInvocationHandler();
return ((AbstractClient)handler).getConfiguration();
}
}
throw new IllegalArgumentException("Not a valid Client");
}
{code}
> CXF JAXRSClientFactoryBean proxy async support
> ----------------------------------------------
>
> Key: CXF-7057
> URL: https://issues.apache.org/jira/browse/CXF-7057
> Project: CXF
> Issue Type: Wish
> Components: JAX-RS
> Affects Versions: 3.1.6
> Environment: Linux Mac
> Reporter: Neal Hu
> Fix For: 3.1.8
>
>
> Say we have resource interface org.apache.cxf.Resource, and its impl
> org.apache.cxf.ResourceImpl, we can create client proxy via
> JAXRSClientFactoryBean as below;
> {code:java}
> Class<T> type = org.apache.cxf.Resource.class;
> JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean();
> bean.setAddress(baseAddress);
> bean.setServiceClass(type);
> bean.setProviders(providers);
> bean.setFeatures(features);
> bean.setThreadSafe(true);
> T proxy = bean.create(type);
> {code}
> Then invoke the method via proxy.method1.
> As we know the spec client api can invoke via async mode, my question is if
> the dynamic proxy mode support async mode.
> We are developing micro service framework which based on CXF RS, and the
> comsumer's invoker is dynamicly generated by the clientfactory.create. Thanks.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)