@Configuration(value = “dataSourceConfig”)
public class DataSourceConfig {
@Value(“${ds.dbuser}”)
private String dbUserName;
@Value(“${ds.dbpass}”)
private String dbPassword;
@Value(“${ds.dburl}”)
private String dbUrl;
@Value(“${ds.dbtype}”)
private String dbType;
@Bean(name = “dataSource”)
public DataSource dataSource() {
SimpleDriverDataSource dataSource = new SimpleDriverDataSource();
try {
if (dbType.equals(“MYSQL”)) {
dataSource.setDriver(com.mysql.jdbc.Driver.class.newInstance());
} else if(dbType.equals(“H2”)){
dataSource.setDriver(org.h2.Driver.class.newInstance());
}
dataSource.setUrl(dbUrl);
dataSource.setUsername(dbUserName);
dataSource.setPassword(dbPassword);
} catch (InstantiationException | IllegalAccessException e) {
LOGGER.info("Exception: {} ", e);
}
return dataSource;
}
@Bean(name = “transactionManager”)
public DataSourceTransactionManager transactionManager() {
return new DataSourceTransactionManager(dataSource());
}
}
Note: Leave the password field as empty
JVM ARGS:
-Dds.dbtype=H2 -Dds.dbuser=root -Dds.dbpass=
-D ds.dburl =“jdbc:h2:file:~/usr/target/db/camundadb;DB_CLOSE_ON_EXIT=FALSE;DB_CLOSE_DELAY=-1;”