Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

Have been upgrading services from Spring Boot 1.4.x or 1.5.x to 2.2.2. These notes do not apply as well to other 2.x versions (like 2.1).

  • Need to define Spring Boot Gradle Plugin version to Spring Boot version desired (e.g. 2.2.2).

    • Whatever Spring Boot version is used, since we use OAuth2 for security, we need to explicitly define in gradle the same version for Spring OAuth2 Security

      • org.springframework.security.oauth.boot:spring-security-oauth2-autoconfigure:2.2.2.RELEASE

  • Update Flyway to v6 (6.0.8, according to https://docs.spring.io/spring-boot/docs/2.2.x/reference/html/appendix-dependency-versions.html)

    • Because of this, will need to refactor Flyway-related Java callback code to use new classes and methods

  • Update RAML tester and RAML parser to latest (0.8.15 and 0.8.37), because of test failures

  • Update Mockito and PowerMock to latest (may have been some test failures without updating)

  • Update REST Assured to at least version 3.3, because of some integration test issues

  • JPA repository methods have been renamed (e.g. findOne to findById, delete to deleteById, etc.), and now return Optional

  • PageRequest constructor has been replaced with PageRequest.of(), same with Sort

  • MAJOR Spring Framework v5 has dropped JasperReports support, in favor of clients using native JasperReports API (https://github.com/spring-projects/spring-framework/issues/17884), so any services that use it will need to be refactored (see openlmis-report for a refactor pattern)

  • For some reason, integration tests now require some API definitions in the YAML have an entry for “Keep-Alive” header

  • Flyway config in application properties file uses spring.flyway rather than flyway now

  • Bean definition overriding is now disabled by default, may need to set spring.main.allow-bean-definition-overriding=true for test configurations

  • AUTH SERVICE ONLY - Spring Boot 2 does not use a plaintext password encoder anymore, but one that adds a encode prefix to each password; current workaround is to use the NoOpPasswordEncoder, but will probably need to use a real password encoder and migrate all passwords in the system

  • No labels