[deepamehta-devel] Dependency on Felix HTTP

Jörg Richter jri at deepamehta.de
Thu Jul 10 14:52:04 CEST 2014


Dear Constantin,

DeepaMehta *does* run with Pax Web (replacing Felix HTTP Jetty). This is demonstrated in the "pax-web" branch:
https://github.com/jri/deepamehta/tree/pax-web

However, the overall experience with Pax Web at that time (9 month ago) was quite bad, so we did not proceed on that topic until now. You can read about the problems we encountered with Pax Web in Ticket 448 (in particular see comment 7 and the follow ups):
https://trac.deepamehta.de/ticket/448#comment:7

At that time Pax Web 3.0.2 had a serious error in regard of resource registration which made it impossible to run with DM. I filed an issue and apparently the Pax Web people have fixed that error meanwhile.
https://ops4j1.jira.com/browse/PAXWEB-634

The DM "pax-web" branch (mentioned above) *is* functional. However, it utilizes an old Pax Web 1.1.3 (all other 1.x, 2.x, 3.x versions did not work at that time) and only worked after tweaking the DM code and doing some ugly workarounds.

There were at least 2 subtle incompatibilities between Pax Web and Felix HTTP Jetty at that time. One regards the resource names passed to a org.osgi.service.http.HttpContext, the other is related to servlet registration. These might be reason why Pax Web does not run with DM out-of-box, as you've experienced. The "pax-web" branch works around these incompatibilities.

You could try out the pax-web branch. It does run (only) with Pax Web. To get an up-to-date version of DM you could try merging it with the master branch.

We are interested to hear if the DM pax-web branch works with more recent Pax Web versions, and wether the ugly workarounds in DM's global POM are still required (leading and trainling commas in the felix.fileinstall.dir setting and forced synchronous bundle starts). See comments in pom.xml.

Thank you for bringing up the Pax Web topic and for your efforts!

Best regards,
Jörg


On Jul 10, 2014, at 12:04, Constantin Jucovschi wrote:

> Dear DeepaMehta developers,
> 
> Karaf distributions come with the "org.ops4j.pax.web" implementation
> of the HTTPService. I managed to get Felix Jetty HTTPService and
> org.ops4j.pax.web running on the same Karaf distribution (ports 8080,
> 8181) but that this setup confuses other services that just register
> for the "first" HTTPService available. Depending on your luck, such
> services are available either on 8080 or 8181. So it seems that this
> setup is far from optimal.
> 
> I tried to look at the Deepamehta sources and could not find any good
> reason why Felix Jetty is necessary. But I see it also does not work
> with "org.ops4j.pax.web" because /core/plugin does not get registered
> for some reason.  Any ideas why?
> 
> Best regards,
> Constantin
> -- 
> devel mailing list
> devel at lists.deepamehta.de
> http://lists.deepamehta.de/mailman/listinfo/devel-lists.deepamehta.de



More information about the devel mailing list