> Am 02.02.2015 um 13:58 schrieb Baptiste Mathus <[email protected]>:
> 
> Hi Ulli,
> 
> In the meantime, I dug a bit more, and actually I seem to understand that 
> even if you keep a reference to ExtensionList in your plugin, ExtensionLists 
> would be refreshed if new extensions are detected [1].
> I'd like to get it confirmed though, either here or by also reading more core 
> code and testing it from a plugin behaviour perspective.
> 
> If so, I suppose plugins should/could always keep the ExtensionList refs they 
> need since there's no risk of not being up-to-date this way. I'll update the 
> dev docs with that information once sure.
> 

Hmm, I’m not sure if that is ok. Since it is not explicitly described in the 
API that the returned list will be automatically updated you should not rely on 
it. (I think it is quite dangerous that Jenkins returns the internal state here 
rather than a read-only view or a copy of the existing list. So if someone 
decides to hide the internal structure and hand out only a copy than your code 
will break...)

> Cheers
> 
> -- Baptiste
> [1] 
> http://javadoc.jenkins-ci.org/hudson/ExtensionList.html#refresh(jenkins.ExtensionComponentSet)
>  
> <http://javadoc.jenkins-ci.org/hudson/ExtensionList.html#refresh(jenkins.ExtensionComponentSet)>
> 
> 
> 2015-02-02 13:48 GMT+01:00 Ulli Hafner <[email protected] 
> <mailto:[email protected]>>:
> 
>> Am 01.02.2015 um 18:32 schrieb Baptiste Mathus <[email protected] 
>> <mailto:[email protected]>>:
>> 
>> Hi all,
>> Currently adding an extension point to my plugin, I was wondering if I 
>> should try and cache the results of getExtensionList() at some point (I read 
>> one good place may be in postInitialize()).
>> 
>> In that case though, if some plugin gets installed without restarting the 
>> server, I guess I won't have the potential new registered extensions. That 
>> bothers me a bit.
>> 
>> Is there some recommended pattern/way to be a good citizen in this area 
>> (I.e. handling extensions from the plugins in general)?
>> 
>> One solution here would be to never cache the results and always call 
>> getExtensionList(). Is this something reasonable?
>> 
> Yes, I think this is reasonable to always call getExtensionList(). Isn’t that 
> list already cached by Jenkins? So it would not hurt to call that method 
> multiple times...
> 
>> (In my case, for *every* build of the Jenkins instance...). Seems a bit 
>> wasteful at first sight.
>> 
>> Or is there some maybe an extension point to implement to be notified of new 
>> extension registrations? :)
>> 
>> Thanks for your advice.
>> 
>> Cheers
>> 
>> -- Baptiste
>> 
>> 
>> --
>> You received this message because you are subscribed to the Google Groups 
>> "Jenkins Developers" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] 
>> <mailto:[email protected]>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/jenkinsci-dev/CANWgJS4%3D5a%3Dwr%3DU-Ube1f9FDGcN1NjFuki-Jp6QSiKLax58S2A%40mail.gmail.com
>>  
>> <https://groups.google.com/d/msgid/jenkinsci-dev/CANWgJS4%3D5a%3Dwr%3DU-Ube1f9FDGcN1NjFuki-Jp6QSiKLax58S2A%40mail.gmail.com?utm_medium=email&utm_source=footer>.
>> For more options, visit https://groups.google.com/d/optout 
>> <https://groups.google.com/d/optout>.
> 
> 
> --
> You received this message because you are subscribed to the Google Groups 
> "Jenkins Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] 
> <mailto:[email protected]>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/jenkinsci-dev/86A6D8D7-6666-4F1F-A6B4-0FCCAA51F7F1%40gmail.com
>  
> <https://groups.google.com/d/msgid/jenkinsci-dev/86A6D8D7-6666-4F1F-A6B4-0FCCAA51F7F1%40gmail.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.
> 
> 
> 
> --
> Baptiste <Batmat> MATHUS - http://batmat.net <http://batmat.net/>
> Sauvez un arbre,
> Mangez un castor !
> 
> --
> You received this message because you are subscribed to the Google Groups 
> "Jenkins Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] 
> <mailto:[email protected]>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/jenkinsci-dev/CANWgJS5_b0qxG73PCyA3Qi28-YGpm97PTN%3DYB1Q41k4dA9Y1Ag%40mail.gmail.com
>  
> <https://groups.google.com/d/msgid/jenkinsci-dev/CANWgJS5_b0qxG73PCyA3Qi28-YGpm97PTN%3DYB1Q41k4dA9Y1Ag%40mail.gmail.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/0BFBAF0F-8468-46C7-8F6F-F69A728DA36F%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to