On 10/4/06, Jamie McCrindle <[EMAIL PROTECTED]> wrote:
ok. thanks. not sure if it's a common use case but from a client code perspective, there are times when making an in-out mep look synchronous is useful. in that case would i need to create a mini correlation service on top of say a defaultservicemixclient?
Not sure why you nee da correlation service. Synchronous InOut clustered is supported by the JMS flow, the problem is when you want to add transactionality on top of that. It would require the transaction managers to be clustered somewhat.
i think for the moment i'm going to require jms flow. would it be possible to add jmsflow as one of the flows in the default servicemix delivery so that synchronous remote calls are supported?
Sure.
cheers, j. On 10/4/06, Guillaume Nodet <[EMAIL PROTECTED]> wrote: > I have just spotted that the first test you wrote should not work. > SendSync can not be used on top of the JCA flow, as there is > no way to do synchronous request / response calls with JMS. > See http://servicemix.goopen.org/site/transactions.html > > I need to fix the JCA flow to reject synchronous calls. > > > On 10/4/06, Jamie McCrindle <[EMAIL PROTECTED]> wrote: > > hiya, > > > > JCAFlow still seems to be misbehaving for me. I get the following > > kinds of behaviour using a component deployed into a default SM > > container and an integration test: > > > > some success at first > > count not find route for exchange > > message passed to component but reply not received > > endpoint found but message not passed to component > > > > it's difficult to debug in the container but this keeps popping up: > > > > DEBUG [Thread-5] ServerSessionImpl:1.run(167) | Endpoint failed to > > process message. > > java.lang.RuntimeException: Endpoint after delivery notification failure > > at org.apache.activemq.ra.ServerSessionImpl.afterDelivery(ServerSessionImpl.java:216) > > at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:751) > > at org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:163) > > at org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:291) > > at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source) > > at java.lang.Thread.run(Thread.java:595) > > Caused by: java.lang.IllegalStateException: Cannot commit if the > > transaction is not bound to the current thread > > at org.apache.geronimo.transaction.context.GeronimoTransactionDelegate.commit(GeronimoTransactionDelegate.java:49) > > at org.jencks.XAEndpoint.afterDelivery(XAEndpoint.java:103) > > at org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.afterDelivery(MessageEndpointProxy.java:125) > > at org.apache.activemq.ra.MessageEndpointProxy.afterDelivery(MessageEndpointProxy.java:64) > > at org.apache.activemq.ra.ServerSessionImpl.afterDelivery(ServerSessionImpl.java:214) > > ... 5 more > > > > and i can replicate it in a test (pretty much the same test as for the > > last issue, just sending 2 messages instead of 1). neither the > > component or the defaultservicemixclient is doing anything explicitly > > with transactions. > > > > I'm running with ServiceMix 3.0 > > > > should I raise it in JIRA? > > > > cheers, > > j. > > > > > -- > Cheers, > Guillaume Nodet >
-- Cheers, Guillaume Nodet
