Announcement Announcement Module
No announcement yet.
The SpringSource Advanced Pack for Oracle Database Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • The SpringSource Advanced Pack for Oracle Database

    SpringSource announced Spring Integration and several other offerings at the The Spring Experience conference in Hollywood, Fla. One of such things is the SpringSource Advanced Pack for Oracle Database, which works in conjunction with Oracle RAC (Real Application Clusters), was also announced. Advanced Pack for Oracle will resubmit Spring application requests in the event a database node goes down.

    The TAF (Transparent Application Failover) capability within the Oracle database when used with oci driver will transparently fail over the transaction requests to the other database node configured in tnsnames.ora file without losing anything.

    What additional capability that Advanced Pack for Oracle Database provides in addition to what Oracle's TAF already provide? Why does the tool resubmit application requests in the event a database node goes down if the application can benefit from TAF.

    Could someone elaborate the capabilities of SpringSource Advanced Pack for Oracle Database?

  • #2
    We are supporting connection failover but not TAF. We have support for Fast Connection Failover (FCF) which works with both the oci driver and the thin driver.

    We are just about ready with release M1 to go into beta testing. If you are interested in participating send me a private message and I'll add you to the beta invitation list.

    The features covered for the milestone releases are the following:


    * An “orcl” namespace providing simplified configuration
    The OracleDataSource provides connection pooling and RAC failover support. The new namespace makes configuration much easier.

    * RAC "Fast Connection Failover"
    The RAC "Fast Connection Failover" provides the ability to have a Spring application transparently failover when a database node fails.

    * Advanced Data Types
    Custom classes, examples and documentation on how to use Oracle JDBC extensions for their advanced data types like STRUCT and ARRAY.

    * Custom DataSource Connection Preparer
    This feature provides an API for customizing the connection environment with Oracle specific session settings etc.


    * Streams AQ (Advanced Queueing)
    The AQ support provides the option of using a single local transaction manager for both database and message queue access without resorting to expensive distributed 2-phase commit transaction management.

    * XML Types
    Custom classes, examples and documentation on how to use Oracle JDBC extensions for their native XML Type.


    • #3
      Will this new pack provide any support for Oracle Proxy Connections via the Data Source?
      Regardless, would be very interested in early view of Beta.



      • #4

        I've thought about it but haven't had the time yet to really design the best solution here. If you participate in the beta you will be able to suggest features to be added.


        • #5
          Definately would like to participate in the beta!
          We have implemented a solution (based on Toplink, JDBC and Spring docs/Forum entries) where we add a pre login event listerener to toplink the sets up the connector to be OracleJDBC10_1_0_2ProxyConnector.
          We then override the createManagedSession in ServerSessionFactory to add the proxy properties to a connection policy and use this to aquire the writeable client session.
          There is then a preReleaseClientSession Toplink event listener, that calls the OracleConnection.close(proxy) method when the client session has a proxied write connection.
          This works, but I would prefer to be more secure in the knowledge that this was a more standard and supported option within both Spring and Toplink.
          Let me know if there is anything I can do to help.


          • #6
            Advanced Queueing and 2-phase commit question

            I'm evaluating the SpringSource Advanced Pack for Oracle Database, especially the Advanced Queueing support. The prediction to get rid of the XA transaction management sounds promising.

            Debugging the commit phase plus transaction synchronization in the DataSourceTransactionManager I recognized, that the AQ-connection doesn't use the same JDBC-connection as my JdbcTemplate for instance. This fact is quite obvious; using the same datasource doesn't lead inevitably to the same JDBC-connection.

            Did I get something wrong, but not using the same JDBC-connection in commit is not as safe as a 2-phase commit, isn't it? How can it be achieved, that they are using the same underlying connection to the database?


            • #7
              What version did you use? The latest 1.0.2 version has some refinements in this area.

              Also, you need to explicitly configure the connection/transaction sharing for your connection factory:

              <orcl:aq-jms-connection-factory id="connectionFactory" 


              • #8

                thank you for your quick response.

                I use version 1.0.0. It's the only version currently provided for evaluation under

                Im sure, the new version would help ;-)



                • #9
                  I've asked our sysadmins to switch the download link to the 1.0.2 release - I'll let you know when that's done.


                  • #10
                    The download link should point to the 1.0.2 release now.


                    • #11
                      Proxy User Questions


                      I'm re-reviewing our proxy user usage (looking to move to Spring 3.0 and EclipseLink from 2.5 and Toplink) in preparation for a future product release.

                      We currently authenticate using password through the proxy, but I note that 1.0.2 still only supports authentication with no password:

                      "We are currently only supporting proxy authentication using user name with no password
                      authentication for the user connecting through the proxy. Support for other types of proxy
                      connections will be provided in future releases."

                      Can you advise when / if other authentication options will be provided, and also if the proxy connection is used only for write transactions. I assume that this is the case (i.e. a Unit Of Work uses the proxy but read operations just return to the connection pool).

                      I have implemented proxy connection usage but for a variety of reasons we use this for both read and write operations (in effect we create a unit of work for all transactions).

                      Will this be supported in future?

                      Marc Ludwig


                      • #12

                        Unit test turns to green with new version.
                        Thank you a lot, Thomas.



                        • #13
                          Sorry to bump this old thread, but is this project still alive? Is there a project page I'm missing?