Class MultiTenantSpringLiquibase

  • All Implemented Interfaces:
    org.springframework.beans.factory.Aware, org.springframework.beans.factory.InitializingBean, org.springframework.context.ResourceLoaderAware

    public class MultiTenantSpringLiquibase
    extends Object
    implements org.springframework.beans.factory.InitializingBean, org.springframework.context.ResourceLoaderAware
    A wrapper of Liquibase suitable in multi-tenant environments where multiple data sources represent tenants. It utilizes SpringLiquibase per each data source. All the parameters are the same as for SpringLiquibase except of the data source definition - in this case it is a list of data sources available under specified JNDI subtree. You have to define the subtree with jndiBase property.

    The wrapper scans the subtree for all data sources and creates SpringLiquibase instances.

    Example:

     <bean id="liquibase" class="liquibase.integration.spring.MultiTenantSpringLiquibase">
            <property name="jndiBase" value="java:comp/env/jdbc/db" />
            <property name="changeLog" value="classpath:db/migration/db-changelog.xml" />
     </bean>
     
    See Also:
    SpringLiquibase
    • Constructor Detail

      • MultiTenantSpringLiquibase

        public MultiTenantSpringLiquibase()
    • Method Detail

      • afterPropertiesSet

        public void afterPropertiesSet()
                                throws Exception
        Specified by:
        afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
        Throws:
        Exception
      • getLabels

        public String getLabels()
        Deprecated.
        use #getLabelFilter()
      • setLabels

        public void setLabels​(String labels)
        Deprecated.
        use #setLabelFilter(String)
      • setResourceLoader

        public void setResourceLoader​(org.springframework.core.io.ResourceLoader resourceLoader)
        Specified by:
        setResourceLoader in interface org.springframework.context.ResourceLoaderAware