[
https://issues.apache.org/jira/browse/AMQ-4581?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Timothy Bish resolved AMQ-4581.
-------------------------------
Resolution: Fixed
fixed on trunk
> JDBCPersistenceAdapter can ignore statements settings depending on
> configuration order.
> ---------------------------------------------------------------------------------------
>
> Key: AMQ-4581
> URL: https://issues.apache.org/jira/browse/AMQ-4581
> Project: ActiveMQ
> Issue Type: Bug
> Components: Message Store
> Affects Versions: 5.8.0
> Reporter: Timothy Bish
> Assignee: Timothy Bish
> Fix For: 5.9.0
>
>
> When a jdbcPersistenceAdapter is configured using the "adapter" attribute (as
> below), the tablePrefix specified in the statements element is ignored during
> table creation.
> {code}
> <jdbcPersistenceAdapter createTablesOnStartup="true" dataSource="#mysql-ds"
> adapter="#sybase-adapter" useDatabaseLock="true">
> <statements>
> <statements tablePrefix="myprefix_"/>
> </statements>
> </jdbcPersistenceAdapter>
> .....
> <bean id="sybase-adapter"
> class="org.apache.activemq.store.jdbc.adapter.SybaseJDBCAdapter"/>
> {code}
> It seems spring is calling the
> org.apache.activemq.store.jdbc.JDBCPersistenceAdapter.setAdapter() method
> before org.apache.activemq.store.jdbc.JDBCPersistenceAdapter.setStatements()
> is called. The setAdapter() triggers the table creation - hence no
> *tablePrefix" is used.
> This problems can be worked around if the adapter is configured as an element
> (as below) however this isn't the most ideal fix.
> {code}
> <persistenceAdapter>
> <jdbcPersistenceAdapter>
> <statements>
> <statements tablePrefix="myprefix_"/>
> </statements>
> <adapter>
> <sybase-jdbc-adapter/>
> </adapter>
> </jdbcPersistenceAdapter>
> </persistenceAdapter>
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira