java的ldap配置文件_java - 如何将LDAP .xml配置文件转换为.java配置文件? - 堆栈内存溢出...

我的任务是转换Flowable LDAP库的xml配置文件,并将其添加到已经存在的Java配置中,以用于其他所有正在使用的配置文件。

我没有看到xml在转换成Java时如何适应已经存在的Java代码。 我看过的所有示例似乎都是使用Spring LDAP来做的,这有点不同。

流动配置:

...

Java Engine配置文件

@Configuration

@EnableTransactionManagement

@ComponentScan(basePackages = Array("com.name.product.engine.services"))

class FlowableEngineConfig {

@Bean

def processEngineConfiguration(env: Environment, dataSource: DataSource, transactionManager: PlatformTransactionManager, applicationContext: ApplicationContext): ProcessEngineConfiguration = {

val updateSchema = env.getProperty("conduct.engine.database.updateSchema", "true").trim.toLowerCase match {

case "update" | "true" =>

AbstractEngineConfiguration.DB_SCHEMA_UPDATE_TRUE

case "none" =>

null

case x =>

AbstractEngineConfiguration.DB_SCHEMA_UPDATE_FALSE

}

val engineConfig = new SpringProcessEngineConfiguration()

engineConfig.setDataSource(dataSource)

engineConfig.setTransactionManager(transactionManager)

engineConfig.setTransactionsExternallyManaged(true)

engineConfig.setDatabaseSchemaUpdate(updateSchema)

engineConfig.setAsyncExecutorActivate(true)

engineConfig.setAsyncExecutor(asyncExecutor())

engineConfig.setHistoryLevel(HistoryLevel.FULL)

// engineConfig.setCustomFormTypes(Seq[org.flowable.engine.form.AbstractFormType](

// ISODateFormType

// ).asJava)

engineConfig.setExpressionManager(new SpringExpressionManager(applicationContext, null))

engineConfig.setBeans(new SpringBeanFactoryProxyMap(applicationContext))

// Enable safe XML. See http://www.flowable.org/docs/userguide/index.html#advanced.safe.bpmn.xml

engineConfig.setEnableSafeBpmnXml(true)

engineConfig.setProcessDefinitionCacheLimit(128)

//engineConfig.setDisableIdmEngine(true)

engineConfig.addConfigurator(new SpringFormEngineConfigurator())

engineConfig.addConfigurator(new SpringDmnEngineConfigurator())

engineConfig

}

@Bean

def processEngine(engineConfig: ProcessEngineConfiguration): ProcessEngine = {

engineConfig.buildProcessEngine()

}

@Bean

def clock(engineConfig: ProcessEngineConfiguration): Clock = {

engineConfig.getClock

}

@Bean

def asyncExecutor(): AsyncExecutor = {

val asyncExecutor = new DefaultAsyncJobExecutor()

asyncExecutor.setDefaultAsyncJobAcquireWaitTimeInMillis(5000)

asyncExecutor.setDefaultTimerJobAcquireWaitTimeInMillis(5000)

asyncExecutor

}

@Bean

def dataSource(env: Environment): DataSource = {

val hconf = new HikariConfig()

env.getRequiredProperty("conductor.engine.database.platform").trim.toLowerCase() match {

case "postgresql" =>

hconf.setDataSourceClassName("org.postgresql.ds.PGSimpleDataSource")

hconf.addDataSourceProperty("serverName", env.getRequiredProperty("conduct.engine.database.hostname"))

hconf.addDataSourceProperty("portNumber", env.getRequiredProperty("conduct.engine.database.port", classOf[Int]))

hconf.addDataSourceProperty("databaseName", env.getRequiredProperty("conduct.engine.database.name"))

hconf.addDataSourceProperty("applicationName", "conduct")

case "h2" =>

hconf.setDataSourceClassName("org.h2.jdbcx.JdbcDataSource")

val dbName = env.getRequiredProperty("conduct.engine.database.name")

hconf.addDataSourceProperty("URL", s"jdbc:h2:file:./$dbName")

case "h2mem" =>

hconf.setDataSourceClassName("org.h2.jdbcx.JdbcDataSource")

val dbName = env.getRequiredProperty("conduct.engine.database.name")

hconf.addDataSourceProperty("URL", s"jdbc:h2:mem:$dbName")

case x =>

throw new RuntimeException(s"Unknown database platform $x")

}

hconf.setUsername(env.getRequiredProperty("conduct.engine.database.username"))

hconf.setPassword(env.getRequiredProperty("conduct.engine.database.password"))

hconf.setMinimumIdle(env.getRequiredProperty("conduct.engine.database.minConnections", classOf[Int]))

hconf.setMaximumPoolSize(env.getRequiredProperty("conduct.engine.database.maxConnections", classOf[Int]))

hconf.setInitializationFailFast(env.getRequiredProperty("conduct.engine.database.initializationFailFast", classOf[Boolean]))

hconf.setTransactionIsolation("TRANSACTION_READ_COMMITTED")

new HikariDataSource(hconf)

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值