Как внедрить параметр searchPath с помощью Liquibase CDIJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как внедрить параметр searchPath с помощью Liquibase CDI

Сообщение Anonymous »

Я пытаюсь внедрить параметр searchPath при использовании Liquibase CDI, но ни один из моих подходов, приведенных ниже, похоже, не работает. По независящим от меня обстоятельствам это единственный способ изменить настройки жидкой базы.
// LiquibaseProducer.java

package de.XXXX.XXXX.liquibase;

import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;

import javax.annotation.Resource;
import javax.enterprise.context.Dependent;
import javax.enterprise.inject.Produces;
import javax.sql.DataSource;

import liquibase.integration.cdi.CDILiquibaseConfig;
import liquibase.integration.cdi.annotations.LiquibaseType;
import liquibase.resource.ClassLoaderResourceAccessor;
import liquibase.resource.ResourceAccessor;

/**
* CDI Producer to configure the CDI Liquibase integration.
*/
@Dependent
public class LiquibaseProducer {

/** Used liquibase author. */
public static final String LIQUIBASE_AUTHOR = "liquibase-auto";

/** Datasource. */
@Resource(mappedName = "XXXXXXXXX", name = "XXXXXX", type = DataSource.class)
private DataSource dataSource;

/** Creating the liquibase configuration. */
@SuppressWarnings("static-method")
@Produces
@LiquibaseType
public CDILiquibaseConfig createConfig() {
CDILiquibaseConfig tConfig = new CDILiquibaseConfig();

Map tempMap = new HashMap();
tempMap.put("searchPath", "./testpath");
tempMap.put("search-path", "./testpaaaath/");
tempMap.put("search-path", "LIQUIBASE_SEARCH_PATH=./testingpath");
tempMap.put("liquibase.searchPath", "./testpathxyyz");
tConfig.setParameters(tempMap);
tConfig.setChangeLog("db/changelog/init.xml");
return tConfig;
}

/** Creating the Datasource. */
@Produces
@LiquibaseType
public DataSource createDataSource() throws SQLException {
return dataSource;
}

/** Creating the ResourceAccessor. */
@Produces
@LiquibaseType
public ResourceAccessor create() {
return new ClassLoaderResourceAccessor(getClass().getClassLoader());
}

}


Подробнее здесь: https://stackoverflow.com/questions/791 ... uibase-cdi
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»