Changelog History
Page 2
-
v1.17.0 Changes
May 02, 2017โ Removed JSR-303 Bean Validation support. This feature was no longer being used internally and only served to tie Governator to old versions of hibernate-validator.
-
v1.16.0
March 29, 2017 -
v1.2.2 Changes
June 11, 2013๐ Issue 59: Add support for multi binding via AutoBindSingleton.
Previous fix for memory leak (Issue 60) is improved in 1.2.2. Only record dependencies for objects that have @WarmUp methods. Also, ๐ use a weak valued Guava cache internally.
-
v1.2.1 Changes
May 15, 2013Pull 57: In JBoss 7.X, url.getProtocol() returns "vfs" instead of "file".
Issue 60: Once the LifecycleManager has been started, newly injected objects could cause a memory leak due how the warmup code was handling post-start injections.
-
v1.2.0 Changes
March 12, 2013- ๐ง Pull 51: Support dynamic property configuration injection. The Configuration ๐ APIs have changed to support this new functionality. Please see ๐ง https://github.com/Netflix/governator/wiki/Configuration-Mapping for details.
-
v1.1.1 Changes
February 26, 2013- Some additional createInjector() variants in LifecycleInjector.
-
v1.1.0 Changes
February 21, 2013- โจ Enhanced LifecycleListener.objectInjected() to take correct type information. All implementations โก๏ธ of LifecycleListener will need to be updated.
-
v1.0.5 Changes
February 20, 2013๐ Fixed a potential infinite loop with an internal reflective method. Though, I have not seen it actually occur in production.
๐ Changed the log message "Could not find lifecycle-registered object for key..." to DEBUG.
โ Issue 43: Added a version of createStandardClasspathScanner() that takes additional annotations.
๐ Issue 45: Added support for @Resource and @Resources. The resources themselves are loaded 0๏ธโฃ by a new interface: ResourceLocator. A default ResourceLocator is installed that simply calls injector.getInstance(resource.type()). It will only be a few lines of code to add a JNDI version of ResourceLocator. Bind ResourceLocator instances via BootstrapBinder.bindResourceLocator().
LifecycleInjectorBuilder now has a way to add modules as opposed to always specifying the complete set.
-
v1.0.4 Changes
January 08, 2013WarmUps weren't being run for objects with no dependencies.
Issue 33: Warm up errors were merely being logged. They now generate true exceptions. Any exceptions thrown by warm up methods are wrapped in a single WarmUpException that is throw by the LifecycleManager.start() method.
Issue 32: Objects added to the lifecycle after LifecycleManager.start() was called were getting warmed up in the Guice thread. This could cause deadlocks and other problems. Further, each object would get warmed up independently. I've reworked this code so that post-start warm ups occur in a separate thread and there is a small padding period so that multiple objects added near the same time can get warmed up together.
-
v1.0.3 Changes
January 03, 2013โ Added a new scope, FineGrainedLazySingleton. Guice's default Singleton scope synchronizes ๐ all object creation on a single lock (InternalInjectorCreator.class). It does this to avoid deadlocks with circular dependencies. FineGrainedLazySingleton instead locks on the key so that multiple singletons can be created concurrently. Circular dependencies are rare ๐ so FineGrainedLazySingleton risks deadlocks in those situations for the benefit of better concurrency.
๐ Made LifecycleManager more concurrent by removing the coarse syncs on the add methods.