I agree that we shouldn't use the Duration.parse functionality, but
perhaps we can define our own parser to convert strings into Duration
objects similar to the parse function in TimeValue. Thoughts?
On Mon, Nov 5, 2018 at 2:33 PM Gary Gregory <[email protected]> wrote:
>
> 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.
> >