I extensively use Wicket+OSGi. Works great! Modular web applications are totally doable. Follow Martin's advice and wire in modules using the application hooks described.

On 11/14/16 3:47 PM, Martijn Dashorst wrote:
I know a Dutch company (or two) that use OSGi, I'm certain that one
uses Wicket + OSGi: educator.eu. The other, luminis.eu, does a lot of
work with OSGi, but might not use it in combination with Wicket. I
only have second hand knowledge about the combination, and it's
probably outdated.

Maybe someone from those companies is listening here and cares to comment.

Martijn

On Mon, Nov 14, 2016 at 8:13 PM, Martin Grigorov <mgrigo...@apache.org> wrote:
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





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

Reply via email to