You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Timothy Bish (JIRA)" <ji...@apache.org> on 2013/06/12 16:19:21 UTC

[jira] [Resolved] (AMQ-4581) JDBCPersistenceAdapter can ignore statements settings depending on configuration order.

     [ 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