-
Notifications
You must be signed in to change notification settings - Fork 5
ReleaseNotes
- Updated some dependencies
- Bootstrap will now terminate (
exit -1)if a plugin throws an exception during initialization. - The conf-doc maven goal will generate example.conf if property
suppressWarningsis set totrue. Property defaults tofalsewill cause the goal to fail on invalid@configproperty values.
- Minor changes
- Introducing
reststop:boot,reststop:boot-start,reststop:boot-stop, a run configuration attempting to running in a similar configuration to a production distribution by hiding the Maven class path. Migration: MovecontainerDependenciesfrom dist-execution to the plugin configuration. To stop when running in console press CTRL-D to shut down gracefully.
- Interpolate environment variables in config values
- Fixed faulty error message when a plugin is dependent on itself
- Make sure ServletContextCustomizers are run with the JettyWebsocketsPlugin's class loader as the Context Classloader
- Make WebSocket endpoints re-deployable
- Jetty-plugin supports config
jettyEnableXForwarded, enablingX-Forwarded-handling
Nuked
- Fixed problem where standardfilemanager did contain state and was reused between compilations
- Enable JSR365 WebSocket API
- reststop-jetty-plugin: Sessions enabled by default
Se 3.0rcX
- Bugfix: Plugin annotation processing fails with IndexOutOfBoundsException for non-existing types in @Export fields
- Bugfix: Plugin annotation processing fails with IndexOutOfBoundsException for non-existing types in constructor
- Developer plugin: Fixed file descriptor leak when compiling Java source files
- Minor tweaks to allow building/running on Java 9
API changes:
-
PluginListener has been removed
-
AssetFilter has been pulled out into reststop-assets-filter (not included by default)
-
reststop-cxf-deploy-plugin has been removed, CxfDeployPlugin folded into reststop-cxf-plugin
-
reststop-jersey-deploy-plugin has been removed, JerseyDeployPlugin folded into reststop-jersey-plugin
-
PluginClassLoader.getClassLoaders() now returns Collection
-
ServletBuilder and FilterPhase has been moved out of reststop-api into the new module reststop-servlet-api. reststop-api no longer depends on servlet-api. This means Reststop can be used cleanly outside servlet/web contexts.
-
Changes:
-
Exported Filters are no longer looked up dynamically at runtime. Filters are now deployed by the new reststop-servlet-deploy-plugin. If you don't add this no Filters will be deployed (expect a lot of 404s)
New features:
- development-plugin can now redeploy plugins when used config properties change
- development-plugin can now redeploy plugins when Maven pom.xml changes
- reststop-maven-plugin:deploy can now live-deploy a new Reststop-plugin
- Plugins can now get Collection injected. Deploy of new plugin classloaders will lead to restart of the consuming plugin.
- AssetFilter now sets Content-Length, and handles Last-Modified/If-Modified-Since
#2.3
- Servlet initialiser now moved into reststop-servlet. This needs to be added to any war poms.
- reststop-bootstrap added. Supports running Reststop containerless (with Jetty as a Reststop plugin)
#2.2
- Development: More robust reloading of affected plugins
- RpmBuilder is now more configurable
- Metrics: HealcheckRegistry moved out of -servlets to match MetricRegistry.
- Bugfix: Interpolation of system properties now check for null (non-required) values
- Upgraded Jetty to 9.3.6
- @Plugin annotation-processor now writes .config-param files for each plugin class. These are picked up for analysis by :con-doc.
#2.1
- reststop:start/run can now start on a random port by setting to 0. Actual port used is written to target/test-classes/reststopPort.txt
- Jetty's service script now defaults to setting JETTY_USER to the application name user
- Jetty's service script now creates /var/log/appname
- reststop:dist can now be configured with <containerDependencies> to be added to the container's classpath
- reststop:scan-plugins has been removed in favour of generating metadata files from the annotation-processor. All plugins now need to have reststop-annotation-processor on the compilation classpath:
<dependency>
<groupId>org.kantega.reststop</groupId>
<artifactId>reststop-annotation-processor</artifactId>
<version>${reststop.version}</version>
<scope>provided</scope>
</dependency>
- @Plugin annotation processor now writes names of constructor parameter names to a metadata file, removing the need to configure javac compilers with -parameters which was needed to support parameter names in Java reflection.
- Reststop's DelegateClassLoader now sees classes from the delegates entire parent chain.
- @Config values are now interpolated with system properties. (Try using ${reststopPort} for integration tests)
- Transitive dependencies pulled in through a provided dependency are now not put on the runtime class path.
- New Maven goal reststop:conf-doc validates and documents your configuration
- Class loader construction order is now calculated independently of class loader startup order, reducing the chance of circular startup order problems.
- PluginExport<T> now correctly results in an import of T, not of PluginExport<T>
#2.0
- See [Migrating to Reststop 2](Migrating to Reststop 2)
#1.13
- Maven plugin: Support reading RPM version and release number from properties when creating an RPM distro
- Maven plugin now has two plugin lists, and . Allows having a common list of plugins in a parent pom.xml
- Support for injection of Collection with all available services of type T
- Support for exporting a Collection
#1.12
- Added Maven 3.3.1+ support for maven plugin #7
- Added ability to use system properties directly instead of init parameteres for configuration #11
- reststop:create adds an api plugin, which should always be used for abstractions between plugins
- Improved documentation #9
- Fixed stacktrace errors not showing on Window/Firefox #8
- Fixed issue with missing applicationName init parameter when building zip/rpm package
- Updated Jetty to 9.2.11.v20150529
- Updated Jersey to 2.17
#1.11
- reststop:create, reststop:create-plugin are functionally improved, and the generated project made more realistic
- Circular plugin dependencies (unresolvable start orders) are now detected and reported
- "/"-redirects for directory assets now works with both file: and jar: URL resources.
- A global configuration file is now required
- Optional annotation processor now enforces som @Config and @Export restrictions compile time
- Various bug fixes to the Webjars plugin