…nitialized. In 706a0f2, the guard to initialize the request log based on the property was removed. This causes a dependency on hystrix context initialization for all custom concurrency strategies. Here we add that back in, along with a test to ensure that a custom strategy could still run without an initialized context.
If the file hystrix-plugins.properties exists on the class path, its configuration will be used to setup HystrixPlugins. This makes it possible to bundle bootstrap configuration for Hystrix in higher-level libraries without polluting the global namespace with a 'config.properties' file; that name should better be reserved for top-level applications only.
Currently, Hystrix lets you define custom strategies in two ways: 1) with System properties 2) with bootstrapping via HystrixPlugins.getInstance().registerXXX If neither is specified, the default strategy is used. This change replaces hardwired System.getProperty calls with lookup via Archaius. So one can override the plugin strategies used with any configuration provider Archaius is configured with. Most importantly, it has the effect of checking any file called "config.properties" on the classpath as well as using system properties. This lets you configure plugin strategies without having to write Java code for it, or having to run the application with additional system properties. Fixes #92