You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by Oleg Kalnichevski <ol...@apache.org> on 2017/03/30 14:07:20 UTC

Upgrade to Java 8; Re: SocketConfig (v5)

On Thu, 2017-03-30 at 03:26 +0100, sebb wrote:
> On 30 March 2017 at 02:27, Gary Gregory <ga...@gmail.com>
> wrote:
> > On Mar 29, 2017 5:31 PM, "sebb" <se...@gmail.com> wrote:
> > 
> > On 29 March 2017 at 21:50, Gary Gregory <ga...@gmail.com>
> > wrote:
> > > I really want to do this TimeValue thing but when I look at Java
> > > 8, I see
> > > the Duration class.
> > > 
> > > So why not move HC to Java 8? Why are we hung up on Java 7?
> > 
> > We keep having this discussion.
> > Just because the Java 8 suits developers does not mean it suits
> > users.
> > 
> > There are lots of users who cannot upgrade easily (or at all) so we
> > should not exclude them just because it is a bit easier for some
> > devs.
> > 
> > 
> > It feels to me like we are way too conservative here. Hibernate,
> > Teiid,
> > Jetty are on Java 8 already. How long is long enough?
> 
> Those are generally further up the dependency chain.
> 
> HC (and most of Commons) can be buried deep in systems where
> upgrading
> Java is not an option.
> 

If my memory serves me well, not too long ago Gradle folks kind of
complained about our being too aggressive with upgrade to Java 6 ;)

I would like to suggest that we revisit the option of upgrading to Java
8 once we move past ALPHA into BETA and have all core functionality in
place. By the time HC 5.0 reaches GA Java 8 might be already
commonplace.

Oleg

PS: I personally see migration to Git by far more important, though I
would love to be able to use Java 8 language features.

