Not exactly sure how I feel about the feature -- in my experience things this
generic can get complicated quickly -- but added it against my better judgement
if we can make it work.
Basically I switched the "<ServerObserver>" element to simply <Service> and
aligned it with the other elements in the configuration so it can take
properties and have overrides.
So you can:
public class UpdateChecker {
private Duration frequency;
}
<Service id="checker" class="foo.bar.UpdateChecker">
frequency = 1 day
</Service>
-Dchecker.frequency=4hours
Looks great but there are several disadvantages to starting down this path as
our configs currently are incredibly simple and you can pretty much clear it
out and boot with just plain "<openejb/>" or "<tomee/>" and things will work.
We can quickly loose that by digging into a feature like this.
That being said, it could be nice if used incredibly sparingly.
Not sure if we really want to release this feature, but it might be nice to
play with it for a bit so went ahead and added it.
Thoughts?
-David