[mule-user] Vm Connector Error (queueEvents="false")

6 views
Skip to first unread message

PawanModi

unread,
Apr 30, 2009, 5:36:31 AM4/30/09
to us...@mule.codehaus.org

Hi,

I am trying send & receive messages using vm queues in mule-2.1.2. I have
set attribute queueEvents="false" at vm connector because i don't want to
queue any events at the connector level.

http://www.nabble.com/file/p23312920/mule-config-nabble.xml
mule-config-nabble.xml

Can any one guide me how to resolve this exception?

I am getting following error in Mule server logs.

ERROR 2009-04-30 10:23:07,859 [connector.http.0.receiver.15]
org.mule.module.client.remoting.RemoteDispatcherComponent: Failed to format
message, using dir
ect string (details at debug level): java.io.NotSerializableException:
org.mule.transport.vm.VMConnector
INFO 2009-04-30 10:23:07,874 [connector.http.0.receiver.15]
org.mule.transport.vm.VMMessageRequester: Disconnected:
VMMessageRequester{this=1e35ecd, endpo
int=vm://vmFseHeartbeatReceiver?connector=asyncVm, disposed=false}
ERROR 2009-04-30 10:23:07,874 [connector.http.0.receiver.15]
org.mule.module.client.remoting.RemoteDispatcherComponent: Failed to process
admin request: Fa
iled to receive event over:
DefaultInboundEndpoint{endpointUri=vm://vmFseHeartbeatReceiver?connector=asyncVm,
connector=VMConnector{this=1873eb2, started=t
rue, initialised=true, name='asyncVm', disposed=false,
numberOfConcurrentTransactedReceivers=4,
createMultipleTransactedReceivers=true, connected=true, sup
portedProtocols=[vm], serviceOverrides=null}, transformer=[],
name='endpoint.vm.vmFseHeartbeatReceiver', properties={connector=asyncVm},
transactionConfig=
Transaction{factory=null, action=NEVER, timeout=0}, filter=null,
deleteUnacceptedMessages=false, securityFilter=null, synchronous=false,
initialState=start
ed, remoteSync=false, remoteSyncTimeout=10000, endpointEncoding=UTF-8}
(timeout=1000)
org.mule.api.transport.ReceiveException: Failed to receive event over:
DefaultInboundEndpoint{endpointUri=vm://vmFseHeartbeatReceiver?connector=asyncVm,
co
nnector=VMConnector{this=1873eb2, started=true, initialised=true,
name='asyncVm', disposed=false, numberOfConcurrentTransactedReceivers=4,
createMultipleTr
ansactedReceivers=true, connected=true, supportedProtocols=[vm],
serviceOverrides=null}, transformer=[],
name='endpoint.vm.vmFseHeartbeatReceiver', propert
ies={connector=asyncVm}, transactionConfig=Transaction{factory=null,
action=NEVER, timeout=0}, filter=null, deleteUnacceptedMessages=false,
securityFilter=
null, synchronous=false, initialState=started, remoteSync=false,
remoteSyncTimeout=10000, endpointEncoding=UTF-8} (timeout=1000)
at
org.mule.transport.AbstractMessageRequester.request(AbstractMessageRequester.java:99)
at
org.mule.transport.AbstractConnector.request(AbstractConnector.java:1875)
at
org.mule.transport.AbstractConnector.request(AbstractConnector.java:1863)
at
org.mule.module.client.remoting.RemoteDispatcherComponent.receiveAction(RemoteDispatcherComponent.java:232)
at
org.mule.module.client.remoting.RemoteDispatcherComponent.onCall(RemoteDispatcherComponent.java:114)
at
org.mule.component.SimpleCallableJavaComponent.invokeComponentInstance(SimpleCallableJavaComponent.java:166)
at
org.mule.component.AbstractJavaComponent.doInvoke(AbstractJavaComponent.java:74)
at
org.mule.component.AbstractComponent.invokeInternal(AbstractComponent.java:125)
at
org.mule.component.AbstractComponent.invoke(AbstractComponent.java:153)
at
org.mule.service.AbstractService.invokeComponent(AbstractService.java:933)
at org.mule.model.seda.SedaService.doSend(SedaService.java:234)
at
org.mule.service.AbstractService.sendEvent(AbstractService.java:506)
at
org.mule.DefaultMuleSession.sendEvent(DefaultMuleSession.java:354)
at
org.mule.routing.inbound.DefaultInboundRouterCollection.send(DefaultInboundRouterCollection.java:220)
at
org.mule.routing.inbound.DefaultInboundRouterCollection.route(DefaultInboundRouterCollection.java:180)
at
org.mule.transport.AbstractMessageReceiver$DefaultInternalMessageListener.onMessage(AbstractMessageReceiver.java:365)
at
org.mule.transport.AbstractMessageReceiver.routeMessage(AbstractMessageReceiver.java:253)
at
org.mule.transport.AbstractMessageReceiver.routeMessage(AbstractMessageReceiver.java:194)
at
org.mule.transport.http.HttpMessageReceiver$HttpWorker.doRequest(HttpMessageReceiver.java:272)
at
org.mule.transport.http.HttpMessageReceiver$HttpWorker.processRequest(HttpMessageReceiver.java:230)
at
org.mule.transport.http.HttpMessageReceiver$HttpWorker.run(HttpMessageReceiver.java:190)
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)
Caused by: java.lang.UnsupportedOperationException: Receive requested on VM
Connector, but queueEvents is false
at
org.mule.transport.vm.VMMessageRequester.doRequest(VMMessageRequester.java:50)
at
org.mule.transport.AbstractMessageRequester.request(AbstractMessageRequester.java:77)
... 24 more