> > Gary
> > 
> > 
> > > Gary
> > > 
> > > On Thu, Feb 16, 2017 at 6:47 AM, sebb <se...@gmail.com> wrote:
> > > 
> > > > On 15 February 2017 at 19:10, Gary Gregory <garydgregory@gmail.
> > > > com>
> > 
> > wrote:
> > > > > On Wed, Feb 15, 2017 at 7:49 AM, sebb <se...@gmail.com>
> > > > > wrote:
> > > > > 
> > > > > > On 15 February 2017 at 05:20, Gary Gregory <garydgregory@gm
> > > > > > ail.com>
> > > > 
> > > > wrote:
> > > > > > > I like the idea of having at least setTimeout(long,
> > > > > > > TimeUnit), and
> > 
> > as
> > > > a
> > > > > > > convenience setTimeoutMillis. This is Millis because
> > > > > > > milliseconds is
> > > > 
> > > > the
> > > > > > > underlying scale used by the socket API.
> > > > > > > 
> > > > > > > The question is whether we should add a TimeValue class
> > > > > > > setTimeout(TimeValue). The next step is to have a
> > > > > > > TimeValue subclass
> > > > > > 
> > > > > > called
> > > > > > > Timeout to make the API even more strongly typed.
> > > > > > 
> > > > > > Not sure I see why a timeout period is different from any
> > > > > > other time
> > > > > > period.
> > > > > > So I don't see how it helps to use a different class for
> > > > > > the
> > 
> > setTimeout
> > > > > > method.
> > > > > > 
> > > > > > Would there also be a SleepTime sub-class for a pause
> > > > > > function?
> > > > > > 
> > > > > 
> > > > > I do not see use cases at this time for more TimeValue
> > > > > subclasses. It
> > > > > really depends if there is a chance of confusion from the
> > > > > call site's
> > > > 
> > > > POV.
> > > > > For, now, I think a TimeValue class will be enough.
> > > > 
> > > > I agree.
> > > > 
> > > > However I took your mail to mean you wanted to create a
> > > > subclass of
> > > > TimeValue called TimeOut:
> > > > 
> > > > <quote>
> > > > The next step is to have a TimeValue subclass called
> > > > Timeout to make the API even more strongly typed.
> > > > 
> > > > We could end up with:
> > > > 
> > > > setTimeout(long, TimeUnit)
> > > > setTimeoutMillis(long)
> > > > setTimeout(Timeout)
> > > > </quote>
> > > > 
> > > > Do you still think a TimeOut subclass is needed?
> > > > 
> > > > 
> > > > > Gary
> > > > > 
> > > > > 
> > > > > > 
> > > > > > > We could end up with:
> > > > > > > 
> > > > > > > setTimeout(long, TimeUnit)
> > > > > > > setTimeoutMillis(long)
> > > > > > > setTimeout(Timeout)
> > > > > > > 
> > > > > > > ?
> > > > > > > Gary
> > > > > > > 
> > > > > > > On Fri, Feb 10, 2017 at 4:15 PM, sebb <se...@gmail.com>
> > > > > > > wrote:
> > > > > > > 
> > > > > > > > Does it make sense to use timeout units other than
> > > > > > > > seconds?
> > > > > > > > 
> > > > > > > > If not, just use
> > > > > > > > 
> > > > > > > > [get|set]TimeoutSeconds
> > > > > > > > 
> > > > > > > > Or if there is a need for milliseconds, then either add
> > > > > > > > 
> > > > > > > > [get|set]TimeoutMilliSeconds
> > > > > > > > 
> > > > > > > > or only provide that.
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > On 10 February 2017 at 19:51, Gary Gregory <garydgregor
> > > > > > > > y@gmail.com>
> > > > > > 
> > > > > > wrote:
> > > > > > > > > On Fri, Feb 10, 2017 at 2:10 AM, Oleg Kalnichevski <
> > > > 
> > > > olegk@apache.org>
> > > > > > > > wrote:
> > > > > > > > > 
> > > > > > > > > > On Thu, 2017-02-09 at 14:18 -0800, Gary Gregory
> > > > > > > > > > wrote:
> > > > > > > > > > > On Thu, Feb 9, 2017 at 1:56 PM, Bhowmik, Bindul
> > > > > > 
> > > > > > <bindulbhowmik@gmail.
> > > > > > > > > > > com>
> > > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > ...
> > > > > > > > > > 
> > > > > > > > > > > > How about getSoTimeout(TimeUnit) ? Maybe in
> > > > > > > > > > > > addition to
> > > > > > > > > > > > getSoTimeoutMillis().
> > > > > > > > > > > > 
> > > > > > > > > > > 
> > > > > > > > > > > I'm fine with that. My concern is mostly on the
> > > > > > > > > > > setter side.
> > > > > > > > > > > 
> > > > > > > > > > > Gary
> > > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > I find getter / setter inconsistency equally not-
> > > > > > > > > > nice. What
> > 
> > about
> > > > > > using
> > > > > > > > > > a tuple class for all time value settings
> > > > > > > > > > 
> > > > > > > > > > class TimeValue {
> > > > > > > > > > � long value;
> > > > > > > > > > � TimeUnit unit;
> > > > > > > > > > 
> > > > > > > > > > }
> > > > > > > > > > 
> > > > > > > > > > Or some such?
> > > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > Maybe... this becomes wordy though:
> > > > > > > > > 
> > > > > > > > > config.setTimeout(TimeValue.of(1, TimeUnit.SECONDS));
> > > > > > > > > 
> > > > > > > > > instead of
> > > > > > > > > 
> > > > > > > > > config.setTimeout(1, TimeUnit.SECONDS);
> > > > > > > > > 
> > > > > > > > > which is what I see in the JRE here and there.
> > > > > > > > > 
> > > > > > > > > The nice thing about TimeValue is that the object
> > > > > > > > > that uses it
> > 
> > does
> > > > > > not
> > > > > > > > > need to worry about scale in its implementation.
> > > > > > > > > 
> > > > > > > > > If I am coding a Socket class, I have to remember
> > > > > > > > > that soTimeout
> > > > 
> > > > is in
> > > > > > > > > milliseconds. If I write the ivar as
> > > > > > > > > "soTimeoutMillis" I am
> > > > > > 
> > > > > > documenting
> > > > > > > > the
> > > > > > > > > scale but I am not enforcing it.
> > > > > > > > > 
> > > > > > > > > So I can see that TimeValue, DistanceValue and so one
> > > > > > > > > would make
> > > > 
> > > > for
> > > > > > > > safer
> > > > > > > > > modeling. Less risk of crashing that Mars craft
> > > > > > > > > because one team
> > > > 
> > > > was
> > > > > > > > > thinking in metric units and the other in imperial
> > > > > > > > > units.
> > > > > > > > > 
> > > > > > > > > So from an implementer's POV I like TimeValue. But
> > > > > > > > > from a user's
> > > > 
> > > > POV
> > > > > > > > should
> > > > > > > > > I have the convenience of setTimeout(long, TimeUnit)
> > > > > > > > > AND
> > > > > > > > > setTimeout(TimeValue).
> > > > > > > > > 
> > > > > > > > > Gary
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > > Oleg
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > > > 
> > > > > > > > > > > > Bindul
> > > > > > > > > > > > 
> > > > > > > > > > > > > 
> > > > > > > > > > > > > Gary
> > > > > > > > > > > > > 
> > > > > > > > > > > > > 
> > > > > > > > > > > > > > Oleg
> > > > > > > > > > > > > > 
> > > > > > > > > > > > > > ------------------------------
> > > > 
> > > > ------------------------------
> > > > > > -
> > > > > > > > > > > > > > --------
> > > > > > > > > > > > > > To unsubscribe, e-mail: dev-unsubscribe@hc.
> > > > > > > > > > > > > > apache.org
> > > > > > > > > > > > > > For additional commands, e-mail: dev-help@h
> > > > > > > > > > > > > > c.apache.org
> > > > > > > > > > > > > > 
> > > > > > > > > > > > > > 
> > > > > > > > > > > > > 
> > > > > > > > > > > > > 
> > > > > > > > > > > > > --
> > > > > > > > > > > > > E-Mail: garydgregory@gmail.com | ggregory@apa
> > > > > > > > > > > > > che.org
> > > > > > > > > > > > > Java Persistence with Hibernate, Second
> > > > > > > > > > > > > Edition
> > > > > > > > > > > > > <https://www.amazon.com/gp/product/1617290459
> > > > > > > > > > > > > /ref=as_li_
> > > > > > > > > > > > 
> > > > > > > > > > > > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN
> > > > > > > > > > > > =1617290459&
> > > > > > > > > > > > linkCode=as2&tag=garygregory-
> > > > > > > > > > > > 20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>
> > > > > > > > > > > > > 
> > > > > > > > > > > > > <http:////ir-na.amazon-
> > > > > > > > > > > > > adsystem.com/e/ir?t=garygregory-
> > > > > > > > > > > > > 20&l=am2&o=1&a=
> > > > > > > > > > > > 
> > > > > > > > > > > > 1617290459>
> > > > > > > > > > > > > JUnit in Action, Second Edition
> > > > > > > > > > > > > <https://www.amazon.com/gp/product/1935182021
> > > > > > > > > > > > > /ref=as_li_
> > > > > > > > > > > > 
> > > > > > > > > > > > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN
> > > > > > > > > > > > =1935182021&
> > > > > > > > > > > > linkCode=as2&tag=garygregory-
> > > > > > > > > > > > 20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22
> > > > > > > > > > > > > 
> > > > > > > > > > > > > 
> > > > > > > > > > > > > <http:////ir-na.amazon-
> > > > > > > > > > > > > adsystem.com/e/ir?t=garygregory-
> > > > > > > > > > > > > 20&l=am2&o=1&a=
> > > > > > > > > > > > 
> > > > > > > > > > > > 1935182021>
> > > > > > > > > > > > > Spring Batch in Action
> > > > > > > > > > > > > <https://www.amazon.com/gp/product/1935182951
> > > > > > > > > > > > > /ref=as_li_
> > > > > > > > > > > > 
> > > > > > > > > > > > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN
> > > > > > > > > > > > =1935182951&
> > > > > > > > > > > > linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-
> > > > > > > > > > > > 20&linkId=%7B%
> > > > > > > > > > > > 7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
> > > > > > > > > > > > > <http:////ir-na.amazon-
> > > > > > > > > > > > > adsystem.com/e/ir?t=garygregory-
> > > > > > > > > > > > > 20&l=am2&o=1&a=
> > > > > > > > > > > > 
> > > > > > > > > > > > 1935182951>
> > > > > > > > > > > > > Blog: http://garygregory.wordpress.com
> > > > > > > > > > > > > Home: http://garygregory.com/
> > > > > > > > > > > > > Tweet! http://twitter.com/GaryGregory
> > > > > > > > > > > > 
> > > > > > > > > > > > ---------------------------------------------
> > > > > > > > > > > > ---------------
> > > > > > 
> > > > > > -----
> > > > > > > > > > > > ----
> > > > > > > > > > > > To unsubscribe, e-mail: dev-unsubscribe@hc.apac
> > > > > > > > > > > > he.org
> > > > > > > > > > > > For additional commands, e-mail: dev-help@hc.ap
> > > > > > > > > > > > ache.org
> > > > > > > > > > > > 
> > > > > > > > > > > > 
> > > > > > > > > > > 
> > > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > -------------------------------------------------
> > > > > > > > > > -----------
> > > > > > 
> > > > > > ---------
> > > > > > > > > > To unsubscribe, e-mail: dev-unsubscribe@hc.apache.o
> > > > > > > > > > rg
> > > > > > > > > > For additional commands, e-mail: dev-help@hc.apache
> > > > > > > > > > .org
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > --
> > > > > > > > > E-Mail: garydgregory@gmail.com | ggregory@apache.org
> > > > > > > > > Java Persistence with Hibernate, Second Edition
> > > > > > > > > <https://www.amazon.com/gp/product/1617290459/ref=as_
> > > > > > > > > li_
> > > > > > > > 
> > > > > > > > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290
> > > > > > > > 459&
> > > > > > > > linkCode=as2&tag=garygregory-20&linkId=
> > > > 
> > > > cadb800f39946ec62ea2b1af9fe6a2
> > > > > > b8>
> > > > > > > > > 
> > > > > > > > > <http:////ir-na.amazon-adsystem.com/e/ir?t=
> > > > > > 
> > > > > > garygregory-20&l=am2&o=1&a=
> > > > > > > > 1617290459>
> > > > > > > > > JUnit in Action, Second Edition
> > > > > > > > > <https://www.amazon.com/gp/product/1935182021/ref=as_
> > > > > > > > > li_
> > > > > > > > 
> > > > > > > > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182
> > > > > > > > 021&
> > > > > > > > linkCode=as2&tag=garygregory-20&linkId=
> > > > 
> > > > 31ecd1f6b6d1eaf8886ac902a24de4
> > > > > > 18%22
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > <http:////ir-na.amazon-adsystem.com/e/ir?t=
> > > > > > 
> > > > > > garygregory-20&l=am2&o=1&a=
> > > > > > > > 1935182021>
> > > > > > > > > Spring Batch in Action
> > > > > > > > > <https://www.amazon.com/gp/product/1935182951/ref=as_
> > > > > > > > > li_
> > > > > > > > 
> > > > > > > > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182
> > > > > > > > 951&
> > > > > > > > linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-
> > > > > > > > 20&linkId=%7B%
> > > > > > > > 7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
> > > > > > > > > <http:////ir-na.amazon-adsystem.com/e/ir?t=
> > > > > > 
> > > > > > garygregory-20&l=am2&o=1&a=
> > > > > > > > 1935182951>
> > > > > > > > > Blog: http://garygregory.wordpress.com
> > > > > > > > > Home: http://garygregory.com/
> > > > > > > > > Tweet! http://twitter.com/GaryGregory
> > > > > > > > 
> > > > > > > > -----------------------------------------------------
> > > > > > > > -------
> > > > 
> > > > ---------
> > > > > > > > To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
> > > > > > > > For additional commands, e-mail: dev-help@hc.apache.org
> > > > > > > > 
> > > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > --
> > > > > > > E-Mail: garydgregory@gmail.com | ggregory@apache.org
> > > > > > > Java Persistence with Hibernate, Second Edition
> > > > > > > <https://www.amazon.com/gp/product/1617290459/ref=as_li_
> > > > > > 
> > > > > > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&
> > > > > > linkCode=as2&tag=garygregory-
> > > > > > 20&linkId=cadb800f39946ec62ea2b1af9fe6a2
> > > > 
> > > > b8>
> > > > > > > 
> > > > > > > <http:////ir-na.amazon-adsystem.com/e/ir?t=
> > > > 
> > > > garygregory-20&l=am2&o=1&a=
> > > > > > 1617290459>
> > > > > > > JUnit in Action, Second Edition
> > > > > > > <https://www.amazon.com/gp/product/1935182021/ref=as_li_
> > > > > > 
> > > > > > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&
> > > > > > linkCode=as2&tag=garygregory-
> > > > > > 20&linkId=31ecd1f6b6d1eaf8886ac902a24de4
> > > > 
> > > > 18%22
> > > > > > > 
> > > > > > > 
> > > > > > > <http:////ir-na.amazon-adsystem.com/e/ir?t=
> > > > 
> > > > garygregory-20&l=am2&o=1&a=
> > > > > > 1935182021>
> > > > > > > Spring Batch in Action
> > > > > > > <https://www.amazon.com/gp/product/1935182951/ref=as_li_
> > > > > > 
> > > > > > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&
> > > > > > linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-
> > > > > > 20&linkId=%7B%
> > > > > > 7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
> > > > > > > <http:////ir-na.amazon-adsystem.com/e/ir?t=
> > > > 
> > > > garygregory-20&l=am2&o=1&a=
> > > > > > 1935182951>
> > > > > > > Blog: http://garygregory.wordpress.com
> > > > > > > Home: http://garygregory.com/
> > > > > > > Tweet! http://twitter.com/GaryGregory
> > > > > > 
> > > > > > ---------------------------------------------------------
> > > > > > ------------
> > > > > > To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
> > > > > > For additional commands, e-mail: dev-help@hc.apache.org
> > > > > > 
> > > > > > 
> > > > > 
> > > > > 
> > > > > --
> > > > > E-Mail: garydgregory@gmail.com | ggregory@apache.org
> > > > > Java Persistence with Hibernate, Second Edition
> > > > > <https://www.amazon.com/gp/product/1617290459/ref=as_li_
> > > > 
> > > > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&
> > > > linkCode=as2&tag=garygregory-
> > > > 20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>
> > > > > 
> > > > > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-
> > > > > 20&l=am2&o=1&a=
> > > > 
> > > > 1617290459>
> > > > > JUnit in Action, Second Edition
> > > > > <https://www.amazon.com/gp/product/1935182021/ref=as_li_
> > > > 
> > > > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&
> > > > linkCode=as2&tag=garygregory-
> > > > 20&linkId=31ecd1f6b6d1eaf8886ac902a24de4
> > 
> > 18%22
> > > > > 
> > > > > 
> > > > > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-
> > > > > 20&l=am2&o=1&a=
> > > > 
> > > > 1935182021>
> > > > > Spring Batch in Action
> > > > > <https://www.amazon.com/gp/product/1935182951/ref=as_li_
> > > > 
> > > > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&
> > > > linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%
> > > > 7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
> > > > > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-
> > > > > 20&l=am2&o=1&a=
> > > > 
> > > > 1935182951>
> > > > > Blog: http://garygregory.wordpress.com
> > > > > Home: http://garygregory.com/
> > > > > Tweet! http://twitter.com/GaryGregory
> > > > 
> > > > -------------------------------------------------------------
> > > > --------
> > > > To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
> > > > For additional commands, e-mail: dev-help@hc.apache.org
> > > > 
> > > > 
> > > 
> > > 
> > > --
> > > E-Mail: garydgregory@gmail.com | ggregory@apache.org
> > > Java Persistence with Hibernate, Second Edition
> > > <https://www.amazon.com/gp/product/1617290459/ref=as_li_
> > 
> > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&
> > linkCode=as2&tag=garygregory-
> > 20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>
> > > 
> > > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-
> > > 20&l=am2&o=1&a=
> > 
> > 1617290459>
> > > JUnit in Action, Second Edition
> > > <https://www.amazon.com/gp/product/1935182021/ref=as_li_
> > 
> > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&
> > linkCode=as2&tag=garygregory-
> > 20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22>
> > > 
> > > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-
> > > 20&l=am2&o=1&a=
> > 
> > 1935182021>
> > > Spring Batch in Action
> > > <https://www.amazon.com/gp/product/1935182951/ref=as_li_
> > 
> > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&
> > linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%
> > 7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
> > > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-
> > > 20&l=am2&o=1&a=
> > 
> > 1935182951>
> > > Blog: http://garygregory.wordpress.com
> > > Home: http://garygregory.com/
> > > Tweet! http://twitter.com/GaryGregory
> > 
> > -----------------------------------------------------------------
> > ----
> > To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
> > For additional commands, e-mail: dev-help@hc.apache.org
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
> For additional commands, e-mail: dev-help@hc.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org