Hey all,

I’ve been discussing with Richard lately in private about dropping openejb-http 
and think we should be bringint it to the list. Looking at openejb-http we 
noticed it's really two things in one module: the embedded HTTP server 
("httpejbd") and the HttpListener / request / response / servlet adapter types 
that CXF, tomee-jaxrs and tomee-webservices plug into.

On TomEE the server never runs. TomEEServiceManager skips httpejbd (along with 
ejbd, ejbds and admin) and Tomcat's connectors handle all HTTP [1]. The only 
things that still start it are:

- the openejb-standalone assembly, where it's the HTTP transport for remote EJB 
calls
- ApplicationComposer tests with @EnableServices("jaxrs"/"jaxws"), ~80 test 
classes, most of them in openejb-cxf-rs (57) and openejb-cxf (10)
- openejb.embedded.remotable and the arquillian-openejb-embedded adapter
- ~19 examples (simple-rest, rest-cdi, the jsonb ones, 
applicationcomposer-jaxws-cdi, the webservice-* ones)

So the only real runtime user is openejb-standalone, the rest is test tooling. 
IMO we should drop both httpejbd and the openejb-standalone assembly and move 
the affected tests/examples over to a Tomcat based setup (tomee-embedded / 
arquillian-tomee-embedded). The adapter types would stay since TomEE needs 
them, so this is more a split of the module than a removal.

Independent of that: the Jetty backend in openejb-http checks for 
org.mortbay.jetty.Connector (Jetty 6) while the pom pulls Jetty 12, so it 
always falls back to the OpenEJB server and can never run [2]. I'd remove that 
in any case.

Does anyone still use openejb-standalone or rely on httpejbd outside of tests? 
WDYT?


Thanks

Markus

[1] 
https://github.com/apache/tomee/blob/main/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEServiceManager.java
[2] 
https://github.com/apache/tomee/blob/main/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpServerFactory.java

Reply via email to