Date
1 - 6 of 6
Question on transaction propagation in EJB remoting
klaus.rothert@...
Hello,
we recently looked into IBM Liberty as Java EE container and were very suprised to find that it does not support inbound or outbound transaction propagation. Asking our IBM contact about that we were told that supporting transaction propagation over IIOP is nothing they intend to support. Isn't supporting transaction propagation over IIOP a requirement as of Java EE 7 and 8? In the specefication I can't find a specific requirement. In EE.6.2.3.6 it is mentioned that which kind of implies transaction propagation. In the EJB 3.2 interoperability specification I can only find 10.6 Transaction Interoperabilitywhich to my understanding only means its optional between different vendors. Which implies it is not optional with containers from the same vendor. Could you please help me to clarify this. Thanks Best regards Klaus Rothert
|
|
Bill Shannon
Yes, transaction propagation is required, but interoperability of
transaction propagation between vendors is unspecified.
toggle quoted messageShow quoted text
klaus.rothert@... wrote on
08/10/2018 05:30 AM:
Hello,
|
|
klaus.rothert@...
Thanks for the clarification Bill.
How can IBM Liberty be listed as a Java EE 7 and 8 Full Platform Compatible Implementation if it does not support transaction propagation in EJB remoting at all? Is that not tested in some kind of compatibilty test? Shouldn't Liberty be removed from that list? Best Regards Klaus
|
|
Hi Klaus,
In section E.4.2.1.1 Transaction Requirements, there is the following statement. Liberty fully supports this "local" transaction propagation. Note that this transaction propagation requirement applies only to invocations
of enterprise beans in the same Java EE product instance[1] as the invoking
component. Invocations of enterprise beans in another Java EE product
instance (for example, using the EJB interoperability protocol) need not prop-
agate the transaction context. See the EJB specification for details.
|
|
Hi Klaus,
I can’t comment about this issue, but full 100% absolutely compatibility with the Java EE specs is rare. The CTS/TCK supposedly contains a LOT of tests, but there’s always things slipping through, or are silently accepted. JEUS for instance is listed as EE 7 compatible, which means it should implement JASPIC, but it doesn’t. EE implementations should also by default use JACC for authorisation, but a couple just don’t. Every EE implementation must ship with a default JACC provider, but one doesn’t and magically is still certified.
|
|
Bill Shannon
Yes, sorry, Kevin is right.
toggle quoted messageShow quoted text
Transaction propagation is only required within a single product instance, which (depending on the architecture of the product) might involve multiple processes (e.g., a cluster). Transaction propagation between two separate installations of the same vendor's product is not required. What's the exact situation where you were expecting transaction propagation to work? Kevin Sutter wrote on 08/16/2018 01:28
PM:
Hi Klaus,
|
|