Hi Martin,

I gonna take a look.

By the way, you have a ManagedProperties sample in Karaf samples:

https://github.com/jbonofre/karaf-samples/tree/master/osgi-config-managed-service-bundle

Regards
JB

On 11/18/2016 11:21 PM, Martin Nielsen wrote:
Hello karaf users.

I have been working on what i believe to be a simplification of the
configuration handling in OSGi containers. The project is slated to be
able to handle different sources, but for now the the only configuration
source is the felix config admin.

https://github.com/TDC-Netdesign/ManagedProperties

The way it works is that you register an annotated interface, which is
turned into a proxy that keeps track of the configuration for you. The
proxy object is transparently updated whenever the configuration
changes. It is also possible to register mappers, which can parse values
into other types, for example a String to a File or an Long to an Instant.

Most importantly the filters allow for validating data. This allows for
checking the validity of the configuration before applying it. The
MangedProperties object will revert to the last accepted configuration
if a new configuration fails, eliminating the situation where the config
admin holds a config set that was never applied.

Two other features worth mentioning is the locking a callback functions.
The properties object can lock itself, allowing any update to the
configuration to be postponed. This is useful for combinations like
username-password, where you do not want the configuration to change in
between the calls. For example, you can lock the configuration before
calling config.getUsername() and config.getPassword().
The last function is a ConfigurationCallback, that can be registered on
the configuration object. When the configuration is updated the callback
is called afterwards, allowing for restarts of message queues, rest
clients or whatever is using the configuration but requires restarts
with new configurations.

I hope you will take a look at this project and use it/comment and
participate, I look forward to your comments and i hope someone will
find it useful.


-Martin


--
Jean-Baptiste Onofré
[email protected]
http://blog.nanthrax.net
Talend - http://www.talend.com

Reply via email to