Arconia Dev Services

Arconia Dev Services provide zero-code integrations for services your application depends on, both at development and test time, relying on the power of Testcontainers and Spring Boot.

For example, if your application needs a database, you can use Arconia Dev Services for PostgreSQL to automatically start a PostgreSQL database when you run your application or integration tests. This eliminates the need to manually start and manage the database during development.

How They Work

For each supported service, Arconia provides a dedicated module that you can include in your project. When you add the module to your project, the service is automatically started when you run your application or integration tests. For example:

dependencies {
	testAndDevelopmentOnly 'io.arconia:arconia-dev-services-postgresql'
}

You can combine Arconia Dev Services the with Arconia Dev Tools, a module that you can include in your project with io.arconia:arconia-dev-tools. One of the included tools will automatically restart your application when you make changes to your code as part of your development workflow, while keeping the Dev Services up and running.

You can think of the Arconia Dev Services as a higher-level feature built on top of Spring Boot’s support for Testcontainers. The goal is to provide a seamless developer experience by automatically starting the services your application depends on without any additional code or configuration.

Arconia Dev Services are also transparent to the developer, meaning that you don’t need to change your development workflow to use them. Unlike the lower-level Testcontainers support in Spring Boot, Arconia doesn’t require special tasks to run your application (./gradlew bootTestRun or ./mvnw spring-boot:test-run). You can simply use:

  • Gradle: ./gradlew bootRun

  • Maven: ./mvnw spring-boot:run

Your integration tests will also automatically use the Arconia Dev Services without any additional configuration.