Class SpringBootPlugin


  • public abstract class SpringBootPlugin
    extends org.pf4j.Plugin
    Base Pf4j Plugin for Spring Boot. ---- ### Following actions will be taken after plugin is started: * Use SpringBootstrap to initialize Spring environment in spring-boot style. Some AutoConfiguration need to be excluded explicitly to make sure plugin resource could be inject to main ApplicationContext * Share beans from main ApplicationContext to plugin ApplicationContext in order to share resources. This is done by SpringBootstrap * Register Controller and @RestController beans to RequestMapping of main ApplicationContext, so Spring will forward request to plugin controllers correctly. * Register Extension to main ApplicationContext ---- ### And following actions will be taken when plugin is stopped: * Unregister Extension in main ApplicationContext * Unregister controller beans from main RequestMapping * Close plugin ApplicationContext
    See Also:
    SpringBootstrap, SharedDataSourceSpringBootstrap
    • Constructor Detail

      • SpringBootPlugin

        public SpringBootPlugin​(org.pf4j.PluginWrapper wrapper)
    • Method Detail

      • releaseAdditionalResources

        public void releaseAdditionalResources()
        Release plugin holding release on stop.
      • start

        public void start()
        Overrides:
        start in class org.pf4j.Plugin
      • stop

        public void stop()
        Overrides:
        stop in class org.pf4j.Plugin
      • releaseLegacyResources

        public static void releaseLegacyResources​(org.pf4j.PluginWrapper plugin,
                                                  org.springframework.context.support.GenericApplicationContext mainAppCtx)
        Clean legacy resources left behind by failed plugin starting.
        Parameters:
        plugin -
        mainAppCtx -
      • createSpringBootstrap

        protected abstract SpringBootstrap createSpringBootstrap()
      • getApplicationContext

        public org.springframework.context.support.GenericApplicationContext getApplicationContext()
      • getMainApplicationContext

        public org.springframework.context.support.GenericApplicationContext getMainApplicationContext()
      • registerBeanToMainContext

        public void registerBeanToMainContext​(java.lang.String beanName,
                                              java.lang.Object bean)
      • unregisterBeanFromMainContext

        public void unregisterBeanFromMainContext​(java.lang.String beanName)
      • unregisterBeanFromMainContext

        public void unregisterBeanFromMainContext​(java.lang.Object bean)
      • unregisterBeanFromMainContext

        public static void unregisterBeanFromMainContext​(org.springframework.context.support.GenericApplicationContext mainCtx,
                                                         java.lang.String beanName)
      • unregisterBeanFromMainContext

        public static void unregisterBeanFromMainContext​(org.springframework.context.support.GenericApplicationContext mainCtx,
                                                         java.lang.Object bean)