On Mon, Nov 5, 2018 at 12:12 PM Carter Kozak <[email protected]> wrote:

> 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?
>

I think that tracking as a Duration is OK. The only I am not super fond of
is that Duration parses only strings in the format PnDTnHnMn.nS so it's a
bit of a pain to say "5 SECONDS": "PT5S" is nice for machine generated
values but typo-prone for carbon-based units.

Gary


> 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.
>

Reply via email to