Event-driven applications thrive on the ability to reliably process, persist, and react to data streams. Whether you are building microservices, interactive applications, or dynamic database services, consistency and resiliency in transaction management remain non-negotiable. This is where sessionless transactions, exposed through REST APIs, bring new power to Oracle Transactional Event Queues (TxEventQ).

Traditionally, managing distributed transactions has required external transaction managers or tightly coupled sessions between applications and databases. This approach can be brittle, difficult to scale, and prone to failures when connections drop. Sessionless transactions solve this problem by allowing you to start, suspend, and resume transactions across REST sessions. That means fault tolerance, because you don’t need to restart a transaction if a session fails—simply resume it; scalability, because transactions can span multiple connections without requiring heavyweight external coordination; simplicity, because applications can control transaction flow using straightforward REST calls; and performance, because reduced dependency on external managers improves throughput. In practice, sessionless transactions give developers a lightweight yet robust way to manage multi-step operations that involve both data persistence (DML) and event streaming (TxEventQ).

The use cases are broad: microservices orchestration where events and database state must remain consistent; interactive applications that support long-running user sessions that may disconnect and reconnect without losing transaction state; and resilient integrations that enable fault-tolerant messaging pipelines without external transaction managers.

Using Oracle REST Data Services (ORDS), developers can define RESTful endpoints that start or resume transactions, perform database operations, and either commit or roll back—all controlled by a GTRID (global transaction identifier).

REST APIs introduced in ORDS Release 25.3 are:
• Start Sessionless TXN
• Rollback Sessionless TXN
• Commit Sessionless TXN
• Invoke a Service in Sessionless TXN

This stateless REST interface makes it possible to multiplex transactions across connections while maintaining ACID guarantees.

Now imagine combining sessionless transactions with TxEventQ, Oracle’s high-performance event streaming platform. You can create topics, subscribe consumers, enqueue messages, and process them—all within sessionless transactions. A typical flow might look like this:

Create a topic and subscriber with
POST /ords/$USER/_/db-api/stable/database/txeventq/clusters/$DBNAME/topics --data-binary '{"topic_name": "shq1","partitions_count": "10"}'

POST /ords/$USER/_/db-api/stable/database/txeventq/clusters/$DBNAME/consumer-groups/SUB1 --data-binary '{"topic_name": "SHQ1"}'

Start Sessionless TXN
POST /ords/<schema>/_/db-api/stable/database/sessionless-transactions/

The above API starts a sessionless transaction with the given timeout value and returns a GTRID in the response.

HTTP Status 200 OK
{"sessionless-transaction-id": "41528532-4d51-4330-a737-612edfb293ab"}

Send messages in a sessionless transaction to a topic

The API below resumes the already started sessionless transaction and sends messages to a TxEventQ topic.

POST ords/<schema>/_/db-api/stable/database/txeventq/topics/<Topic>?x-ords-sessionless-transaction-id=41528532-4d51-4330-a737-612edfb293ab
--header 'Content-Type: application/json' --data-binary '{"records":[{"key":99,"value":9999}]}'

Insert related data into a table in the same transaction:

POST /ords/db/tab1?x-ords-sessionless-transaction-id=41528532-4d51-4330-a737-612edfb293ab
{
"employee_name": "Will DeSouza",
"employee_id": 2260
}

Commit Sessionless TXN

The API below commits the sessionless transaction, after which it cannot be resumed.

PUT /ords/<schema>/_/db-api/stable/database/sessionless-transactions/41528532-4d51-4330-a737-612edfb293ab

Response:
HTTP Status 200 OK

Rollback Sessionless transaction

The API below rolls back the sessionless transaction if it has not already been committed.

DELETE
/ords/<schema>/_/db-api/stable/database/sessionless-transactions/41528532-4d51-4330-a737-612edfb293ab

Response:
HTTP Status 204 No Content

This workflow ensures that messages in the queue and rows in the table are always in sync. If something goes wrong, a rollback ensures no partial state leaks into your system.

To try this yourself, you’ll need Oracle Database 23.7+ and ORDS 25.1+. From there, you can define REST endpoints using the provided PL/SQL procedures, create test cases with curl, and run them either locally or against an Autonomous Database instance.

By marrying sessionless transactions with REST APIs and TxEventQ, Oracle delivers a unique combination of simplicity, resilience, and power for building event-driven applications. Developers gain the confidence that their messages, data, and business processes move together—atomically and reliably—even in the face of connection failures or distributed complexity. The result is event streaming that doesn’t just move fast, but moves safely.

Oracle Transactional Event Queue (TxEventQ) is a built-in feature of Oracle Database 26ai , Oracle’s AI-powered database.

Learn more at : https://www.oracle.com/database/advanced-queuing/

Explore Oracle TxEventQ hands-on in our Oracle LiveLab: https://livelabs.oracle.com/pls/apex/dbpm/r/livelabs/view-workshop?wid=1016

Here are some additional resources that will help you get started and build your event streaming platform using Oracle TxEventQ:

If you want to reach us, please contact support: https://support.oracle.com/ (Product – Oracle Database – Enterprise Edition, Problem Type>Information Integration>Advanced Queuing. (mention TxEventQ in the description.