You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by oliver kuntze <ol...@union-investment.de> on 2008/12/12 11:43:13 UTC

How does SMX4 transaction handling if it runs in an OSGi container?

Hi all,

we are running our EAI platform based on SMX3 hosted in JBoss with XA
transactions and all that.

I am asking myself if we could get the same level of enterprise services
from SMX4, too.

I've read in the SMX4 docs that the JMS JBI BC does not provide JCA
processors any more since SMX4 does not have any JCA flow any more. So the
preferred way in SMX4 would now be to use the new servicemix-jms endpoints
backed by spring-jms, and to set the transacted flag to "xa", correct?

Currently the OSGi spec does not include transaction handling, right? So how
are transactions started, propagated, etc. in SMX4, if SMX4 is a set of OSGi
bundles running in an OSGi container? Does SMX4 provide any OSGi platform
transaction service? How does SMX4 handle the classloading
restrictions/policies that OSGi imposes on bundles, if transactions are
propagated from bundle to bundle (i.e. from endpoint to endpoint)? 

Questions over questions. ;-)

Any help would be greatly appreciated!

Cheers

Oliver



-- 
View this message in context: http://www.nabble.com/How-does-SMX4-transaction-handling-if-it-runs-in-an-OSGi-container--tp20973338p20973338.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: How does SMX4 transaction handling if it runs in an OSGi container?

Posted by Guillaume Nodet <gn...@gmail.com>.
On Mon, Dec 15, 2008 at 09:29, oliver kuntze
<ol...@union-investment.de> wrote:
>
> Thanks a lot for the prompt feedback, Guillaume!
>
> However, it would be great if you could clarify some points...
>
> gnodet wrote:
>>
>> On Fri, Dec 12, 2008 at 11:43, oliver kuntze
>> <ol...@union-investment.de> wrote:
>>>
>>> Hi all,
>>>
>>> we are running our EAI platform based on SMX3 hosted in JBoss with XA
>>> transactions and all that.
>>>
>>> I am asking myself if we could get the same level of enterprise services
>>> from SMX4, too.
>>>
>>> I've read in the SMX4 docs that the JMS JBI BC does not provide JCA
>>> processors any more since SMX4 does not have any JCA flow any more. So
>>> the
>>> preferred way in SMX4 would now be to use the new servicemix-jms
>>> endpoints
>>> backed by spring-jms, and to set the transacted flag to "xa", correct?
>>
>> The JCA flow is not supported in Smx4, but all endpoints from the JMS
>> component
>> work as in Smx3.
>>
>
> Is it correct, that the existence of a JCA flow is not mandatory for using
> the JMS JCA processors, i.e. we can still use our SMX3 JMS JCA endpoints in
> SMX4?
>
> Am I correct, that, if I'd like to have the same behavior with the new SMX4
> JMS endpoints, I would have to set the "transacted" property to "xa"?

Yes, though I would encourage you to use the new JMS endpoints in all cases,
unless you really need or want to use the JCA layer.

>>
>>> Currently the OSGi spec does not include transaction handling, right? So
>>> how
>>> are transactions started, propagated, etc. in SMX4, if SMX4 is a set of
>>> OSGi
>>> bundles running in an OSGi container? Does SMX4 provide any OSGi platform
>>> transaction service? How does SMX4 handle the classloading
>>> restrictions/policies that OSGi imposes on bundles, if transactions are
>>> propagated from bundle to bundle (i.e. from endpoint to endpoint)?
>>
>> The same way they are in Smx3.  ServiceMix 3 is not a JEE container,
>> but transactions
>> can still be used.  The mechanism is the same in Smx4.  We reuse the
>> geronimo
>> transaction manager in both cases and the OSGi classloading mechanism does
>> not
>> interfer at all with this process.
>>
>
> Sure SMX is not a JEE container. In our EAI scenario we leverage some JEE
> services in our SMX3 platform: JCA, JTS/JTA, clustered JMS, clustered cache,
> JNDI, etc..
> So I am thinking of ways, how to achieve this with SMX4. It doesn't seem
> that easy to host an OSGi container in a JEE app server and use the app
> server's infrastructure services, since the class loading requirements seem
> to be not really compatible.
> Also, we don't want to limit ourselves to one and only one transaction
> manager. So, what can we do if we would like to exchange the Geronimo
> transaction manager with some other implementation?
> Do you have any hints, how we could integrate our enterprise level cross
> cutting services with SMX4?
> Is it possible with SMX4? Or do we have to wait for the first enterprise
> OSGi specs and their implementations to come out?

For transactions in OSGi, even the coming spec nearly only specify
that the TransactionManager
service has to be registered in the OSGi registry.  That's what we do already.
If the JEE server you want to integrate does not support OSGi, it
should be possible to bootstrap
the OSGi runtime anyway and register some services in the OSGi
registry from the bootstrap mechanism, using
objects retrieved from the JEE JNDI tree.

