in src/main/java/org/apache/fineract/cn/dev/ServiceRunner.java [188:270]
public void before() throws Exception {
this.isPersistent = this.environment.containsProperty("demoserver.persistent");
this.shouldProvision = this.environment.containsProperty("demoserver.provision");
this.liteModeEnabled = this.environment.containsProperty("demoserver.lite");
this.runInDebug = this.environment.containsProperty("demoserver.runInDebug");
if (!this.isPersistent) {
// start embedded Cassandra
EmbeddedCassandraServerHelper.startEmbeddedCassandra(TimeUnit.SECONDS.toMillis(30L));
// start embedded PostgreSQL
ServiceRunner.embeddedPostgres = EmbeddedPostgres.builder().setPort(5432).start();
}
ExtraProperties generalProperties = new ExtraProperties();
generalProperties.setProperty("server.max-http-header-size", Integer.toString(16 * 1024));
generalProperties.setProperty("bonecp.partitionCount", "1");
generalProperties.setProperty("bonecp.maxConnectionsPerPartition", "4");
generalProperties.setProperty("bonecp.minConnectionsPerPartition", "1");
generalProperties.setProperty("bonecp.acquireIncrement", "1");
this.setAdditionalProperties(generalProperties);
ServiceRunner.provisionerService = new Microservice<>(Provisioner.class, "provisioner", "0.1.0-BUILD-SNAPSHOT", ServiceRunner.INTEGRATION_TEST_ENVIRONMENT);
provisionerService.getProcessEnvironment().addSystemPrivateKeyToProperties();
provisionerService.getProcessEnvironment().setProperty("system.initialclientid", ServiceRunner.CLIENT_ID);
startService(generalProperties, provisionerService);
// Creating Tenants before application startup to allow all microservices establish database connection
// to the PostgreSQL Database
if(this.shouldProvision){
createTenants();
}
ServiceRunner.identityManager = new Microservice<>(IdentityManager.class, "identity", "0.1.0-BUILD-SNAPSHOT", ServiceRunner.INTEGRATION_TEST_ENVIRONMENT)
.addProperties(new ExtraProperties() {{
setProperty("identity.token.refresh.secureCookie", "false");
}});
startService(generalProperties, identityManager);
ServiceRunner.rhythmManager = new Microservice<>(RhythmManager.class, "rhythm", "0.1.0-BUILD-SNAPSHOT", ServiceRunner.INTEGRATION_TEST_ENVIRONMENT)
.addProperties(new ExtraProperties() {{
setProperty("rhythm.beatCheckRate", Long.toString(TimeUnit.MINUTES.toMillis(10)));
setProperty("rhythm.user", SCHEDULER_USER_NAME);
}});
startService(generalProperties, rhythmManager);
ServiceRunner.organizationManager = new Microservice<>(OrganizationManager.class, "office", "0.1.0-BUILD-SNAPSHOT", ServiceRunner.INTEGRATION_TEST_ENVIRONMENT);
startService(generalProperties, organizationManager);
ServiceRunner.customerManager = new Microservice<>(CustomerManager.class, "customer", "0.1.0-BUILD-SNAPSHOT", ServiceRunner.INTEGRATION_TEST_ENVIRONMENT);
startService(generalProperties, customerManager);
if (!liteModeEnabled) {
ServiceRunner.ledgerManager = new Microservice<>(LedgerManager.class, "accounting", "0.1.0-BUILD-SNAPSHOT", ServiceRunner.INTEGRATION_TEST_ENVIRONMENT);
startService(generalProperties, ledgerManager);
ServiceRunner.portfolioManager = new Microservice<>(PortfolioManager.class, "portfolio", "0.1.0-BUILD-SNAPSHOT", ServiceRunner.INTEGRATION_TEST_ENVIRONMENT)
.addProperties(new ExtraProperties() {{
setProperty("portfolio.bookLateFeesAndInterestAsUser", SCHEDULER_USER_NAME);
}});
startService(generalProperties, portfolioManager);
ServiceRunner.depositAccountManager = new Microservice<>(DepositAccountManager.class, "deposit-account-management", "0.1.0-BUILD-SNAPSHOT", ServiceRunner.INTEGRATION_TEST_ENVIRONMENT);
startService(generalProperties, depositAccountManager);
ServiceRunner.tellerManager = new Microservice<>(TellerManager.class, "teller", "0.1.0-BUILD-SNAPSHOT", ServiceRunner.INTEGRATION_TEST_ENVIRONMENT);
startService(generalProperties, ServiceRunner.tellerManager);
ServiceRunner.reportManager = new Microservice<>(ReportManager.class, "reporting", "0.1.0-BUILD-SNAPSHOT", ServiceRunner.INTEGRATION_TEST_ENVIRONMENT);
startService(generalProperties, ServiceRunner.reportManager);
ServiceRunner.chequeManager = new Microservice<>(ChequeManager.class, "cheques", "0.1.0-BUILD-SNAPSHOT", ServiceRunner.INTEGRATION_TEST_ENVIRONMENT);
startService(generalProperties, ServiceRunner.chequeManager);
ServiceRunner.payrollManager = new Microservice<>(PayrollManager.class, "payroll", "0.1.0-BUILD-SNAPSHOT", ServiceRunner.INTEGRATION_TEST_ENVIRONMENT);
startService(generalProperties, ServiceRunner.payrollManager);
ServiceRunner.groupManager = new Microservice<>(GroupManager.class, "group", "0.1.0-BUILD-SNAPSHOT", ServiceRunner.INTEGRATION_TEST_ENVIRONMENT);
startService(generalProperties, ServiceRunner.groupManager);
ServiceRunner.notificationManager = new Microservice<>(NotificationManager.class, "notification", "0.1.0-BUILD-SNAPSHOT", ServiceRunner.INTEGRATION_TEST_ENVIRONMENT);
startService(generalProperties, ServiceRunner.notificationManager);
}
}