Hello Charles,

The component does not contain any transaction-specific or spring-specific 
logic.

Handling of transactions should be done using transactional-client 
(http://camel.apache.org/transactional-client.html) EIP.

Basically, if you need to call the consuming bundles in a transaction started 
by a producing bundle, everything should
work out of the box, as OSGi guaranties that the services are invoked 
synchronously in the same thread.

If you have to support different propagations for different bundles, like this

from("direct:start").id("producer").transacted("PROPAGATION_REQUIRED").to("osgi:multicast:consumer");
from("osgi:consumer").id("consumer1").transacted("PROPAGATION_REQUIRES_NEW").to("mock:consumer1");
from("osgi:consumer").id("consumer2").transacted("PROPAGATION_SUPPORTS").to("mock:consumer2");

you have to export the transaction manager as OSGi service from the producing 
bundle, and import it in all the
consuming bundles to configure 
org.apache.camel.spring.spi.SpringTransactionPolicy'es properly.
Currently I'm considering to implement an integration test to show how to do 
that.

Regards,
Sergey

> Excellent remark Christian.

> I have also another concern regrading to the component which is :  "Does it
> support TX propagation with or without Spring ?"

> https://issues.apache.org/jira/browse/CAMEL-5368
> https://issues.apache.org/jira/browse/CAMEL-5292

> On Wed, Jun 20, 2012 at 10:36 AM, Christian Schneider <
> ch...@die-schneider.net> wrote:

>> Hi Sergey,
>>
>> the component looks pretty good already. There is one thing though I would
>> like to discuss.
>>
>> More or less the core of this component is the OSGi service we use to
>> communicate between the bundles. You currently use the camel Processor
>> interface for this.
>>
>> While this is quite suitable for pure camel to camel communication I
>> wonder if we could come up with an interface that is not tied to camel. The
>> Processor interfaces indirectly references a lot of the camel core code. I
>> wonder if we could design a simple self contained interface that would also
>> be reuseable for other projects to do a generic communication with camel.
>>
>> Christian
>>
>>
>> Am 22.05.2012 19:57, schrieb szh.s...@gmail.com:
>>
>>> Hi gurus,
>>>
>>> Recently  I've  published  camel  component that uses OSGi services to
>>> communicate between endpoints in different bundles.
>>>
>>> Here is the link: 
>>> https://github.com/szhem/**camel-osgi<https://github.com/szhem/camel-osgi>
>>> I've already raised JIRA issue - https://issues.apache.org/**
>>> jira/browse/CAMEL-5292 <https://issues.apache.org/jira/browse/CAMEL-5292>
>>>
>>> So I'd like to have some feedback if it seems to be useful.
>>>
>>> Regards,
>>> Sergey
>>>
>>>
>>>
>>
>> --
>> Christian Schneider
>> http://www.liquid-reality.de
>>
>> Open Source Architect
>> Talend Application Integration Division http://www.talend.com
>>
>>

Reply via email to