Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

#

Questions/Open Issues

Notes

Decision/Answer






Analysis

  1. init-container
  2. k8s hooks
  3. Events in Spring

    We can use the ApplicationReadyEvent which is published when the application is ready to service requests.
    We can listen to this event , which is thrown by the SpringApplication itself and then execute some code (which is creating a dataspace in our scenario)

    Example

    Code Block
    languagejava
    titleApplicationReadyEvent
    @EventListener(ApplicationReadyEvent.class)
        public void initializeNcmp() {
            log.info("Initializing NCMP when the ApplicationReadyEvent is received");
            try {
                cpsAdminService.createDataspace("NCMP-CmHandle-Operational-Data");
            } catch (final AlreadyDefinedException ex) {
                log.info("Already defined : {} ", ex.getMessage());
            } catch (final Exception ex) {
                log.warn("Failed to create dataspace, cause : {}", ex.getMessage());
            }
        }




References

https://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/context/event/ApplicationReadyEvent.html