>>> Questions over questions. ;-)
>>>
>>> Any help would be greatly appreciated!
>>>
>>> Cheers
>>>
>>> Oliver
>>>
>>>
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/How-does-SMX4-transaction-handling-if-it-runs-in-an-OSGi-container--tp20973338p20973338.html
>>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>>
>>>
>>
>>
>>
>> --
>> Cheers,
>> Guillaume Nodet
>> ------------------------
>> Blog: http://gnodet.blogspot.com/
>> ------------------------
>> Open Source SOA
>> http://fusesource.com
>>
>>
>
> Again, thanks a lot in advance for any insight!
>
> Cheers
>
> Oliver
>
> Quoted from:
> http://www.nabble.com/How-does-SMX4-transaction-handling-if-it-runs-in-an-OSGi-container--tp20973338p20973484.html
>
> --
> View this message in context: http://www.nabble.com/How-does-SMX4-transaction-handling-if-it-runs-in-an-OSGi-container--tp20973338p21009815.html
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
------------------------
Open Source SOA
http://fusesource.com

Re: How does SMX4 transaction handling if it runs in an OSGi container?

Posted by oliver kuntze <ol...@union-investment.de>.
Thanks a lot for the prompt feedback, Guillaume!

However, it would be great if you could clarify some points...
 
gnodet wrote:
> 
> On Fri, Dec 12, 2008 at 11:43, oliver kuntze
> <ol...@union-investment.de> wrote:
>>
>> Hi all,
>>
>> we are running our EAI platform based on SMX3 hosted in JBoss with XA
>> transactions and all that.
>>
>> I am asking myself if we could get the same level of enterprise services
>> from SMX4, too.
>>
>> I've read in the SMX4 docs that the JMS JBI BC does not provide JCA
>> processors any more since SMX4 does not have any JCA flow any more. So
>> the
>> preferred way in SMX4 would now be to use the new servicemix-jms
>> endpoints
>> backed by spring-jms, and to set the transacted flag to "xa", correct?
> 
> The JCA flow is not supported in Smx4, but all endpoints from the JMS
> component
> work as in Smx3.
> 

Is it correct, that the existence of a JCA flow is not mandatory for using
the JMS JCA processors, i.e. we can still use our SMX3 JMS JCA endpoints in
SMX4?

Am I correct, that, if I'd like to have the same behavior with the new SMX4
JMS endpoints, I would have to set the "transacted" property to "xa"?

> 
>> Currently the OSGi spec does not include transaction handling, right? So
>> how
>> are transactions started, propagated, etc. in SMX4, if SMX4 is a set of
>> OSGi
>> bundles running in an OSGi container? Does SMX4 provide any OSGi platform
>> transaction service? How does SMX4 handle the classloading
>> restrictions/policies that OSGi imposes on bundles, if transactions are
>> propagated from bundle to bundle (i.e. from endpoint to endpoint)?
> 
> The same way they are in Smx3.  ServiceMix 3 is not a JEE container,
> but transactions
> can still be used.  The mechanism is the same in Smx4.  We reuse the
> geronimo
> transaction manager in both cases and the OSGi classloading mechanism does
> not
> interfer at all with this process.
> 

Sure SMX is not a JEE container. In our EAI scenario we leverage some JEE
services in our SMX3 platform: JCA, JTS/JTA, clustered JMS, clustered cache,
JNDI, etc..
So I am thinking of ways, how to achieve this with SMX4. It doesn't seem
that easy to host an OSGi container in a JEE app server and use the app
server's infrastructure services, since the class loading requirements seem
to be not really compatible.
Also, we don't want to limit ourselves to one and only one transaction
manager. So, what can we do if we would like to exchange the Geronimo
transaction manager with some other implementation?
Do you have any hints, how we could integrate our enterprise level cross
cutting services with SMX4?
Is it possible with SMX4? Or do we have to wait for the first enterprise
OSGi specs and their implementations to come out?

>> Questions over questions. ;-)
>>
>> Any help would be greatly appreciated!
>>
>> Cheers
>>
>> Oliver
>>
>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/How-does-SMX4-transaction-handling-if-it-runs-in-an-OSGi-container--tp20973338p20973338.html
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> 
> -- 
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> ------------------------
> Open Source SOA
> http://fusesource.com
> 
> 

Again, thanks a lot in advance for any insight!

Cheers

Oliver

Quoted from: 
http://www.nabble.com/How-does-SMX4-transaction-handling-if-it-runs-in-an-OSGi-container--tp20973338p20973484.html

-- 
View this message in context: http://www.nabble.com/How-does-SMX4-transaction-handling-if-it-runs-in-an-OSGi-container--tp20973338p21009815.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: How does SMX4 transaction handling if it runs in an OSGi container?

Posted by oliver kuntze <ol...@union-investment.de>.
Sorry, posted this stuff at the wrong position in the thread...

Thanks a lot for the prompt feedback, Guillaume!

However, it would be great if you could clarify some points...
 
