Compare commits

..

No commits in common. "94b61f3de5b5770c3f723290f7640db12d1bcc79" and "69c91ec86a65f5d47971091d3b6ce1aa45b78c79" have entirely different histories.

7 changed files with 23 additions and 43 deletions

View File

@ -44,4 +44,4 @@ COPY --from=builder /tmp/app/target/app-*.jar /app/app.jar
COPY --from=jdkbuilder /myjdk /myjdk COPY --from=jdkbuilder /myjdk /myjdk
WORKDIR /app WORKDIR /app
CMD ["/myjdk/bin/java", "-server", "-XX:+UnlockExperimentalVMOptions", "-Xms64m", "-Xmx256m", "-XX:+UseG1GC", "-XX:MaxGCPauseMillis=100", "-XX:+UseStringDeduplication", "-jar", "app.jar"] CMD ["/myjdk/bin/java", "-server", "-XX:+UnlockExperimentalVMOptions", "-Xms256m", "-Xmx1g", "-XX:+UseG1GC", "-XX:MaxGCPauseMillis=100", "-XX:+UseStringDeduplication", "-jar", "app.jar"]

View File

@ -6,7 +6,7 @@ import be.simplenotes.shared.config.ServerConfig
import java.util.* import java.util.*
import java.util.concurrent.TimeUnit import java.util.concurrent.TimeUnit
class Config { object Config {
//region Config loading //region Config loading
private val properties: Properties = javaClass private val properties: Properties = javaClass
.getResource("/application.properties") .getResource("/application.properties")

View File

@ -3,29 +3,22 @@ package be.simplenotes.app
import be.simplenotes.app.extensions.addShutdownHook import be.simplenotes.app.extensions.addShutdownHook
import be.simplenotes.app.modules.* import be.simplenotes.app.modules.*
import be.simplenotes.domain.domainModule import be.simplenotes.domain.domainModule
import be.simplenotes.persistance.migrationModule
import be.simplenotes.persistance.persistanceModule import be.simplenotes.persistance.persistanceModule
import be.simplenotes.search.searchModule import be.simplenotes.search.searchModule
import org.koin.core.context.startKoin import org.koin.core.context.startKoin
import org.koin.core.context.unloadKoinModules
fun main() { fun main() = startKoin {
startKoin { modules(
modules( serverModule,
serverModule, persistanceModule,
persistanceModule, configModule,
migrationModule, baseModule,
configModule, userModule,
baseModule, noteModule,
userModule, settingsModule,
noteModule, domainModule,
settingsModule, searchModule,
domainModule, apiModule,
searchModule, jsonModule
apiModule, )
jsonModule }.addShutdownHook()
)
}.addShutdownHook()
unloadKoinModules(listOf(migrationModule, configModule))
}

View File

@ -2,17 +2,9 @@ package be.simplenotes.app.modules
import be.simplenotes.app.Config import be.simplenotes.app.Config
import org.koin.dsl.module import org.koin.dsl.module
import org.koin.dsl.onClose
val configModule = module { val configModule = module {
single { Config() } onClose { single { Config.dataSourceConfig }
println("Unloaded config") single { Config.jwtConfig }
println("Unloaded config") single { Config.serverConfig }
println("Unloaded config")
println("Unloaded config")
}
single { get<Config>().dataSourceConfig }
single { get<Config>().jwtConfig }
single { get<Config>().serverConfig }
} }

View File

@ -29,13 +29,10 @@ private fun hikariDataSource(conf: DataSourceConfig): HikariDataSource {
return HikariDataSource(hikariConfig) return HikariDataSource(hikariConfig)
} }
val migrationModule = module {
single<DbMigrations> { DbMigrationsImpl(get(), get()) }
}
val persistanceModule = module { val persistanceModule = module {
single<UserRepository> { UserRepositoryImpl(get()) } single<UserRepository> { UserRepositoryImpl(get()) }
single<NoteRepository> { NoteRepositoryImpl(get()) } single<NoteRepository> { NoteRepositoryImpl(get()) }
single<DbMigrations> { DbMigrationsImpl(get(), get()) }
single { hikariDataSource(get()) } bind DataSource::class onClose { it?.close() } single { hikariDataSource(get()) } bind DataSource::class onClose { it?.close() }
single { single {
get<DbMigrations>().migrate() get<DbMigrations>().migrate()

View File

@ -4,7 +4,6 @@ import be.simplenotes.domain.model.*
import be.simplenotes.domain.usecases.repositories.NoteRepository import be.simplenotes.domain.usecases.repositories.NoteRepository
import be.simplenotes.domain.usecases.repositories.UserRepository import be.simplenotes.domain.usecases.repositories.UserRepository
import be.simplenotes.persistance.DbMigrations import be.simplenotes.persistance.DbMigrations
import be.simplenotes.persistance.migrationModule
import be.simplenotes.persistance.persistanceModule import be.simplenotes.persistance.persistanceModule
import be.simplenotes.shared.config.DataSourceConfig import be.simplenotes.shared.config.DataSourceConfig
import me.liuwj.ktorm.database.* import me.liuwj.ktorm.database.*
@ -28,7 +27,7 @@ internal class NoteRepositoryImplTest {
} }
private val koinApp = koinApplication { private val koinApp = koinApplication {
modules(persistanceModule, migrationModule, testModule) modules(persistanceModule, testModule)
} }
private fun dataSourceConfig() = DataSourceConfig( private fun dataSourceConfig() = DataSourceConfig(

View File

@ -3,7 +3,6 @@ package be.simplenotes.persistance.users
import be.simplenotes.domain.model.User import be.simplenotes.domain.model.User
import be.simplenotes.domain.usecases.repositories.UserRepository import be.simplenotes.domain.usecases.repositories.UserRepository
import be.simplenotes.persistance.DbMigrations import be.simplenotes.persistance.DbMigrations
import be.simplenotes.persistance.migrationModule
import be.simplenotes.persistance.persistanceModule import be.simplenotes.persistance.persistanceModule
import be.simplenotes.shared.config.DataSourceConfig import be.simplenotes.shared.config.DataSourceConfig
import me.liuwj.ktorm.database.* import me.liuwj.ktorm.database.*
@ -29,7 +28,7 @@ internal class UserRepositoryImplTest {
} }
private val koinApp = koinApplication { private val koinApp = koinApplication {
modules(persistanceModule, migrationModule, testModule) modules(persistanceModule, testModule)
} }
private fun dataSourceConfig() = DataSourceConfig( private fun dataSourceConfig() = DataSourceConfig(