Sybase

Features > Persistence > JDBC Support > Sybase

Sybase

A dataSource targetting a Sybase ASE database can be configured as follows:

`Sybase Datasource**

<!\-\- using jConnect --> <!\-\- using JTDS --> <!\-\- --> <!\-\- --> <!\-\- and so on with pool config -->

When working on a given Sybase ASE database, each operation (e.g. statement execution) is appended to the transaction log. This log grows over time, and space has to be freed in order to let the server keep running. ASE is able to free space up to the oldest opened transaction; that is, if you keep a transaction open for too long, the transaction log only grows - until the allocated space is full and the database goes down. So when using the Master-Slave feature of ActiveMQ with a database lock on table ACTIVEMQ_LOCK a synchronization monitor (see http://activemq.apache.orgFeatures/Clustering/MasterSlaveFeatures/Clustering/MasterSlave/Features/Clustering/MasterSlave/jdbc-master-slave.md), you have to be careful. If you use only one dataSource, hence only one database, then the lock mechanism shall keep a transaction indefinitely open, and while messages are persisted the transaction log shall grow until you run out of space. It is therefore strongly advised to use a dedicated database for this lock: just define another dataSource targeting a minimal database holding no data (only the ACTIVEMQ_LOCK table) and use it as a lockDataSource in your configuration.

Example:

Apache ActiveMQ, ActiveMQ, ActiveMQ Artemis, Apache, the Apache feather logo, and the Apache ActiveMQ project logo are trademarks of The Apache Software Foundation. Copyright © 2019, The Apache Software Foundation. Licensed under Apache License 2.0.