Hi,

On Mon, Nov 14, 2016 at 3:58 AM, Илья Нарыжный <phan...@ydn.ru> wrote:

> Hello,
>
> We really need advise from Apache Wicket experts. Please let me know if you
> have any ideas how to realize the following:
>
> We are working on Orienteer (http://orienteer.org) - open source Business
> Application Platform for rapid development.
> Orienteer already has pluggable architecture which allow to
> start/stop/restart modules and etc. Every module can bring different
> things: new webpages, REST, wicket components and etc. For example:
> https://github.com/OrienteerBAP/Orienteer/tree/master/orienteer-pivottable
>
> But there is plans to allow dynamically upload required new module (without
> recompiling whole WAR with new module).  To upload person can literally
> upload JAR or enter URL with the module or specify Maven's
> groupId:artifactId:version.
>
> There is no problem with downloading of module: there is a problem with
> runtime running it.  Questions:
>
> 1) Is there good way for substitution of your own ClassLoader for more
> dynamic management?
>

Wicket doesn't manage class loaders. The web container (like Tomcat) deals
with this.
The only hook provided by Wicket is org.apache.wicket.protocol.
http.WicketFilter#getClassLoader(). See org.apache.wicket.protocol.http.
ReloadingWicketFilter#reloadingClassLoader.


> 2) Is there a way for restarting of wicket app without restarting a
> web-container?
>

You may use WebApplication#initApplication() and #internalDestroy(). Also
see what ReloadingWicketFilter does.


> 3) Related to p.1: any good experience with using this:
> https://github.com/kamranzafar/JCL ?
>

IMO this should work to load extra jars dynamically. I didn't see anything
about unloading though.


> 4) Any other suggetions how to make dynamically pluggable modules in
> wicket?
>

Some people use OSGi (with PAX). I don't have much experience to be able to
comment.


>
> Thanks,
>
> Ilya
>
> ---------------------------------------------
> Orienteer(http://orienteer.org) - open source Business Application
> Platform
>

Reply via email to