Releases: Netflix/governator
v1.15.8: Merge pull request #346 from elandau/jersey_eager_singleton
- Eagerly create Jersey root resources
- Allow for adding profiles via multbindings in a guice module
ProvidesWithAdvice bug fix
- Fix @ProvidesWithAdvice to properly isolate @advises for different types
v1.15.6: Merge pull request #342 from elandau/provision_metrics_binding_fix
Enable Provisioning Metrics by Default
Some bug fixes for JUnit test util
ProvisionMetricsModule hot fix
- Fix deduping of ProvisionMetricsModule
v1.15.4: Merge pull request #340 from elandau/scanner_error_fix
- More aspects of JettyModule configurable
- Include class name in class path scanning errors
- InjectorBuilder API improvements for iterating all elements
- Include PostConstruct time in provision metrics
- Fix memory leaks in SimpleProvisionMetrics
v1.15.3: Merge pull request #325 from elandau/governator_servlet
- No more Jersey class path scanning in GovernatorJerseySupportModule
- Fix java8 and invokedynamic issues
- Fix ScanningModuleBuilder module dedup
- JettyConfig archaius2 integration
- Add ability to set Jetty context path via JettyConfig
restore LifecycleMethods methods
internal class LifecycleMethods lost three public methods in the 1.15 release; these have been restored with 1.15.2 for compatibility with external callers
bug fix for Java 8 and invokedynamic
runtime errors found with Java 8 (String.valueOf bound incorrectly) and with invokedynamic / get applied to static field
Performance Tuning
Tuning with an eye towards use of short-lived scopes. Changes based on a test load of 200 threads injecting scoped instances with a ttl between 0-500ms; see PreDestroyStressTest. Some of the more significant improvements:
'invoke dynamic' invocation of lifecycle methods and configuration fields
reduced lock contention in PreDestroyMonitor
reduced partition contention in LifecycleManager.objectStates
caching of @PreDestroy parsing in LifecycleManager
caching of @resource detection in LifecycleMethods
Also includes a bug fix to allow use of 'Binder.requireExplicitBindings()' feature and bumped Guice dependency to 4.1.0
Update - added bug fix for nested LifecycleListener notification
GovernatorJerseyServlet
Merge pull request #324 from elandau/governator_servlet Governator Jersey-Guice integration