cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Kulp (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CXF-2530) FastInfoset Thread blocked
Date Tue, 10 Nov 2009 20:05:27 GMT

    [ https://issues.apache.org/jira/browse/CXF-2530?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12776055#action_12776055
] 

Daniel Kulp commented on CXF-2530:
----------------------------------


Looking in deeper, while the code "should work" as is (and thus the FI bug), there are a couple
workarounds:

1) Is this a normal "jaxws + jaxb" service?  If so, make sure you have asm 2.x or 3.x on the
classpath.   That should create the wrapper objects and avoid this code entirely.

2) You can configure the databinding in the spring config to have a "DeclaredNamespaceMappings"
property which is a Map<String,String> of ns -> prefix.   If there is a prefix defined
for the namespace already, we don't need to try and calculate one.

3) I'm modifying the code slightly to pre-intern the prefixes we're trying to test.   Thus,
maybe (not really sure), it may work better in this case as the strings would already be interned.
  May perform slightly better as well (no stringbuilders created).


> FastInfoset Thread blocked
> --------------------------
>
>                 Key: CXF-2530
>                 URL: https://issues.apache.org/jira/browse/CXF-2530
>             Project: CXF
>          Issue Type: Bug
>          Components: OtherDatabindings, Transports
>    Affects Versions: 2.2.3
>         Environment: Linux x86
> java version "1.6.0_16"
> Java(TM) SE Runtime Environment (build 1.6.0_16-b01)
> Java HotSpot(TM) Client VM (build 14.2-b01, mixed mode, sharing)
> Jboss 5.1.0.GA
>            Reporter: Grégoire A.
>            Priority: Blocker
>         Attachments: FullStackTrace.log
>
>
> For a normal webservice all is fine 
> but when we use Fastinfoset into cxf:bus
>         <bean id="fastinfoset" class="org.apache.cxf.feature.FastInfosetFeature"/>

> 	<cxf:bus>
> 		<cxf:features>
> 			<cxf:logging />
> 			<ref bean="fastinfoset"/> 
> 		</cxf:features>
> 	</cxf:bus>
> we have got thread blocked and the java application didn't respond any more
> just see the dump stacktrace
> "http-0.0.0.0-8080-1" daemon prio=10 tid=0x094c3400 nid=0x18f4 waiting for monitor entry
[0x82e8d000]
>    java.lang.Thread.State: BLOCKED (on object monitor)
> 	at java.lang.String.intern(Native Method)
> 	at com.sun.xml.fastinfoset.util.NamespaceContextImplementation.getNamespaceURI(NamespaceContextImplementation.java:75)
> 	at org.apache.cxf.interceptor.WrappedOutInterceptor.handleMessage(WrappedOutInterceptor.java:74)
> 	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
> 	- locked <0x8c615120> (a org.apache.cxf.phase.PhaseInterceptorChain)
> 	at org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:74)
> 	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
> 	- locked <0x8c62af20> (a org.apache.cxf.phase.PhaseInterceptorChain)
> 	at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:104)
> 	at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:99)
> 	at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:452)
> 	at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:196)
> 	at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:220)
> 	at org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost(AbstractCXFServlet.java:153)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
> 	at org.apache.cxf.transport.servlet.AbstractCXFServlet.service(AbstractCXFServlet.java:211)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message