Migration mediamtx-proxy from spring-boot to quarkus

Correspondance

Migration steps

  • import the quarkus bom
<dependency>
    <groupId>io.quarkus.platform</groupId>
    <artifactId>quarkus-bom</artifactId>
    <version>${quarkus.version}</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
  • add the qarkus-maven-plugin to the application module
<plugin>
    <groupId>${quarkus.platform.group-id}</groupId>
    <artifactId>quarkus-maven-plugin</artifactId>
    <version>${quarkus.version}</version>
    <extensions>true</extensions>
    <executions>
        <execution>
            <goals>
                <goal>build</goal>
                <goal>generate-code</goal>
                <goal>generate-code-tests</goal>
            </goals>
        </execution>
    </executions>
</plugin>
  • add config to maven-surefire-plugin:
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>${maven-surefire-plugin.version}</version>
    <configuration>
        <properties>
            <configurationParameters>
                junit.jupiter.extensions.autodetection.enabled = true
            </configurationParameters>
        </properties>
        <!-- ADD THE FOLLOWING -->
        <systemPropertyVariables>
            <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
            <maven.home>${maven.home}</maven.home>
        </systemPropertyVariables>
    </configuration>
</plugin>
  • replace the spring dependencies to quarkus ones

Dependencies

  • spring-boot-starter-actuator quarkus-smallrye-health
  • micrometer quarkus-micrometer-registry-prometheus
  • spring IoC container quarkus-arc
  • spring-boot-starter-web quarkus-resteasy
  • jackson quarkus-resteasy-jackson
  • logback quarkus-logging-logback (experimental)

Beans

Resources


TODO

  • swp-security
  • swp-observability
  • shared-controllers-spring-web