No, it's not reinventing the wheel because those parts are missing in the CDI 
spec.

The point is to keep the same <interceptors><class> but you can switch the 
actual behaviour purely via config.
That way we don't need to change the beans.xml content for switching e.g. 
between resource_local and UserTransaction handling for @Transactional.

And this is important because otherwise users would need to re-package 
deltaspike jars :(

So no, there is imo no way to do the same functionality in CDI - not even 
CDI-2.0

LieGrue,
strub



> Am 26.04.2018 um 07:16 schrieb Romain Manni-Bucau <rmannibu...@gmail.com>:
> 
> there are 2 issues:
> 
> 1. we reinvent the wheel and do a competitive API compared to CDI
> 2. most of them - except maybe tx one - will never be implemented by any
> user
> 
> So we kind of encourage users to do it wrong.
> 
> Always thought it was technical workarounds so now we are in 2018 I think
> we can slowly hide it or even drop it when not relevant (all core
> interceptors pby)
> 
> 
> 
> Romain Manni-Bucau
> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> <https://rmannibucau.metawerx.net/> | Old Blog
> <http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> <https://www.packtpub.com/application-development/java-ee-8-high-performance>
> 
> 2018-04-26 7:06 GMT+02:00 Gerhard Petracek <gpetra...@apache.org>:
> 
>> the concrete interceptor-strategies (like TransactionStrategy) are part of
>> our spi. your suggestion would mean that we would need to move them as well
>> (= remove them from the spi).
>> def. -1 for that because i know several users who are using them.
>> i really don't get the issue you have with a simple marker interface (after
>> we have it for 7 years - including codi).
>> 
>> btw. there are users out there who re-use InterceptorStrategy for their
>> internal interceptor-strategies (of their own libs).
>> 
>> regards,
>> gerhard
>> 
>> 
>> 
>> 2018-04-26 6:41 GMT+02:00 Romain Manni-Bucau <rmannibu...@gmail.com>:
>> 
>>> Still means it doesnt have to be in the API right?
>>> 
>>> Le 26 avr. 2018 00:44, "Gerhard Petracek" <gpetra...@apache.org> a
>> écrit :
>>> 
>>>> #1 with cdi 1.0 (or to be more concrete: owb for cdi 1.0) you can't get
>>> rid
>>>> of pre-configured interceptors (that's why we introduced the
>>>> interceptor-strategy concept initially).
>>>> #2 e.g. TransactionStrategy has benefits beyond that (a public example
>> is
>>>> the usage in the ds-data-module)
>>>> 
>>>> regards,
>>>> gerhard
>>>> 
>>>> 
>>>> 
>>>> 2018-04-25 6:58 GMT+02:00 Romain Manni-Bucau <rmannibu...@gmail.com>:
>>>> 
>>>>> I get it but it means we add a layer on top of interceptor for
>>>>> pluggability. This is actually built in in CDI so not really needed.
>>>>> 
>>>>> Also the hierarchy point is fine but should be per type of strategy
>> and
>>>>> therefore we dont need a generic one in the api.
>>>>> 
>>>>> As a user if i use DS and an interceptor, do i need to impl this
>> public
>>>>> api? Never normally so this sounds more misleading or reinventing the
>>>> wheel
>>>>> than anything else for me.
>>>>> 
>>>>> That said we can move it in our impl modules to keep the feature but
>>>> still
>>>>> a clean api.
>>>>> 
>>>>> Le 24 avr. 2018 23:21, "Gerhard Petracek" <gpetra...@apache.org> a
>>>> écrit :
>>>>> 
>>>>>> a concrete example:
>>>>>> @Transactional
>>>>>> 
>>>>>> ->
>>>>>> @Interceptor is on TransactionalInterceptor whereas
>>> InterceptorStrategy
>>>>> is
>>>>>> the marker interface for the strategies (and not the interceptor) -
>>> in
>>>>> this
>>>>>> case TransactionStrategy.
>>>>>> 
>>>>>> (to quickly get an overview of all interceptor-strategies you just
>>> need
>>>>> to
>>>>>> open the hierarchy-view for InterceptorStrategy and you have
>>> everything
>>>>> you
>>>>>> need with one step...)
>>>>>> 
>>>>>> regards,
>>>>>> gerhard
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 2018-04-24 22:35 GMT+02:00 Romain Manni-Bucau <
>> rmannibu...@gmail.com
>>>> :
>>>>>> 
>>>>>>> Hmm not sure i get it, annotations are hard to browse in IDE? Is
>> it
>>>>> what
>>>>>> it
>>>>>>> addresses?
>>>>>>> 
>>>>>>> Le 24 avr. 2018 21:10, "Gerhard Petracek" <gpetra...@apache.org>
>> a
>>>>>> écrit :
>>>>>>> 
>>>>>>>> hi romain,
>>>>>>>> 
>>>>>>>> not really. 1 interceptor could have n strategies as candidates
>>>> (e.g.
>>>>>> see
>>>>>>>> TransactionStrategy for which we provide multiple
>> implementations
>>>>>>>> out-of-the-box).
>>>>>>>> that's the whole concept. the marker interfaces is just to find
>>> all
>>>>>>>> strategies in a project easily.
>>>>>>>> we have it since 02/2011 (back then it was  codi) and a lot of
>>>> users
>>>>>> are
>>>>>>>> using it (during the dev. process) and i haven't heard about
>> any
>>>>>> concern
>>>>>>>> (from users).
>>>>>>>> 
>>>>>>>> regards,
>>>>>>>> gerhard
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 2018-04-24 19:31 GMT+02:00 Romain Manni-Bucau <
>>>> rmannibu...@gmail.com
>>>>>> :
>>>>>>>> 
>>>>>>>>> Le 24 avr. 2018 19:18, "Gerhard Petracek" <
>>> gpetra...@apache.org>
>>>> a
>>>>>>>> écrit :
>>>>>>>>> 
>>>>>>>>> it was always just a marker-interface to list all
>>>>>>> interceptor-strategies
>>>>>>>>> easily.
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> But if it is just interceptors, doesnt @Interceptor fulfills
>>> that
>>>>>>>> already?
>>>>>>>>> 
>>>>>>>>> My only concern is exposing it in api to user where it is
>>>> actually
>>>>> a
>>>>>>> dead
>>>>>>>>> interface.
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> regards,
>>>>>>>>> gerhard
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 2018-04-24 13:47 GMT+02:00 Thomas Andraschko <
>>>>>>>> andraschko.tho...@gmail.com
>>>>>>>>>> :
>>>>>>>>> 
>>>>>>>>>> basically +1
>>>>>>>>>> but its still used currently
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 2018-04-23 11:46 GMT+02:00 Romain Manni-Bucau <
>>>>>> rmannibu...@gmail.com
>>>>>>>> :
>>>>>>>>>> 
>>>>>>>>>>> Hi guys,
>>>>>>>>>>> 
>>>>>>>>>>> Do we still need InterceptorStrategy?
>>>>>>>>>>> 
>>>>>>>>>>> If not, can we deprecate it and remove it from our
>> built-in
>>>>>>>>> interceptors?
>>>>>>>>>>> 
>>>>>>>>>>> Romain Manni-Bucau
>>>>>>>>>>> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
>>>>>>>>>>> <https://rmannibucau.metawerx.net/> | Old Blog
>>>>>>>>>>> <http://rmannibucau.wordpress.com> | Github <
>>>>> https://github.com/
>>>>>>>>>>> rmannibucau> |
>>>>>>>>>>> LinkedIn <https://www.linkedin.com/in/rmannibucau> |
>> Book
>>>>>>>>>>> <https://www.packtpub.com/application-development/java-
>>>>>>>>>>> ee-8-high-performance>
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>> 
>>>> 
>>> 
>> 

Reply via email to