[mule-user] IllegalStateException With CXF endpoint and wire tap router

2 views
Skip to first unread message

DS12

unread,
Jun 22, 2008, 1:59:38 AM6/22/08
to us...@mule.codehaus.org

I have the following Mule configuration that I'm running with Mule 2.0.1

<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesource.org/schema/mule/core/2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:vm="http://www.mulesource.org/schema/mule/vm/2.0"
xmlns:stdio="http://www.mulesource.org/schema/mule/stdio/2.0"
xmlns:cxf="http://www.mulesource.org/schema/mule/cxf/2.0"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.mulesource.org/schema/mule/core/2.0
http://www.mulesource.org/schema/mule/core/2.0/mule.xsd
http://www.mulesource.org/schema/mule/vm/2.0
http://www.mulesource.org/schema/mule/vm/2.0/mule-vm.xsd
http://www.mulesource.org/schema/mule/xml/2.0
http://www.mulesource.org/schema/mule/xml/2.0/mule-xml.xsd
http://www.mulesource.org/schema/mule/stdio/2.0
http://www.mulesource.org/schema/mule/stdio/2.0/mule-stdio.xsd
http://www.mulesource.org/schema/mule/cxf/2.0
http://www.mulesource.org/schema/mule/cxf/2.0/mule-cxf.xsd">

<cxf:endpoint name="ClientIn"
address="http://localhost:10080/Client" synchronous="true"
frontend="simple">
</cxf:endpoint>

<vm:endpoint name="ClientHandler"
address="vm://clienthandler.queue" />

<model name="test">

<service name="ClientService">
<inbound>
<inbound-endpoint ref="ClientIn" />
<wire-tap-router>
<outbound-endpoint ref="ClientHandler">
</outbound-endpoint>
</wire-tap-router>
</inbound>
<echo-component></echo-component>
</service>

<service name="asynchronousHandler">
<inbound>
<inbound-endpoint ref="ClientHandler" />
</inbound>
<echo-component></echo-component>
<outbound>
<outbound-pass-through-router>
<stdio:outbound-endpoint system="OUT"></stdio:outbound-endpoint>
</outbound-pass-through-router>
</outbound>
</service>
</model>
</mule>


When I test this by invoking the webservice at the "ClientIn" endpoint I get
this exception:


INFO 2008-06-22 11:21:33,923 [connector.http.0.receiver.2]
org.mule.transport.cxf.CxfMessageAdapter: The newThreadCopy method in
AbstractMessageAdapter is being used directly. This code may be susceptible
to 'scribbling' issues with messages. Please consider implementing the
ThreadSafeAccess interface in the message adapter.
INFO 2008-06-22 11:21:33,923 [connector.VM.0.dispatcher.1]
org.mule.transport.cxf.CxfMessageAdapter: The newThreadCopy method in
AbstractMessageAdapter is being used directly. This code may be susceptible
to 'scribbling' issues with messages. Please consider implementing the
ThreadSafeAccess interface in the message adapter.
INFO 2008-06-22 11:21:33,923 [connector.VM.0.dispatcher.1]
org.mule.transport.vm.VMMessageDispatcher: Connected:
VMMessageDispatcher{this=1a5e65f, endpoint=vm://clienthandler.queue,
disposed=false}
WARN 2008-06-22 11:21:33,939 [connector.VM.0.dispatcher.1]
org.mule.transport.DefaultMessageAdapter: Message access violation
java.lang.IllegalStateException: Only owner thread can write to message:
Thread[connector.http.0.receiver.2,5,main]/Thread[connector.VM.0.dispatcher.1,5,main]
at
org.mule.transport.AbstractMessageAdapter.newException(AbstractMessageAdapter.java:582)
at
org.mule.transport.AbstractMessageAdapter.checkMutable(AbstractMessageAdapter.java:568)
at
org.mule.transport.AbstractMessageAdapter.assertAccess(AbstractMessageAdapter.java:509)
at
org.mule.transport.AbstractMessageAdapter.setProperty(AbstractMessageAdapter.java:230)
at
org.mule.DefaultMuleMessage.setProperty(DefaultMuleMessage.java:240)
at
org.mule.MuleSessionHandler.storeSessionInfoToMessage(MuleSessionHandler.java:119)
at
org.mule.transport.vm.VMMessageDispatcher.doDispatch(VMMessageDispatcher.java:65)
at
org.mule.transport.AbstractMessageDispatcher$Worker.run(AbstractMessageDispatcher.java:262)
at org.mule.work.WorkerContext.run(WorkerContext.java:310)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
at java.lang.Thread.run(Unknown Source)
ERROR 2008-06-22 11:21:33,939 [connector.VM.0.dispatcher.1]
org.mule.DefaultExceptionStrategy: Caught exception in Exception Strategy:
Only owner thread can write to message:
Thread[connector.http.0.receiver.2,5,main]/Thread[connector.VM.0.dispatcher.1,5,main]
java.lang.IllegalStateException: Only owner thread can write to message:
Thread[connector.http.0.receiver.2,5,main]/Thread[connector.VM.0.dispatcher.1,5,main]
at
org.mule.transport.AbstractMessageAdapter.newException(AbstractMessageAdapter.java:582)
at
org.mule.transport.AbstractMessageAdapter.checkMutable(AbstractMessageAdapter.java:568)
at
org.mule.transport.AbstractMessageAdapter.assertAccess(AbstractMessageAdapter.java:509)
at
org.mule.transport.AbstractMessageAdapter.setProperty(AbstractMessageAdapter.java:230)
at
org.mule.DefaultMuleMessage.setProperty(DefaultMuleMessage.java:240)
at
org.mule.MuleSessionHandler.storeSessionInfoToMessage(MuleSessionHandler.java:119)
at
org.mule.transport.vm.VMMessageDispatcher.doDispatch(VMMessageDispatcher.java:65)
at
org.mule.transport.AbstractMessageDispatcher$Worker.run(AbstractMessageDispatcher.java:262)
at org.mule.work.WorkerContext.run(WorkerContext.java:310)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
at java.lang.Thread.run(Unknown Source)
INFO 2008-06-22 11:21:33,939 [connector.VM.0.dispatcher.1]
org.mule.transport.DefaultMessageAdapter: The newThreadCopy method in
AbstractMessageAdapter is being used directly. This code may be susceptible
to 'scribbling' issues with messages. Please consider implementing the
ThreadSafeAccess interface in the message adapter.
INFO 2008-06-22 11:21:33,970 [connector.http.0.receiver.2]
org.mule.transport.http.HttpMessageReceiver: Closing HTTP connection.


This seems to be happening as result of using the wire-tap-router with the
cxf endpoint. The same configuration when used with an Axis end point works
OK.
--
View this message in context: http://www.nabble.com/IllegalStateException-With-CXF-endpoint-and-wire-tap-router-tp18051501p18051501.html
Sent from the Mule - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email


Reply all
Reply to author
Forward
0 new messages