-
Notifications
You must be signed in to change notification settings - Fork 484
Features
allenxwang edited this page Jun 4, 2012
·
29 revisions
Pablo is a Java library that provides APIs to access and utilize properties that can change dynamically at runtime. It includes the following features:
Pablo provides classes that represent dynamic properties where the values are of specific types and can change at runtime.
Instead of writing code like this to deal with something hard to change at runtime:
String prop = System.getProperty("myProperty");
int x = DEFAULT_VALUE;
try {
x = Integer.parseInt(prop);
} catch (NumberFormatException e) {
// handle format issues
}
if (x > 0) {
// ...
}
You can write much cleaner code to take advantage of a changing and type specific property:
DynamicIntProperty prop = DynamicPropertyFactory.getInstance().createIntProperty("myProperty");
// prop.get() may change value at runtime
if (prop.get() > 0) {
// ...
}
Out of the box, in a fixed interval, Pablo will load configuration sources from a local file on classpath as well as a set of URLs defined in a system property.
You can define your own configuration source and poll scheduler by extending appropriate interface/class.