gnodet wrote:
>
> On Fri, Dec 12, 2008 at 11:43, oliver kuntze
> <ol...@union-investment.de> wrote:
>>
>> Hi all,
>>
>> we are running our EAI platform based on SMX3 hosted in JBoss with XA
>> transactions and all that.
>>
>> I am asking myself if we could get the same level of enterprise services
>> from SMX4, too.
>>
>> I've read in the SMX4 docs that the JMS JBI BC does not provide JCA
>> processors any more since SMX4 does not have any JCA flow any more. So
>> the
>> preferred way in SMX4 would now be to use the new servicemix-jms
>> endpoints
>> backed by spring-jms, and to set the transacted flag to "xa", correct?
>
> The JCA flow is not supported in Smx4, but all endpoints from the JMS
> component
> work as in Smx3.
>

Is it correct, that the existence of a JCA flow is not mandatory for using
the JMS JCA processors, i.e. we can still use our SMX3 JMS JCA endpoints in
SMX4?

Am I correct, that, if I'd like to have the same behavior with the new SMX4
JMS endpoints, I would have to set the "transacted" property to "xa"?

>
>> Currently the OSGi spec does not include transaction handling, right? So
>> how
>> are transactions started, propagated, etc. in SMX4, if SMX4 is a set of
>> OSGi
>> bundles running in an OSGi container? Does SMX4 provide any OSGi platform
>> transaction service? How does SMX4 handle the classloading
>> restrictions/policies that OSGi imposes on bundles, if transactions are
>> propagated from bundle to bundle (i.e. from endpoint to endpoint)?
>
> The same way they are in Smx3.  ServiceMix 3 is not a JEE container,
> but transactions
> can still be used.  The mechanism is the same in Smx4.  We reuse the
> geronimo
> transaction manager in both cases and the OSGi classloading mechanism does
> not
> interfer at all with this process.
>

Sure SMX is not a JEE container. In our EAI scenario we leverage some JEE
services in our SMX3 platform: JCA, JTS/JTA, clustered JMS, clustered cache,
JNDI, etc..
So I am thinking of ways, how to achieve this with SMX4. It doesn't seem
that easy to host an OSGi container in a JEE app server and use the app
server's infrastructure services, since the class loading requirements seem
to be not really compatible.
Also, we don't want to limit ourselves to one and only one transaction
manager. So, what can we do if we would like to exchange the Geronimo
transaction manager with some other implementation?
Do you have any hints, how we could integrate our enterprise level cross
cutting services with SMX4?
Is it possible with SMX4? Or do we have to wait for the first enterprise
OSGi specs and their implementations to come out?

>> Questions over questions. ;-)
>>
>> Any help would be greatly appreciated!
>>
>> Cheers
>>
>> Oliver
>>
>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/How-does-SMX4-transaction-handling-if-it-runs-in-an-OSGi-container--tp20973338p20973338.html
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>>
>
>
>
> --
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> ------------------------
> Open Source SOA
> http://fusesource.com
>
>

Again, thanks a lot in advance for any insight!

Cheers

Oliver

Quoted from:
http://www.nabble.com/How-does-SMX4-transaction-handling-if-it-runs-in-an-OSGi-container--tp20973338p20973484.html

-- 
View this message in context: http://www.nabble.com/How-does-SMX4-transaction-handling-if-it-runs-in-an-OSGi-container--tp20973338p21009926.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: How does SMX4 transaction handling if it runs in an OSGi container?

Posted by Guillaume Nodet <gn...@gmail.com>.
On Fri, Dec 12, 2008 at 11:43, oliver kuntze
<ol...@union-investment.de> wrote:
>
> Hi all,
>
> we are running our EAI platform based on SMX3 hosted in JBoss with XA
> transactions and all that.
>
> I am asking myself if we could get the same level of enterprise services
> from SMX4, too.
>
> I've read in the SMX4 docs that the JMS JBI BC does not provide JCA
> processors any more since SMX4 does not have any JCA flow any more. So the
> preferred way in SMX4 would now be to use the new servicemix-jms endpoints
> backed by spring-jms, and to set the transacted flag to "xa", correct?

The JCA flow is not supported in Smx4, but all endpoints from the JMS component
work as in Smx3.


> Currently the OSGi spec does not include transaction handling, right? So how
> are transactions started, propagated, etc. in SMX4, if SMX4 is a set of OSGi
> bundles running in an OSGi container? Does SMX4 provide any OSGi platform
> transaction service? How does SMX4 handle the classloading
> restrictions/policies that OSGi imposes on bundles, if transactions are
> propagated from bundle to bundle (i.e. from endpoint to endpoint)?

The same way they are in Smx3.  ServiceMix 3 is not a JEE container,
but transactions
can still be used.  The mechanism is the same in Smx4.  We reuse the geronimo
transaction manager in both cases and the OSGi classloading mechanism does not
interfer at all with this process.

> Questions over questions. ;-)
>
> Any help would be greatly appreciated!
>
> Cheers
>
> Oliver
>
>
>
> --
> View this message in context: http://www.nabble.com/How-does-SMX4-transaction-handling-if-it-runs-in-an-OSGi-container--tp20973338p20973338.html
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
------------------------
Open Source SOA
http://fusesource.com