Big +1 for values with units.
Unless we need to support this on 2.x, should we take advantage of
java 8 java.time.Duration as our value type, and only implement the
parser ourselves?
On Mon, Nov 5, 2018 at 1:54 PM Gary Gregory <[email protected]> wrote:
>
> Hi All:
>
> Today in appenders like the JMS Appender you can specify time values like
> the setting reconnectIntervalMillis="5000"; same idea with the mysterious
> Configuration monitorInterval which is specified in seconds (how would you
> know that without digging in the docs? ;-)
>
> What I'd like to see instead is the ability to say reconnectInterval="5
> SECONDS" and monitorInterval="2 MINUTES". Note the unscaled attribute name.
>
> The scale word is a java.util.concurrent.TimeUnit enum name (with, say, an
> optional "S" at the end). I'm not thinking about localization ATM, just use
> the TimeUnit enum names.
>
> Over in Apache HttpComponents HttpCore, I created the very handy TimeValue
> class for this purpose which holds a value and a TimeUnit:
> https://github.com/apache/httpcomponents-core/blob/master/httpcore5/src/main/java/org/apache/hc/core5/util/TimeValue.java
>
> Then instead of passing around opaque longs and ints around the code, you
> pass arounds TimeValues.
>
> In either 2.x or 3.x, I'd like to copy this class and use it.
>
> Thoughts?
>
> Gary
>
> PS: In HttpCore, TimeValue also has a subclass Timeout.