Respectfully,

Karaf Secateur _sounds_ like a great name for something, but I think it is 
contrary to what this does.  Secateurs are pruning shears.  Unless I have 
missed something, this project adds annotation-based interceptor capability.  
That seems the opposite of pruning, imho.


Cheers,
Hans

-----Original Message-----
From: Jean-Baptiste Onofré <j...@nanthrax.net> 
Sent: Thursday, November 14, 2019 6:38 AM
To: dev@karaf.apache.org
Subject: Re: [PR/DISCUSS] Interceptor module?

I think we have two options:

1. Explicit name: Karaf IoC
2. Fancy name: Karaf Secateur

Either way is fine for me ;)

Regards
JB

On 14/11/2019 13:32, Christian Schneider wrote:
> In that case I am fine with the ioc name.
> 
> Christian
> 
> Am Do., 14. Nov. 2019 um 13:17 Uhr schrieb Romain Manni-Bucau <
> rmannibu...@gmail.com>:
> 
>> Im fine whatever works the most.
>>
>> Ioc proposal comes from the hope to fill the gap between spring/CDI 
>> and OSGi ecosystem without going directly to osgi-cdi which has some 
>> pitfalls for cdi guys.
>> Interceptors were just the first step but it can be more after so 
>> having interceptor in the name sounded limited to me.
>> Hope it clarifies where Im coming from.
>>
>> Le jeu. 14 nov. 2019 à 13:05, Christian Schneider 
>> <ch...@die-schneider.net
>>>
>> a écrit :
>>
>>> Sounds good .. for the name I propose karaf-interceptor.
>>> The name karaf-ioc ( I guess it should mean inversion of control) 
>>> does
>> not
>>> seem to match well what it does.
>>>
>>> Christian
>>>
>>> Am Do., 14. Nov. 2019 um 12:51 Uhr schrieb Jean-Baptiste Onofré <
>>> j...@nanthrax.net>:
>>>
>>>> Agree, my point is that technically possible.
>>>>
>>>> And also agree to create a karaf-ioc repo (it takes me 2 minutes ;)).
>>>>
>>>> We can start a formal vote about that. Let's just wait Romain's
>> feedback.
>>>>
>>>> Regards
>>>> JB
>>>>
>>>> On 14/11/2019 12:44, Christian Schneider wrote:
>>>>> Of course it technically works but it would be the only case in 
>>>>> the
>>> karaf
>>>>> main repo. It would confuse people a lot. I think we should not 
>>>>> start
>>>> this.
>>>>> Creating a new karaf repo is no big issue.
>>>>>
>>>>> Christian
>>>>>
>>>>> Am Do., 14. Nov. 2019 um 11:54 Uhr schrieb Jean-Baptiste Onofré <
>>>>> j...@nanthrax.net>:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> It can be released in its own cycle in the main repo.
>>>>>>
>>>>>> For instance, ServiceMix Bundles are on an unique git repo, but I 
>>>>>> do release of each independently from the others.
>>>>>>
>>>>>> I think we can start like this.
>>>>>>
>>>>>> Regards
>>>>>> JB
>>>>>>
>>>>>> On 14/11/2019 11:09, Christian Schneider wrote:
>>>>>>> The fact that it evolves a lot at the start is even another
>> argument
>>> to
>>>>>>> keep it out of the karaf main repo as there you can only release
>>>> together
>>>>>>> with karaf.
>>>>>>>
>>>>>>> I think in the end it is your decision - either a new karaf repo 
>>>>>>> (I
>>> can
>>>>>>> create it for you) or a new aries repo (again I can create it) 
>>>>>>> or
>> the
>>>>>> aries
>>>>>>> main repo. So all options should be pretty quick to do.
>>>>>>> (Of course if you decide for aries we need an approval from the 
>>>>>>> pmc
>>> of
>>>>>>> aries but I guess that is rather a formality as most are also in
>> this
>>>>>> list
>>>>>>> and would have objected if they did not want it at aries).
>>>>>>>
>>>>>>> Christian
>>>>>>>
>>>>>>> Am Mi., 13. Nov. 2019 um 09:39 Uhr schrieb Romain Manni-Bucau <
>>>>>>> rmannibu...@gmail.com>:
>>>>>>>
>>>>>>>> I kind of share the fact code will likely be stable - that 
>>>>>>>> said,
>>>>>> depending
>>>>>>>> the adoption it can evolve quite a lot for ~1 year I think 
>>>>>>>> (adding
>>>>>> method
>>>>>>>> binding support is the one I have in mind if the module works
>> great
>>>>>> without
>>>>>>>> this feature).
>>>>>>>> Where I'm a bit less "easy" is cause karaf has jms, jpa, jdbc 
>>>>>>>> etc
>>>>>> modules
>>>>>>>> so it sounds it is on the same plan to me, no?
>>>>>>>> That said, once again any home will be fine for me while it 
>>>>>>>> exists
>>> ;)
>>>>>>>>
>>>>>>>> Le mer. 13 nov. 2019 à 09:29, Christian Schneider <
>>>>>> ch...@die-schneider.net
>>>>>>>>>
>>>>>>>> a écrit :
>>>>>>>>
>>>>>>>>> I would not put the new code into an existing Aries subproject.
>>>> Instead
>>>>>>>> we
>>>>>>>>> could add a new one.
>>>>>>>>> Either in its own git repo or in the shared one (depends on 
>>>>>>>>> how
>> we
>>>> want
>>>>>>>> to
>>>>>>>>> release).
>>>>>>>>>
>>>>>>>>> @Romain .. do you plan to version by bundle or the whole
>>> interceptor
>>>>>>>>> subproject?
>>>>>>>>> If you plan to release by bundle then the aries main git would
>> be a
>>>>>> great
>>>>>>>>> fit as the modules there are released in the same fashion.
>>>>>>>>> If you plan to always release the whole interceptor tree then 
>>>>>>>>> a
>> new
>>>> git
>>>>>>>>> repo in aries or karaf would work great.
>>>>>>>>>
>>>>>>>>> The karaf main repo would be a bad choice as I think the
>>> interceptor
>>>>>> code
>>>>>>>>> will be quite stable after some time while karaf will always 
>>>>>>>>> be
>>>>>> changing.
>>>>>>>>>
>>>>>>>>> Christian
>>>>>>>>>
>>>>>>>>> Am Di., 12. Nov. 2019 um 11:23 Uhr schrieb Romain Manni-Bucau 
>>>>>>>>> <
>>>>>>>>> rmannibu...@gmail.com>:
>>>>>>>>>
>>>>>>>>>> Updated the code, last changes are mainly:
>>>>>>>>>>
>>>>>>>>>> 1. moving the module in the right parent (I put it in service
>>>> instead
>>>>>>>> of
>>>>>>>>>> service*s* originally)
>>>>>>>>>> 2. added an E2E test using pax-exam 3. make it work :)
>>>>>>>>>>
>>>>>>>>>> I added a doc page ([1]) to try to share more what it tries 
>>>>>>>>>> to
>>>>>> achieve.
>>>>>>>>>>
>>>>>>>>>> About aries, the proxy module looks almost 100% bound to
>> blueprint
>>>> so
>>>>>>>>>> didn't see it as an option but I don't have a really strong
>>> blocker
>>>>>>>>> there,
>>>>>>>>>> I'll fully trust the OSGi@apache community on that.
>>>>>>>>>>
>>>>>>>>>> [1]
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>
>>>>
>>>
>> https://github.com/apache/karaf/pull/993/files#diff-6aaf055d932f602b0
>> 6135e6446ee6c2eR15
>>>>>>>>>>
>>>>>>>>>> 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-perfo
>> rmance
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Le mar. 12 nov. 2019 à 08:15, Grzegorz Grzybek <
>>>> gr.grzy...@gmail.com>
>>>>>>>> a
>>>>>>>>>> écrit :
>>>>>>>>>>
>>>>>>>>>>> Hello
>>>>>>>>>>>
>>>>>>>>>>> pon., 11 lis 2019 o 20:45 Christian Schneider <
>>>>>>>> ch...@die-schneider.net
>>>>>>>>>>
>>>>>>>>>>> napisał(a):
>>>>>>>>>>>
>>>>>>>>>>>> Great to hear that you already considered aspecio.
>>>>>>>>>>>> If we want to put this into apache then I rather would 
>>>>>>>>>>>> suggest
>>>>>>>> Apache
>>>>>>>>>>>> Felix, Apache Aries or a Karaf submodule.
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Yes, IMO it'd fit more into Apache Aries Proxy.
>>>>>>>>>>>
>>>>>>>>>>> regards
>>>>>>>>>>> Grzegorz Grzybek
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> The interceptor support is a small standalone module that
>> should
>>>>>>>> have
>>>>>>>>>> its
>>>>>>>>>>>> own lifecycle.
>>>>>>>>>>>> Putting it in the main karaf tree would mean it is released
>> for
>>>>>>>> every
>>>>>>>>>>> karaf
>>>>>>>>>>>> version.
>>>>>>>>>>>>
>>>>>>>>>>>> Christian
>>>>>>>>>>>>
>>>>>>>>>>>> Am Mo., 11. Nov. 2019 um 20:38 Uhr schrieb Romain 
>>>>>>>>>>>> Manni-Bucau
>> <
>>>>>>>>>>>> rmannibu...@gmail.com>:
>>>>>>>>>>>>
>>>>>>>>>>>>> @Christian yes and no. Ray pointed out aspecio to me but I
>> had
>>> a
>>>>>>>>> few
>>>>>>>>>>>> issues
>>>>>>>>>>>>> with it:
>>>>>>>>>>>>>
>>>>>>>>>>>>> 1. it brings its own stack - and yes I care about each 
>>>>>>>>>>>>> single
>>> dep
>>>>>>>>> my
>>>>>>>>>>> app
>>>>>>>>>>>>> brings cause, a) network usage the size can implies with
>> modern
>>>>>>>>>>>>> deployments, b) security vulnerabilities the stack can hide.
>>>>>>>>>>>>> 2. it is not at asf or asf influenced (as part of codehaus
>>>>>>>> projects
>>>>>>>>>> had
>>>>>>>>>>>>> been in early times for exapple) with all it implies in 
>>>>>>>>>>>>> terms
>>> of
>>>>>>>>>>>> governance
>>>>>>>>>>>>> and legal quality.
>>>>>>>>>>>>> 3. the API is reinvented compared to the final step of my
>>>>>>>> proposal
>>>>>>>>>>> which
>>>>>>>>>>>>> would be aligned on the standard. Current version of code 
>>>>>>>>>>>>> is
>>>>>>>> almost
>>>>>>>>>>>> aligned
>>>>>>>>>>>>> on interceptor API (you just sed the package for the
>> mainstream
>>>>>>>>>> usage)
>>>>>>>>>>>> but
>>>>>>>>>>>>> the consumer side is a bit different, I must refine it to 
>>>>>>>>>>>>> be
>>>>>>>> closer
>>>>>>>>>> to
>>>>>>>>>>>> CDI
>>>>>>>>>>>>> but it is just a matter of handling RUNTIME interceptor
>>>>>>>> annotations
>>>>>>>>>> and
>>>>>>>>>>>>> just using @Interceptors as a component property type of 
>>>>>>>>>>>>> type
>>>>>>>>> boolean
>>>>>>>>>>> and
>>>>>>>>>>>>> not a value holder which breaks interceptor simplicity.
>>>>>>>>>>>>> 4. it is a one guy github project (even if code quality is
>> not
>>>>>>>> bad)
>>>>>>>>>> so
>>>>>>>>>>>> not
>>>>>>>>>>>>> something you can reliably use in a professional project
>>>>>>>> (<joke>we
>>>>>>>>>>> don't
>>>>>>>>>>>>> code in javascript ;)</joke>) 5. no commit since > 1 year?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Hope it clarifies a bit how I ended up on that proposal.
>>>>>>>>>>>>>
>>>>>>>>>>>>> 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-perfo
>> rmance
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Le lun. 11 nov. 2019 à 20:22, Jean-Baptiste Onofré <
>>>>>>>>> j...@nanthrax.net>
>>>>>>>>>> a
>>>>>>>>>>>>> écrit :
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi Romain,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> that sounds great to me ! Thanks for that.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> First, you did well in terms of modules organization: it
>> makes
>>>>>>>>>> sense
>>>>>>>>>>> to
>>>>>>>>>>>>>> have interceptor in service (like staticcm).
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> About the use case, it makes sense as well. I will take a
>>>>>>>> deeper
>>>>>>>>>> look
>>>>>>>>>>>>> soon.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks again !
>>>>>>>>>>>>>> Regards
>>>>>>>>>>>>>> JB
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On 11/11/2019 19:37, Romain Manni-Bucau wrote:
>>>>>>>>>>>>>>> Hi all,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I took some time this week-end to draft an interceptor
>> module
>>>>>>>>> in
>>>>>>>>>>>> Karaf.
>>>>>>>>>>>>>>> I tried to describe it in the related PR ([1]) - in WIP
>> mode
>>>>>>>> so
>>>>>>>>>>> don't
>>>>>>>>>>>>>> jump
>>>>>>>>>>>>>>> on me yet cause tests are not there please ;).
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> High level, I missed a lot interceptors (from javax.) 
>>>>>>>>>>>>>>> when
>>>>>>>>>> starting
>>>>>>>>>>>> to
>>>>>>>>>>>>>> use
>>>>>>>>>>>>>>> SCR.
>>>>>>>>>>>>>>> It mainly change the way to add transversal features
>>>>>>>> (metrics,
>>>>>>>>>>>>> security,
>>>>>>>>>>>>>>> tracing, circuit-breaker, asynchronism to cite a few).
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I still have some API refinement to do but high level it
>>>>>>>> would
>>>>>>>>>>>> enable a
>>>>>>>>>>>>>>> service to be marked as intercepted ([2]) and implement
>>>>>>>>>>> interceptors
>>>>>>>>>>>>> "as
>>>>>>>>>>>>>>> usual" ([3]) and link them with a marker (in the PoC it 
>>>>>>>>>>>>>>> is
>> an
>>>>>>>>>>>>>> annotation).
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> It is in very early stages but before investing way more
>>>>>>>> time,
>>>>>>>>>> I'd
>>>>>>>>>>>> like
>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>> know if it sounds like a module Karaf could host and 
>>>>>>>>>>>>>>> would
>>>>>>>>>> benefit
>>>>>>>>>>>> more
>>>>>>>>>>>>>>> than me or if it is an "EE guy" idea ;).
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Wdyt?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> [1] https://github.com/apache/karaf/pull/993
>>>>>>>>>>>>>>> [2]
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>
>>>>
>>>
>> https://github.com/apache/karaf/pull/993/files#diff-5edc34da45232dc12
>> a96cae52e620adcR22
>>>>>>>>>>>>>>> [3]
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>
>>>>
>>>
>> https://github.com/apache/karaf/pull/993/files#diff-412d137df581cff19
>> 38e723692a1ec45R24
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> 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-perfo
>> rmance
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> Jean-Baptiste Onofré
>>>>>>>>>>>>>> jbono...@apache.org
>>>>>>>>>>>>>> http://blog.nanthrax.net
>>>>>>>>>>>>>> Talend - http://www.talend.com
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> --
>>>>>>>>>>>> Christian Schneider
>>>>>>>>>>>> http://www.liquid-reality.de
>>>>>>>>>>>>
>>>>>>>>>>>> Computer Scientist
>>>>>>>>>>>> http://www.adobe.com
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> --
>>>>>>>>> Christian Schneider
>>>>>>>>> http://www.liquid-reality.de
>>>>>>>>>
>>>>>>>>> Computer Scientist
>>>>>>>>> http://www.adobe.com
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> Jean-Baptiste Onofré
>>>>>> jbono...@apache.org
>>>>>> http://blog.nanthrax.net
>>>>>> Talend - http://www.talend.com
>>>>>>
>>>>>
>>>>>
>>>>
>>>> --
>>>> Jean-Baptiste Onofré
>>>> jbono...@apache.org
>>>> http://blog.nanthrax.net
>>>> Talend - http://www.talend.com
>>>>
>>>
>>>
>>> --
>>> --
>>> Christian Schneider
>>> http://www.liquid-reality.de
>>>
>>> Computer Scientist
>>> http://www.adobe.com
>>>
>>
> 
> 

--
Jean-Baptiste Onofré
jbono...@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com

Reply via email to