[opencms-dev] Getting changed module parameters without restarting
Ruben Malchow
ruben at khm.de
Fri May 12 11:06:15 CEST 2006
i didn't read the "parent module" part. sorry.
:)
.rm
Ruben Malchow wrote:
>
> hello pavel,
>
> do you use the module management frontend to change the parameters?
> because here, it works swell: when i change module parameters, the
>
> moduleUpdate(CmsModule cmsmod)
>
> method is called. and
>
> cmsmod.getParameters()
>
> returns a map of the new parameters. to register that, you will have to
> extend
>
> org.opencms.module.A_CmsModuleAction
>
> example:
>
> package foo.bar.module;
>
> import org.opencms.module.A_CmsModuleAction;
>
> public class FooBarModuleAction extends A_CmsModuleAction {
>
> private String saveDir=null;
>
> [...]
>
> public void moduleUpdate(CmsModule arg0) {
> this.saveDir=arg0.getParameter("saveDir");
> }
> }
>
>
> and register it in your manifest.xml:
>
> <module>
> <name>foo.bar.module</name>
> <class>foo.bar.module.FooBarModuleAction</class>
> [...]
> </module>
>
> regards
>
> .rm
>
>
>
> Pavel Peringer wrote:
>> Hello
>>
>> I have some module using its module parameters for working. I would
>> like change the module parameters ie. files store dir. But I do not
>> want restart whole web application only for this not so important change.
>>
>> If I change the module parameters, the module state is frozen after
>> calling org.opencms.module.CmsModule.initialize() and I allways get
>> the "old" parameters until restart.
>>
>> When some resource in VFS is changed, the appropriate event is fired.
>> Could be possible fire similar event (ie.
>> EVENT_MODULE_PARAMETERS_CHANGED) in
>> org.opencms.workplace.tools.modules.CmsModulesEditBase.actionCommit()?
>>
>> Example (update module code part):
>> OpenCms.getModuleManager().updateModule(getCms(), m_module);
>>
>> Map data = new HashMap();
>> data.put(KEY_MODULE_NAME, m_module.getName());
>> data.put(KEY_MODULE_PARAMETERS, m_module.getParameters());
>> OpenCms.fireCmsEvent(EVENT_MODULE_PARAMETERS_CHANGED, data);
>>
>> Of cource add these constants to the interface.
>>
>> Every action module class listening to this event then could be able
>> to update parameters when the event was fired from its "parent" module.
>> For this purpose it must have its own Map object because the "parent"
>> module is frozen and do not return new values.
>>
>> Or there is other existing solution for reload changed module
>> parameters without restarting webapp container (Apache/Tomcat/..) ?
>>
>> Thanks for answer
>>
>> Pavel Peringer
>>
>
> _______________________________________________
> This mail is sent to you from the opencms-dev mailing list
> To change your list options, or to unsubscribe from the list, please visit
> http://lists.opencms.org/mailman/listinfo/opencms-dev
>
More information about the opencms-dev
mailing list