[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[equinox-dev] Using org.eclipse.equinox.http inside of an RCP application
|
All,
I'd like to host a servlet inside of an RCP application. I started
looking into the Equinox implementations rather then wrapping the embedded
Tomcat or Jetty jars myself. (I wouldn't mind just using the ones used by
the help, but it seems odd that the org.eclipse.tomcat plug-in requires the
help plugins, and I'm not sure how to add Servlets to it).
I see that:
org.eclipse.equinox.http
org.eclipse.equinox.servlet.api
Ship inside of the Equinox releases 3.2.0 and 3.2.1. The QuickStart guide
says to add: "org.eclipse.equinox.http.registry" and then use the extension
points. The releases state that the http.registry plug-in is still in the
incubator, which means that "while it could be quite complete, it should be
considered experimental".
I was curious how "experimental" the registry is, and if there was a way to
use the org.eclipse.equinox.http bundle without doing something nearly
identical to the registry bundle. It sure looks like I have to sub-class
HTTP and HTTPListener and allocate those. Then I can call
"HTTPListener.getService()". At that point I can get an "HttpService"
object with which I can register and unregister servlets. Short of loading
a fragment into the org.eclipse.equinox.http bundle and exposing the
constructor thru a static method, I don't see any alternatives for directly
allocating an HttpService.
It appears I should be able to use the services API to get an HttpService
object, but at that point, I'd pretty much just be writing
"org.eclipse.equinox.http.registry" myself. So I think I'd like to use the
"org.eclipse.equinox.http.registry", as my other alternatives aren't very
nice.
Another issue is that I can't find the tag for the 3.2.0 or 3.2.1 releases,
and the source isn't included in the SDK download. For the 3.2.1 release,
the qualifier is "v20060510", but the only tags in the CVS Server
:pserver:anonymouse@xxxxxxxxxxxxxxx:/cvsroot/eclipse are:
v20061031
v20061012
v20061002
Am I looking in the wrong place? (My guess is that I'm looking for the
"serverside" CVS report, the initial commit message of the files say that
they are adding the projects to the "main depot")
I've gotten everything to work just fine using the HEAD of
"org.eclipse.equinox.http.registry", but I generally like to use a tagged
and released version.
Also the documentation here:
http://www.eclipse.org/equinox/server/http_in_equinox.php
Says to use "javax.servlet" from Orbit, but I instead used
"org.eclipse.equinox.servlet.api" that was released with the 3.2.1 Equinox.
I'm not sure why I'd want to use the one from the Orbit project. Curious if
I would create issues for myself.
Is there anyway to add a bundle to a generated config file so it is auto
started? I exported my RCP application grabbed the config.ini file and
added two entries to startup http and http.registry. Otherwise the Servlets
aren't started up. It'd be nice if there were some way to include that in
the product by directly editing the product file or, using a mechanism
similar to the the UI for launching Run... -> OSGi Framework Applications ->
Plug-ins Tab.
Finally, Eclipse RCP and Equinox have been great to use in my applications,
thanks for all of the great infrastructure you've provided.
Thanks in advance for any help on my questions,
Kirby
_________________________________________________________________
View Athletes Collections with Live Search
http://sportmaps.live.com/index.html?source=hmemailtaglinenov06&FORM=MGAC01