Revert the Oracle jdbc adapter to a variant of the default jdbc adapter in 
place of the one supporting blobs
------------------------------------------------------------------------------------------------------------

                 Key: AMQ-3611
                 URL: https://issues.apache.org/jira/browse/AMQ-3611
             Project: ActiveMQ
          Issue Type: Improvement
          Components: Message Store
    Affects Versions: 5.5.0
            Reporter: Gary Tully
            Assignee: Gary Tully
             Fix For: 5.6.0


The blob support does non atomic updates on a message add and is a little 
inefficient due to the need to insert and update the blob. With the latest 
ojdbc6.jar oracle drivers, blobs can  be used under the hood so the default 
jdbc adapter can work with oracle.
Currently the following configuration will achieve this:
{code}<persistenceAdapter>
            <jdbcPersistenceAdapter dataSource="#oracle-ds">
                <adapter>
                   <defaultJDBCAdapter>
                     <statements>
                       <statements longDataType="NUMBER" 
sequenceDataType="NUMBER" />
                      </statements>
                   </defaultJDBCAdapter>
                 </adapter>
            </jdbcPersistenceAdapter>
        </persistenceAdapter>
{code} where oracle-ds is a bean:{code}<bean id="oracle-ds" 
class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
     <property name="driverClassName" value="oracle.jdbc.OracleDriver" />
     <property name="url" value="jdbc:oracle:thin:@localhost:1521:amq" />
     <property name="username" value="user" />
     <property name="password" value="pass" />
     </bean>{code}

This enhancement will make the Oracle adapter behave like this by default such 
that the following configuration will work{code}<jdbcPersistenceAdapter 
dataSource="#oracle-ds" />{code} and will not manipulate blobs directly.
If blob support is necessary for backward compatibility for earlier drivers the 
blob adapter can be specified using the {{adapter}} 
element:{code}<persistenceAdapter>
            <jdbcPersistenceAdapter dataSource="#oracle-ds">
                <adapter>
                   <oracleBlobJDBCAdapter />
                 </adapter>
            </jdbcPersistenceAdapter>
        </persistenceAdapter>{code}


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to