Class RuntimeRoutingDataSource<T>

  • All Implemented Interfaces:
    java.sql.Wrapper, javax.sql.CommonDataSource, javax.sql.DataSource
    Direct Known Subclasses:
    JndiRoutingDataSource

    public abstract class RuntimeRoutingDataSource<T>
    extends org.springframework.jdbc.datasource.AbstractDataSource
    Динамический источник данных с маршрутизатором. Основано на AbstractRoutingDataSource
    • Field Summary

      • Fields inherited from class org.springframework.jdbc.datasource.AbstractDataSource

        logger
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void addDataSource​(T lookupKey, java.lang.Object dataSource)  
      protected abstract T determineCurrentLookupKey()  
      protected javax.sql.DataSource determineTargetDataSource()  
      java.sql.Connection getConnection()  
      java.sql.Connection getConnection​(java.lang.String username, java.lang.String password)  
      protected abstract javax.sql.DataSource resolveDataSourceByLookupKey​(T lookupKey)  
      protected javax.sql.DataSource resolveSpecifiedDataSource​(java.lang.Object dataSource)  
      void setDataSourceLookup​(org.springframework.jdbc.datasource.lookup.DataSourceLookup dataSourceLookup)  
      void setDefaultLookupKey​(T defaultLookupKey)  
      void setDefaultTargetDataSource​(javax.sql.DataSource defaultTargetDataSource)  
      void setLazyDetermineDS​(boolean lazyDetermineDS)  
      • Methods inherited from class org.springframework.jdbc.datasource.AbstractDataSource

        getLoginTimeout, getLogWriter, getParentLogger, isWrapperFor, setLoginTimeout, setLogWriter, unwrap
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface javax.sql.CommonDataSource

        createShardingKeyBuilder
      • Methods inherited from interface javax.sql.DataSource

        createConnectionBuilder
    • Constructor Detail

      • RuntimeRoutingDataSource

        public RuntimeRoutingDataSource()
    • Method Detail

      • setDefaultTargetDataSource

        public void setDefaultTargetDataSource​(javax.sql.DataSource defaultTargetDataSource)
      • setDefaultLookupKey

        public void setDefaultLookupKey​(T defaultLookupKey)
      • setLazyDetermineDS

        public void setLazyDetermineDS​(boolean lazyDetermineDS)
      • setDataSourceLookup

        public void setDataSourceLookup​(org.springframework.jdbc.datasource.lookup.DataSourceLookup dataSourceLookup)
      • addDataSource

        public void addDataSource​(T lookupKey,
                                  java.lang.Object dataSource)
      • resolveSpecifiedDataSource

        protected javax.sql.DataSource resolveSpecifiedDataSource​(java.lang.Object dataSource)
                                                           throws java.lang.IllegalArgumentException
        Throws:
        java.lang.IllegalArgumentException
      • getConnection

        public java.sql.Connection getConnection()
                                          throws java.sql.SQLException
        Throws:
        java.sql.SQLException
      • getConnection

        public java.sql.Connection getConnection​(java.lang.String username,
                                                 java.lang.String password)
                                          throws java.sql.SQLException
        Throws:
        java.sql.SQLException
      • determineTargetDataSource

        protected javax.sql.DataSource determineTargetDataSource()
      • determineCurrentLookupKey

        protected abstract T determineCurrentLookupKey()
      • resolveDataSourceByLookupKey

        protected abstract javax.sql.DataSource resolveDataSourceByLookupKey​(T lookupKey)