Thanks for the detailed reply.

Looking at HttpServiceServlet I can't help, but notice that the entire
whiteboard seems to be anchored in a single ServletContext. Therefore it
must multiplex access to this context to simulate multiple whiteboard web
applications. This does not seem like a very easy/stable design to
implement.

Would it be possible to introduce a service oriented solution along the
lines of the Gemini Web web container adapter:
http://git.eclipse.org/c/gemini.web/org.eclipse.gemini.web.gemini-web-container.git/tree/org.eclipse.gemini.web.core/src/main/java/org/eclipse/gemini/web/core/spi/ServletContainer.java

Implementations of this adapter have to be able to programatically talk to
a concrete web container instance to make it create ServletContexts. From
my experience with Tomcat it is not very hard to make a ServletContext
(i.e. a web app internal structure) entirely programatically without any
web.xml etc. metadata. It is also pretty easy to boot Tomcat from a bundle.
I imagine it will be even easier on Jetty. Combine this with the
programmatic servlet/filter/listener creation in Servlet 3.0 and it seems
like a compelling design. Basically the whiteboard will only have to bridge
Servlet 3.0 with the OSGi service registry.

Does such a (radical) redesign seem feasible?

Regards

On Fri, Oct 28, 2016 at 3:12 AM, Raymond Auge <raymond.a...@liferay.com>
wrote:

> The bundle you need is:
>
> http://download.eclipse.org/eclipse/updates/4.6/R-4.6-
> 201606061100/plugins/org.eclipse.equinox.http.servlet_
> 1.3.0.v20160517-1559.jar
>
> I you are using PDE projects then you can just use this repository as
> normal.
>
> IF you are using bndtools >=3.3 you can use this repository configuration:
>
> -plugin.Eclipse.Neon: \
>     aQute.bnd.repository.p2.provider.P2Repository; \
>         name                =   "Eclipse 4.6 (Neon)"; \
>         url                 =   "http://download.eclipse.org/
> eclipse/updates/4.6/R-4.6-201606061100/"
>
> In order to use this bundle with your own servlet container you must
> create a bundle which will create an instance of
>
> org.eclipse.equinox.http.servlet.HttpServiceServlet
>
> That instance must provide access to a ServletContext of the real servlet
> container, and from there the implementation will take over handling sub
> servlet context's for you.
>
> Here's a real world implementation of this:
>
> https://github.com/liferay/liferay-portal/blob/master/
> modules/apps/static/portal-osgi-web/portal-osgi-web-wab-
> extender/src/main/java/com/liferay/portal/osgi/web/wab/
> extender/internal/adapter/HttpAdapter.java
>
> Furthermore, I really dislike how this is implemented, It's a pretty
> terrible API design. It would be great to make this service oriented. I'll
> certainly appreciate any contributions to make it better.
>
> - Ray
>
>
> On Wed, Oct 26, 2016 at 2:46 PM, Todor Boev <rinsv...@gmail.com> wrote:
>
>> Hello,
>>
>> I am looking for an implementation of the Http Whiteboard OSGi standard
>> (Chapter 140 EEG spec).
>> I also need to run it over Tomcat 8.
>> Finally it is preferable that the whiteboard runs in "native mode" rather
>> than via a bridge servlet. I.e. have Tomcat instantiate an actual
>> ServletContext for every web app root as it does with WAR/WABs.
>>
>> Equinox supposedly has an Http whiteboard R6 implementation, but I am
>> somewhat confused as to which bundles do I need to run to get it.
>>
>> Regards
>> Todor
>>
>> _______________________________________________
>> equinox-dev mailing list
>> equinox-dev@eclipse.org
>> To change your delivery options, retrieve your password, or unsubscribe
>> from this list, visit
>> https://dev.eclipse.org/mailman/listinfo/equinox-dev
>>
>
>
>
> --
> *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
>  (@rotty3000)
> Senior Software Architect *Liferay, Inc.* <http://www.liferay.com>
>  (@Liferay)
> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org>
> (@OSGiAlliance)
>
> _______________________________________________
> equinox-dev mailing list
> equinox-dev@eclipse.org
> To change your delivery options, retrieve your password, or unsubscribe
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/equinox-dev
>
_______________________________________________
equinox-dev mailing list
equinox-dev@eclipse.org
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/equinox-dev

Reply via email to