I’m trying to implement a service which checks all my database connections to be sure everything is up and running. To achive this I use the different JDBC-adapters we have installed and fire a ‘select sysdate from dual’ (Oracle) of ‘select getdate()’ (SQL-server) statement to the database. The results are passed to the main-flow service.

The main flow looks like:


  • CheckDatabase1 (Oracle)

  • CheckDatabase2 (Oracle)

  • CheckDatabase3 (SQL-server)

  • CheckDatabase4 (Oracle)

  • CheckDatabase5 (SQL-server)

  • CheckDatabase6 (SQL-server)


  • If anything fails raise error


Each CheckDatabase flow is like:

select sysdate from dual

map result into variable db_Timestamp

clear pipeline except db_Timestamp

If I step through this flow in developer it works exactly as expected. Also running a trace gives the same result.

But… if I run this service I get the following error: [ART.117.4036] Adapter Runtime (Adapter Service): Unable to rollback transaction. Transaction state:Transaction is rolled back

I read things about using transactions, but this gives the same results on running the main-flow.

Anybody some good idea how to solve this?




problem has been solved.

All database connection with local_transaction are now between ‘StartTransaction’ and ÇommitTransaction’ service.

I don’t know why this didn’t worked the first time, maybe I made some mistake.



have a question for you…

you are using jdbc adapter?
any specific reason to test all the connections in one service itself?