LibraryLink ToToggle FramesPrintFeedback

Customizing the JDBC Persistence Adapter

ActiveMQ provides options to customize the interaction between the JDBC persistence adapter and the underlying database. In some cases you might be able to use these customization options to integrate the JDBC persistence adapter with an unsupported database.

You can customize the SQL statements that the JDBC persistence adapter uses to access the database. This is done by adding a statements element to the JDBC persistence adapter configuration. Example 3.5 shows a configuration snippet that specifies that long strings are going to be stored as VARCHAR(128).


The first statements element is a wrapper for one or more nested statements elements. Each nested statements element specifies a single configuration statement. Table 3.3 describes the configurable properties.


The properties listed in Table 3.3 configure the default SQL statements used by the JDBC adapter and work with all of the supported databases.

If you need to override the default statements to work with an unsupported database, there are a number of other properties that can be set. These include:

To use a JDBC provider not natively supported by ActiveMQ, you can typically configure the JDBC persistence adapter to work, by setting the persistence adapter's adapter attribute to one of the following values:

  • org.activemq.store.jdbc.adapter.BlobJDBCAdapter

  • org.activemq.store.jdbc.adapter.BytesJDBCAdapter

  • org.activemq.store.jdbc.adapter.DefaultJDBCAdapter

  • org.activemq.store.jdbc.adapter.ImageJDBCAdapter

The different settings change how the JDBC adapter stores and accesses BLOB fields in the database. To determine the proper setting, consult the documentation for your JDBC driver and your database.

Example 3.6 shows a configuration snippet configuring the journaled JDBC persistence adapter to use the blob JDBC adapter.