XA Transaction support in Coherence CE - caching

We have been using XA transactions in Coherence Enterprise Edition. But for the Coherence Community edition (Coherence CE), we don't see a document regarding XA transaction support. Does Coherence CE support XA transactions?

No, Coherence CE doesn't support transactions.
Please see the following: https://coherence.community/latest/22.06/docs/#/docs/about/02_introduction
Also: https://github.com/oracle/coherence#documentation (table comparison)

Related

Should I use Oracle's UCP or HikariCP for a modern application?

Which one should I use for a modern backend Java application using Oracle OLTP database as a datasource?
To me HikariCP looks like a de-facto standard pool for a modern Java application. But now I need to maintain some project from the past, which is currently stuck at Oracle drivers v11 and using UCP. I am wondering now: does Oracle's UCP have any advantages over HikariCP? Would you use UCP or HikariCP?
Fresh Spring Boot project generated at start.spring.io will use HikariCP by default (Even though since 2.4 there is a support for UPC), until you explicitly enforce UCP in application.properties:
spring.datasource.type=oracle.ucp.jdbc.PoolDataSource
The Spring Boot docs say:
1. We prefer HikariCP for its performance and concurrency. If HikariCP is available, we always choose it.
...
4. If none of HikariCP, Tomcat, and DBCP2 are available and if Oracle UCP is available, we use it.
The Oracle website contains tutorials (1, 2) on how to use UCP with Spring Boot, but not explaining any advantages of such setup. I found an old StackOverflow answer mentioning some "non-blocking architecture", but I am still not sure if it makes UCP more valuable or reliable than HikariCP.
The Oracle UCP pool has a lot more features than HikariCP: "labelling" allows you to label special connections for later reuse, "request boundaries" is a new standard in JDK9 that provides a hint to the driver when a connection is borrowed or released into the pool, diagnostics and observability MBean and a bunch of integrated features that are specific to the Oracle Database such as Application Continuity, RAC Failover, Sharding, etc.
UCP also performs really well. It undergoes performance evaluation on a regular basis and, because of its non-blocking infrastructure, can maintain a very large number of connections being shared by 1000s of threads.
Note that UCP has a very large community of users among the Oracle Database users in the cloud and on-prem.

How to read from IBM MQ with .NET5

We have a lot of business logic in .NET 4.0 which reads a message from an IBM MQ, does some processing, and writes to the database all in one transaction (coordinated by MSDTC). Is there some way to do this in .NET 5? As far as I know, .NET 5 does not support distributed transactions.

Reactive jdbc driver support for Oracle database

Is there any reactive jdbc driver support for Oracle database compatible with spring boot 2 version? I want to use it in production environment.
The upcoming DB 20c release of the Oracle JDBC drivers has the built-in extensions.
We are working on Reactive extensions for the Oracle JDBC driver that uses java.util.concurrent.Flow and Reactive streams. However, this is available in our next release.
The Reactive extensions to the Oracle JDBC driver will work with all Reactive Streams libraries including Reactor, RxJava, Akka Streams and others.

Why XA only in Bindings mode?

This article indicates that if MQ has to be used as a Transaction Manager, the application has to compulsorily use Bindings mode.
http://www.ibm.com/developerworks/websphere/library/techarticles/0601_ritchie/0601_ritchie.html
Bindings mode also means that the MQ Server and the application both have to be on the same host because it uses JNI.
My question is, what is the fundamental reason behind this requirement? Why can't MQ Manager work like JBOSS which can reside on any host and take requests for managing distributed transactions?
What prevents WMQ from supporting client connection for distributed transactions?
Thanks,
Yash
That article is very old, it was from 2006, for a long time now MQ clients that are located remote from a queue manager have been able to use XA transactions.
MQ supports XA with JMS when using a supported transaction manager within a JEE container
http://www.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.dev.doc/q032590_.htm?lang=en

Oracle RAC , Do I need XA driver?

I have Oracle 11g, configured to use Real Application Cluster (RAC) and storage.
I thought XA is for 2PC transactions , for multiple data sources/managers.
Thanks.
In theory you wouldn't have to use any different driver for Oracle RAC, because it should resolve clustering and scaling behind the scenes.
You need XA transactions when you have several different data sources which should be used under one transaction.
Do you experience any issues when using non-XA driver with Oracle RAC?

Resources