Removed custom byte array handling code and updated to use JDK standard methods and IOUtils as needed
Addressed all PMD static code analyzer issues and corrected where appropriate
Update javasimon to 4.1.4
Replace byte array and input stream methods to JDK and commons managed code
Use new Turbine 5 parent pom
Use junit 4.12
Use Java 8, clean up some issues from findbugs
Integrate JavaSimon for performance monitoring
Fixing typos and cleaning up code to keep IntelliJ happy.
Provide a more graceful shutdown of Fulcrum services
Upgrading to jamon-2.81.
Fixing typos and cleaning up code to keep IntelliJ happy.
During property expansion of the component configuration any
non-expanded variables are retained in the lenient mode. This
fixes the problem that some services doing the property expansion
dynamically.
Added support of "fallback service managers" to transparently lookup
services not managed by the Avalon container instance. A good example
is the integration of Spring services or remote services hidden behind
some SOAP proxies.
Moved the code regarding transparent decryption of configuration files
into 'fulcrum-yaafi-crypto' project and decoupled the code using
dynamic class loading and reflection.
Setting custom JAMon ranges for every invocation because those ranges
are discarded when resetting JAMon through the GUI.
Added M2 build
Addded README.txt and NOTICE.txt to create a proper release.
Fixing broken JAMon 2.x integration. To decouple the service framework
from the JAMon library reflection was used but broke with JAMon 2.x.
Added componentConfiguration.properties to resolve custom properties
used for expanding the componentConfiguration.xml. Furthermore added
a resolver functionality to allow to use commons-configuration.
Added JamonInterceptorService to capture statistical performance data
The SmartToStringBuilder was renamed to ArgumentStringBuilder
Added AdviceService to provide interceptors for any
arbitrary object.
Added SmartToStringBuilder to get more information out
of the LoggingInterceptorService.
Fixed a few JavaDoc warnings
Using the parent ServiceManager (if available) during
lookup() and hasService()
Adding Fortress context variables to enable a smooth
transition when making all Fulcrum service compatible
to a Fortress container
Incarnating service is done in two steps now. This
allows to declare the services in any order in the
roleConfiguration.xml
Updating to avalon-framework-api/impl-4.3.0.jar
Adding interceptor services to YAAFI. This allows
to add interceptors for the whole container or
individual services.
Using ReadWriteLocks for reconfiguring YAAFI on the fly
Added a "logger" attribute to the role configuration
file to simplify setting up Log4j loggers.
For logging during initializing of a service we use
the parent logger (=container's logger) instead of the service
logger. This is an issue when writing CSV files otherwise the
layout is messed up.
Added a simple tutorial
Fixed bug in ShutdownService resulting in excessive CPU usage.
Improved the implementation of BaseServiceImpl
The CLI can be now configured using SystemProperties and the command
line.
Added a getParameters() to the ServiceContainer interface. This
allows to retrieve the Avalon parameters easily.
The YAAFI service container implements Parameterizable
Added a Shutdown service to dispose the YAAFI container
Updated Turbine integration found in the 'contrib' directory
Updated CLI to make it fit for one of our products
Removed CVS tags since it makes maintainance difficult
Removed obsolete email address
Fixed wrong default values for parameters file if no value was
defined.
Fixed bug in ServiceManagerService - the static field was not
reset during a dispose() leading to a NPE in the second invocation.
Transparent decryption of configuration files
Added reconfiuration service ro reconfigure YAAFI if the component
configuration file has changed
Provide context mapping in the case that YAAFI is embedded in another
Avalon container (experimental)
Improved bootstrapping of YAAFI using containerConfiguration.xml
Decryption of configuration files
Added cryptography support based on JCE/JCA
Using ServiceManagerConfig to capture the configuration
data for YAAFI
Refactored some code into AvalonContextHelper and InputStreamLocator
Parsing a "component-type" element for the future
Parsing a "description" element of the role configuration file
Improved creation of child logger to avoid overly long names by using the shorthand
instead of the class name
Extending ServiceManagerService to store Parameters and Context
Setting proper context to achive compatibility with Phoenix container. YAAFI
now works embedded into JAMES.
Added a little bit of documentation
Fixed most of the Eclipse complaints about coding conventions
Container was missing call to decomission objects, therefore
Disposeable interface never working.
Initial import to Fulcrum project.
Using LogEnabled.enableLogging() and Configurable.configure() to create a service container
Locating an absolute file should now also work with Windows
Removed log4j dpendency
Refactored the source code to extract ServiceComponent and ServiceContainer interface
Renamed the classes to org.apache.fulcrum.yaafi
Added a ServiceManager service to keep track of the service manager singleton
Added a ServiceManagerFactory to encapsulate the details of initializing YAAFI
Added a simple SystemPropertyService since it is useful and does not introduce any new dependencies
Cleaned up the implementation