On Tuesday, September 13, 2011 1:30:38 AM Nishant Chandra wrote:
> I am using v2.3.3.

The put isn't on line 312 for 2.3.3. either.    It looks like version 2.2.6 or 
2.2.7 as those are the only 2 versions that have it on 312.

> Both v2.4.2 line 354 and v2.3.6 line 345 has the put call.


Definitely try with 2.4.2.   There have been a bunch of changes with the 
context handling since 2.2.x .   

Dan


 
> Nishant
> 
> On Mon, Sep 12, 2011 at 9:53 PM, Daniel Kulp <[email protected]> wrote:
> > On Monday, September 12, 2011 3:59:45 PM Nishant Chandra wrote:
> >> Hi All,
> >> 
> >> I have problem with the sync client code generated using wsdl2java for
> >> a JAX-WS service. I see the following exception in logs:
> >> 
> >> "TP-Processor2070" daemon prio=10 tid=0x00002aaac4cf0800 nid=0x161c
> >> waiting for monitor entry [0x00000000456de000]
> >>    java.lang.Thread.State: BLOCKED (on object monitor)
> >>       at
> >> java.util.Collections$SynchronizedMap.put(Collections.java:1979) -
> >> waiting to lock <0x00000007957feee8> (a
> >> java.util.Collections$SynchronizedMap)
> >>       at
> >> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:312)
> > 
> > What version of CXF are you using?   I just went back through about a
> > year of changes to ClientImpl and do not see a "put" on line 312 for
> > any of the recent versions.   Can you try updating to CXF 2.4.2?
> > 
> > 
> > Dan
> > 
> >>       at
> >> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:262)
> >>       at
> >> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
> >> at
> > 
> > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
> > 
> >>       at $Proxy107.echo(Unknown Source)
> >> 
> >> We are using a singleton instance of the EServiceClient across our
> >> App:
> >> 
> >> class EServiceClient {
> >> 
> >> private static EServiceClient client = new EServiceClient();
> >> 
> >> public static MyServiceClient getInstance() {
> >> return client;
> >> }
> >> 
> >> private RecommendationsServiceClient() {
> >> initClient();
> >> }
> >> 
> >> private void initClient() {
> >> 
> >> try {
> >> URL wsdlURL = EService.WSDL_LOCATION;
> >> EService ss = new EService(wsdlURL, SERVICE_NAME);
> >> port = ss.getEServicePort();
> >> RECIEVE_TIMEOUT = new Long(timeout);
> >> CONNECTION_TIMEOUT = new Long(conTimeOUt);
> >> final Client cl = ClientProxy.getClient(port);
> >> final HTTPConduit http = (HTTPConduit) cl.getConduit();
> >> final HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
> >> httpClientPolicy.setReceiveTimeout(RECIEVE_TIMEOUT);
> >> httpClientPolicy.setAllowChunking(false);
> >> httpClientPolicy.setConnectionTimeout(CONNECTION_TIMEOUT);
> >> http.setClient(httpClientPolicy);
> >> } catch (Exception e) {
> >> e.printStackTrace();
> >> }
> >> }
> >> 
> >> Is it that the 'port' is not thread safe that I am seeing this
> >> exception? How can I fix it?
> >> The other problem is that connection timeout values are not honored.
> >> Please help.
> >> 
> >> Nishant
> > 
> > --
> > Daniel Kulp
> > [email protected]
> > http://dankulp.com/blog
> > Talend - http://www.talend.com
-- 
Daniel Kulp
[email protected]
http://dankulp.com/blog
Talend - http://www.talend.com

Reply via email to