I am getting following error at mule consumer log.


2009-04-30 10:23:06 BST [muleconsumer ] INFO Mule consumer is now ready
to receive events
org.mule.api.transport.DispatchException: Failed to route event via
endpoint: DefaultOutboundEndpoint{endpointUri=http://localhost:8085,
connector=HttpConnector{this=4e280c, started=true, initialised=true,
name='connector.http.0', disposed=false,
numberOfConcurrentTransactedReceivers=4,
createMultipleTransactedReceivers=true, connected=true,
supportedProtocols=[http], serviceOverrides=null},
transformer=[ObjectToHttpClientMethodRequest{this=176e552, name='null',
ignoreBadInput=false, returnClass=interface
org.apache.commons.httpclient.HttpMethod, sourceTypes=[interface
org.mule.api.MuleMessage, class [B, class java.lang.String, class
java.io.InputStream, interface org.mule.api.transport.OutputHandler, class
org.mule.transport.NullPayload]}], name='endpoint.http.localhost.8085',
properties={}, transactionConfig=Transaction{factory=null, action=NEVER,
timeout=0}, filter=null, deleteUnacceptedMessages=false,
securityFilter=null, synchronous=true, initialState=started,
remoteSync=true, remoteSyncTimeout=10000, endpointEncoding=UTF-8}. Message
payload is of type: PostMethod
at
org.mule.module.client.RemoteDispatcher.dispatchAction(RemoteDispatcher.java:415)
at
org.mule.module.client.RemoteDispatcher.receiveRemote(RemoteDispatcher.java:276)
at com.agilent.mule212.Mule211Consumer1.run(Mule211Consumer1.java:82)
at com.agilent.mule212.Mule211Consumer1.main(Mule211Consumer1.java:43)
Caused by: org.mule.api.transformer.TransformerException: Failed to
transform from "byte[]" to "Object"
at
org.mule.transformer.simple.ByteArrayToSerializable.doTransform(ByteArrayToSerializable.java:53)
at
org.mule.transformer.AbstractTransformer.transform(AbstractTransformer.java:254)
at
org.mule.transformer.wire.TransformerPairWireFormat.read(TransformerPairWireFormat.java:52)
at
org.mule.module.client.RemoteDispatcher.dispatchAction(RemoteDispatcher.java:397)
... 3 more
Caused by: org.apache.commons.lang.SerializationException:
java.io.StreamCorruptedException: invalid stream header: 4661696C
at
org.apache.commons.lang.SerializationUtils.deserialize(SerializationUtils.java:167)
at
org.mule.transformer.simple.ByteArrayToSerializable.doTransform(ByteArrayToSerializable.java:48)
... 6 more
Caused by: java.io.StreamCorruptedException: invalid stream header: 4661696C
at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
at java.io.ObjectInputStream.<init>(Unknown Source)
at
org.apache.commons.lang.SerializationUtils.deserialize(SerializationUtils.java:161)

Thanks & regards,
Pawan Modi
--
View this message in context: http://www.nabble.com/Vm-Connector-Error-%28queueEvents%3D%22false%22%29-tp23312920p23312920.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


amateo

unread,
Apr 30, 2009, 11:42:25 AM4/30/09
to us...@mule.codehaus.org

Your problem is that when you set attribute queueEvent to FALSE then you get
a synchronous VM. In a synchronous VM you need to have an inbound and a
outbound endpoint for the same queue. In your case in the outbound-endpoint
you send a message to a vm-queue but you don't have a inbound-enpoint.
This is the reason Mule throws the next exception

Caused by: java.lang.UnsupportedOperationException: Receive requested on VM
Connector, but queueEvents is false

You can read more info in ricston's blog: http://ricston.com/blog/?p=83

Don't give me the thank to me. The one you need to give thank is Antonie
Borg. He told me this in another post.

--
View this message in context: http://www.nabble.com/Vm-Connector-Error-%28queueEvents%3D%22false%22%29-tp23312920p23318919.html

PawanModi

unread,
May 4, 2009, 12:06:54 AM5/4/09
to us...@mule.codehaus.org

Hi,

Many thanks for such a valuable information. I am sure this piece of
information is very important for configuring Vm transport.

Thanks & regards,
Pawan Modi

--
View this message in context: http://www.nabble.com/Vm-Connector-Error-%28queueEvents%3D%22false%22%29-tp23312920p23362791.html

Reply all
Reply to author
Forward
0 new messages