-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Mark,

On 1/28/20 4:56 PM, Mark Thomas wrote:
> On 28/01/2020 21:50, Christopher Schultz wrote:
>> Michael,
>> 
>> On 1/28/20 3:51 PM, Michael Osipov wrote:
>>> Am 2020-01-25 um 12:13 schrieb Mark Thomas:
>>>> On 23/01/2020 10:29, Michael Osipov wrote:
>>>> 
>>>> <snip/>
>>>> 
>>>>> Design questions: * Shall this remain a listener or do we
>>>>> want to introduce a new interface for that? If yes, how
>>>>> should it look like?
>>>> 
>>>> Given the use cases (could apply at various levels) a 
>>>> LifecycleListener looks like a reasonable design choice to
>>>> me.
>>>> 
>>>> I don't see the need for an additional interface (although I 
>>>> could be persuaded if someone else makes an argument for
>>>> one)
>>>> 
>>>>> * Where can this element be placed? Only in context.xml?
>>>>> Also in server.xml? If yes, at which level are contexts
>>>>> available to be modified? Can this be placed in server.xml
>>>>> at all?
>>>> 
>>>> LifecycleListener can be placed on most elements so it gives 
>>>> plenty of flexibility.
>>>> 
>>>>> If it remains as a listener, I would be willing to donate
>>>>> my listener to the Tomcat codebase and add support for
>>>>> file:// or other stuff required.
>>>> 
>>>> Fantastic. Thank you. Take a look at the ConfigFileLoader.
>>>> All Tomcat config should be loaded through that.
>>>> 
>>>>> From my understanding, the mapping source can be
>>>>> arbitrary: inline, database, file, etc.
>>>> 
>>>> Agreed.
>> 
>>> Great, I will pick this up next month and have a look how the 
>>> ConfigFileLoader works. I hope I can cover at least all
>>> current cases.
>> 
>>> I wonder now which of the components implementing Container
>>> should be subject to this listener?
>> 
>>> Engine, Host, Context? Context is trivial, but the rest? They 
>>> start before the contexts, I cannot simply say
>>> Host#findChildren() at CONFIGURE_START_EVENT. It does not make
>>> sense logically.
>> 
>>> At the moment the Context seems to be the only viable place
>>> unless the mappings are held in memory unless all contexts load
>>> and query them. This would require to change the Container
>>> interface.
>> 
>>> Comments?
>> 
>> I think this only makes sense at the <Context> level because the 
>> security-roles are all defined at the context-level as well. They
>> may be shared across a bunch of applications, but that's just a
>> coincidence.
>> 
>> Mapping this across multiple <Context>s won't be a huge burden,
>> given the other options.
>> 
>> Another option might be to allow a LifecycleListener to attach
>> some information to a <Host> (not sure where that might be) and
>> then you can have /another/ LifecycleListener attached to the
>> <Context>. The global one defines the mapping but doesn't
>> actually take any action. The <Context>-attached
>> LifecycleListener then looks-up the tree to parent components
>> looking for the mappings, and applies them as the context is
>> being deployed.
>> 
>> Seems more work than necessary, though. Just have admins bless
>> each <Context> and be done with it.
> 
> You can add something to a host and then have it do something every
> time a child (i.e. Context) is added. Looking at the code for
> MapperListener might give you some ideas of the sort of thing you
> can do.

Oh, that's interesting.

- -chris
-----BEGIN PGP SIGNATURE-----
Comment: Using GnuPG with Thunderbird - https://www.enigmail.net/

iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAl4xsi0ACgkQHPApP6U8
pFhXnxAAmrMtnIlzzsFEu1ihLXsogf7XuZ3hpOZH7VY90Zhn3p2aLvLcACCFvjOc
+/ClAvddQbQtA/RVn65y1NLuTQeUtttlaeDAUWbh/iWcDo+wniNAlsPidesWHCAN
kgxGDzOZyFH30HO16gJfb4dcWFTm/h15o0Ur7cL15Z4/NMGVZP9G3en9crH40qBW
7vSzbBm5j2wFM6jjsFd8lSqTeV+JK4NtiWXqb1nCkSZDJDzreJOpQcUjYoMaYWqw
Ut5YLL35ukuph7rry/erfjM84BvT87U/mf1ZjLSs6YmZgbGrQ7/Yw95263j9Td0b
bECMEkJnqBprDt/b5LPesMs48D3JTUdAluHTI0BzKa9Qsk8Ypsuy6dkB3A7oHgop
6I/Ry5LSZmkQt2HIQPody0TOiCHCYrdQMQtwgiyK5zOtl1v/L/sUKmw71K+wNwOh
TjW+ZKaPNbZ7lwHDhgBG4cM2soycPge8euiyJZ1JHp4Tf7/7zUarnoohfKPUtgGP
YWnXzcD99azoS5tohlFsZm+Gj3CYs46f01uQx0BqusC4YEUiYT3IYTyQqlGpSNs5
uCijLZZXLuwdzUWaFanOEKsmPKrgN13ZTCxvO67vPygOs3OSz5lO+UzEgbYu5SEg
LN55Uqs1H/Le8n/+9PpZyETr8GEOPy1E9rvN0kTxbFpIlVKWd8k=
=Vo/x
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to