Class MultiTenantSpringLiquibase

java.lang.Object
liquibase.integration.spring.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:
  • Constructor Details

    • MultiTenantSpringLiquibase

      public MultiTenantSpringLiquibase()
  • Method Details

    • afterPropertiesSet

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

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

      @Deprecated 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