[jbossws-issues] [JBoss JIRA] Commented: (JBWS-2879) Multiple threads: getPort Hangs on 100% CPU with fast infoset on asynchronous invocation
Alessio Soldano (JIRA)
jira-events at lists.jboss.org
Wed Jan 13 08:06:30 EST 2010
[ https://jira.jboss.org/jira/browse/JBWS-2879?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12503854#action_12503854 ]
Alessio Soldano commented on JBWS-2879:
---------------------------------------
Could you please open a thread on the forum and provide a bit more of code to understand how multithreading is being implemented? Then please link the forum thread here. Thanks.
> Multiple threads: getPort Hangs on 100% CPU with fast infoset on asynchronous invocation
> ----------------------------------------------------------------------------------------
>
> Key: JBWS-2879
> URL: https://jira.jboss.org/jira/browse/JBWS-2879
> Project: JBoss Web Services
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: jbossws-native
> Affects Versions: jbossws-native-3.2.1
> Environment: jboss-5.1.0 GA
> debian 64 bit
> Reporter: Hajo Krabbenhöft
>
> Hi,
> i'm caching an instance of javax.xml.ws.Service.
> I cache the results of getPort in a ThreadLocal.
> When i use multiple parallel asynchronous invocations, this approach does not seem to work, so i invoke getPort for each asynchronous invocation.
> I have 8 threads using a web service running in parallel on a i7.
> After about 20h of work, all my worker threads are hanging on:
> "pool-41-thread-7" prio=10 tid=0x00007f8cc469d400 nid=0x156a runnable [0x000000004691a000..0x0000000046921ba0]
> java.lang.Thread.State: RUNNABLE
> at java.util.HashMap.put(HashMap.java:374)
> at java.util.HashSet.add(HashSet.java:200)
> at org.jboss.ws.metadata.umdm.FeatureSet.addFeature(FeatureSet.java:63)
> at org.jboss.ws.metadata.umdm.EndpointMetaData.addFeature(EndpointMetaData.java:375)
> at org.jboss.ws.core.jaxws.client.ClientFeatureProcessor.processFeature(ClientFeatureProcessor.java:84)
> at org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.initWebserviceFeatures(ServiceDelegateImpl.java:537)
> at org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.getPort(ServiceDelegateImpl.java:526)
> at javax.xml.ws.Service.getPort(Service.java:607)
> at com.spratpix.subdomains.ThreadLocalWebserviceProxy.getAsyncPort(ThreadLocalWebserviceProxy.java:47)
> Here is how i use getPort
> protected T getAsyncPort() {
> long t0 = System.nanoTime();
> try {
> return service.getPort(portClass, new FastInfosetFeature());
> } finally {
> long dt = System.nanoTime() - t0;
> TimingInterceptor.callChain.addInvocationWithMethod(method, dt);
> }
> }
> And the problematic web service call seems to be
> public Future<Boolean> PutFileAsync(String domain, String type, String filename, S3Object file, AsyncHandler<Boolean> asyncHandler);
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jbossws-issues
mailing list