These annotations are the SAME as have been published all over the place,
so I do not think we need a PR for review. Reviewing the code in the repo
should be enough, but I'm not sure _what_ there is to review really. I've
already posted a link to the sources (a pastebin link). I'll create a Jira
of course.

Gary

On Sun, Nov 27, 2016 at 1:20 PM, Benedikt Ritter <brit...@apache.org> wrote:

> Hi,
>
> Gary Gregory <garydgreg...@gmail.com> schrieb am So., 27. Nov. 2016 um
> 21:01 Uhr:
>
> > So let's start with the CLASS retention annotations first. I'll commit
> > later today.
> >
>
> Maybe create a GitHub PR so people can have a look before it goes to
> master?
>
> Benedikt
>
>
> >
> > Gary
> >
> > On Nov 27, 2016 9:50 AM, "Matt Sicker" <boa...@gmail.com> wrote:
> >
> > > I feel like documenting thread safety in such a low level, widely used
> > > library like [lang] is a great idea. Whether it uses annotations,
> > javadocs,
> > > or some sort of informal javadoc comments isn't too big a deal to me,
> but
> > > providing some guarantees of thread safety or lack thereof would be
> > > invaluable information.
> > >
> > > On 27 November 2016 at 07:11, Benedikt Ritter <brit...@apache.org>
> > wrote:
> > >
> > > > I thought we decided to abstain from documenting thread safety since
> it
> > > > would get outdated quickly anyway.
> > > >
> > > > Gary Gregory <garydgreg...@gmail.com> schrieb am So., 27. Nov. 2016
> um
> > > > 09:11 Uhr:
> > > >
> > > > > But if we then want a runtime version we had an odd packaging with
> > > CLASS
> > > > > retention in .concurrent. and RUNTIME in .concurrent.runtime.
> > > > >
> > > > > I might be in YAGNI territory here...
> > > > >
> > > > > Gary
> > > > >
> > > > > On Sat, Nov 26, 2016 at 10:07 PM, Matt Sicker <boa...@gmail.com>
> > > wrote:
> > > > >
> > > > > > I think adding the additional clazz/runtime package would be a
> > little
> > > > > > overkill if you only include one packaging option for now.
> > > > > >
> > > > > > On 27 November 2016 at 00:04, Gary Gregory <
> garydgreg...@gmail.com
> > >
> > > > > wrote:
> > > > > >
> > > > > > > On Nov 26, 2016 8:40 PM, "Matt Sicker" <boa...@gmail.com>
> wrote:
> > > > > > > >
> > > > > > > > I can think of a couple use cases for runtime retention for
> > > thread
> > > > > > safety
> > > > > > > > annotations, but they're not specific to commons lang.
> > > > > > > >
> > > > > > > > 1. A framework could choose what type of data structure or
> > > > algorithm
> > > > > to
> > > > > > > use
> > > > > > > > at runtime based on the presence of which thread safety
> > > annotation
> > > > is
> > > > > > on.
> > > > > > > > Same for mutability.
> > > > > > > > 2. A testing framework could use these annotations to try and
> > > > > automate
> > > > > > > some
> > > > > > > > sort of thread safety tests, though that sounds like a hard
> > > problem
> > > > > to
> > > > > > > > actually implement.
> > > > > > > >
> > > > > > > > However, it'd be easier to just start with class retention
> (or
> > > > source
> > > > > > > > retention) just for documentation purposes. Higher retention
> > > levels
> > > > > > could
> > > > > > > > be added later if an important use case came up.
> > > > > > >
> > > > > > > But which packaging option?
> > > > > > >
> > > > > > > Gary
> > > > > > > >
> > > > > > > > On 26 November 2016 at 19:56, Gary Gregory <
> > > garydgreg...@gmail.com
> > > > >
> > > > > > > wrote:
> > > > > > > >
> > > > > > > > > On Sat, Nov 26, 2016 at 3:54 PM, sebb <seb...@gmail.com>
> > > wrote:
> > > > > > > > >
> > > > > > > > > > On 26 November 2016 at 19:25, Gary Gregory <
> > > > > garydgreg...@gmail.com
> > > > > > >
> > > > > > > > > wrote:
> > > > > > > > > > > On a [crypto] thread, I mentioned
> > > > http://pastebin.com/RKPGGdJ9
> > > > > > to
> > > > > > > add
> > > > > > > > > > the
> > > > > > > > > > > "classic" four javax.annotation.concurrent annotations
> to
> > > two
> > > > > > > packages
> > > > > > > > > > > (.clazz and .runtime) in Commons Lang for CLASS and
> > RUNTIME
> > > > > > > retentions.
> > > > > > > > > > >
> > > > > > > > > > > You'd use the CLASS version to avoid a hard dependency
> on
> > > > > [lang].
> > > > > > > > > RUNTIME
> > > > > > > > > > > to keep them around.
> > > > > > > > > > >
> > > > > > > > > > > We'd use the CLASS versions in all of Commons for
> > > documenting
> > > > > > > thread
> > > > > > > > > > safety.
> > > > > > > > > > >
> > > > > > > > > > > Thoughts?
> > > > > > > > > >
> > > > > > > > > > Definitely Class retention, not Runtime.
> > > > > > > > > > You don't want to have to include the annotation jar on
> the
> > > > > runtime
> > > > > > > > > > classpath.
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > > Hi Sebb,
> > > > > > > > >
> > > > > > > > > Right now I have both of these packages:
> > > > > > > > >
> > > > > > > > > - org.apache.commons.lang3.annotation.concurrent.clazz
> > > > > > > > > - org.apache.commons.lang3.annotation.concurrent.runtime
> > > > > > > > >
> > > > > > > > > Each with a copy of:
> > > > > > > > >
> > > > > > > > > GuardedBy
> > > > > > > > > Immutable
> > > > > > > > > NotThreadSafe
> > > > > > > > > ThreadSafe
> > > > > > > > >
> > > > > > > > > Should we include what I have as is?
> > > > > > > > >
> > > > > > > > > If we were to only provide the annotation at the CLASS
> > > retention
> > > > > > level,
> > > > > > > > > should we still package them in
> > ...annotation.concurrent.clazz
> > > in
> > > > > > case
> > > > > > > we
> > > > > > > > > want to provide annotation.concurrent.runtime later?
> > > > > > > > >
> > > > > > > > > If we know for certain we never want to provide RUNTIME
> > > > retention,
> > > > > we
> > > > > > > can
> > > > > > > > > put them all in annotation.concurrent now.
> > > > > > > > >
> > > > > > > > > Thoughts?
> > > > > > > > >
> > > > > > > > > Gary
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > > [I don't know why the annotations were ever considered
> > > suitable
> > > > > for
> > > > > > > > > > runtime]
> > > > > > > > > >
> > > > > > > > > > > Gary
> > > > > > > > > > >
> > > > > > > > > > > --
> > > > > > > > > > > E-Mail: garydgreg...@gmail.com | ggreg...@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@commons.
> apache.org
> > > > > > > > > > For additional commands, e-mail:
> > dev-h...@commons.apache.org
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > --
> > > > > > > > > E-Mail: garydgreg...@gmail.com | ggreg...@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
> > > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > --
> > > > > > > > Matt Sicker <boa...@gmail.com>
> > > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Matt Sicker <boa...@gmail.com>
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > E-Mail: garydgreg...@gmail.com | ggreg...@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
> > > > >
> > > >
> > >
> > >
> > >
> > > --
> > > Matt Sicker <boa...@gmail.com>
> > >
> >
>



-- 
E-Mail: garydgreg...@gmail.com | ggreg...@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

Reply via email to