Uploaded image for project: 'Blossom'
  1. Blossom
  2. BLOSSOM-210

Spring Loaded plugin for Blossom development

XMLWordPrintable

    • Icon: New Feature New Feature
    • Resolution: Fixed
    • Icon: Neutral Neutral
    • None
    • None
    • blossom-spring-loaded
    • None

      Plugin for Spring Loaded that refreshes the application contexts of BlossomDispatcherServlets when a class annotated with @Controller or a type level Blossom annotation is reloaded.

      The behavior can be customized using these two system properties:

      BlossomSpringLoadedPlugin.refreshOnAnyChange will make the plugin refresh when any class is changed, not just those with Blossom annotations or the @Controller annotation.
      BlossomSpringLoadedPlugin.refreshAllDispatcherServlets will make the plugin also refresh plain DispatcherServlets.

      To use it first download Spring Loaded
      https://github.com/spring-projects/spring-loaded

      Then add it using JVM arguments, for instance:

      -javaagent:/Users/user/Downloads/springloaded-1.2.3.RELEASE.jar
      -noverify
      -Xmx512m
      -XX:MaxPermSize=128M
      -DBlossomSpringLoadedPlugin.refreshOnAnyChange=true
      -DBlossomSpringLoadedPlugin.refreshAllDispatcherServlets=true
      

      Then add the plugin JAR to your project:

      <dependency>
        <groupId>info.magnolia.blossom</groupId>
        <artifactId>magnolia-blossom-spring-loaded</artifactId>
        <version>1.0.3</version>
      </dependency>
      

      Spring Loaded 1.2.3 can't reload classes packaged in JAR files. This is coming in the next release, 1.2.4. In the mean time you can change your IDE to package classes into the WEB-INF/classes directory instead of making a JAR file in WEB-INF/lib.

        Acceptance criteria

              tmattsson Tobias Mattsson
              tmattsson Tobias Mattsson
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: