Solutions

MarkLogic Data Hub Service

Fast data integration + improved data governance and security, with no infrastructure to buy or manage.

Learn More

Learn

Stay On Top Of Everything MarkLogic

Be the first to know! News, product information, and events delivered straight to your inbox.

Sign Me Up

Community

Stay On Top Of Everything MarkLogic

Be the first to know! News, product information, and events delivered straight to your inbox.

Sign Me Up

Company

Stay On Top Of Everything MarkLogic

Be the first to know! News, product information, and events delivered straight to your inbox.

Sign Me Up

 
Knowledgebase:
What does the XDBC session timeout do, and how does it work?
27 October 2015 05:10 PM

Introduction

The session timeout in the XDBC Admin UI page controls the timeout of the server session object. This is different from the XCC client session object. The XCC client session object does not close itself based on a timeout.

Details

Every time a request comes into an XDBC application server, the counter on its associated server session timeout is reset. For example, given a 60 second server session timeout, that 60 second counter is reset when a second request is received, regardless of how long an XCC client thread might sleep.

Multi-Statement Transactions

However, if the XCC client code were to instead use multi-statement transactions, then you'd see the following error:

SEVERE [1] (SessionImpl.throwIllegalState): Cannot commit without an active transaction

Multi-statement transaction client code needs to specifically include a call to Session.setTransactionMode at the beginning, and a call to Session.commit at the end. When using multi-statement transactions, if the client thread's sleep duration is set to be less than the XDBC application server session timeout, then that request should complete without error.

(0 vote(s))
Helpful
Not helpful

Comments (0)