[jbossws-dev] EJB3 endpoints into WAR deployments

Jim Ma ema at redhat.com
Tue Aug 30 22:46:04 EDT 2011


My email filter moved this to a wrong folder and I missed this 
discussion yesterday.
Please see me comments inline.

On 08/30/2011 05:01 PM, Alessio Soldano wrote:
> On 08/30/2011 07:23 AM, Richard Opalka wrote:
>>> * DeploymentType vs EndpointType
>>> [...]
>> IIRC you Alessio said few days ago that users can mix both JAXWS&
>> JAXRPC endpoints in one deployment.
>> Considering this information DeploymentType abstraction doesn't make
>> sense at all.
>> I'd say we won't have DeploymentType abstraction anymore.
>> We will just have EndpointType abstraction with the following values:
>>    * JAXWS_POJO
>>    * JAXWS_EJB3
>>    * JAXRPC_POJO
>>    * JAXRPC_EJB21
> The jaxrpc side of the issue is still to analysed, anyway, I see your
> point, we can simply derive the DeploymentType info (JAR or WAR) from
> the new EndpointType, so the former can simply be removed.
But we still need let each endpoint easily know its 
deploymentType(war,ear or jar) information and other
deployment context information(WarMetaData, EARMetaData or we wrapped 
JSEArchiveMeteData, EJB EJBArchiveMetaData).
Then we can decide the address and context root when the ws endpoint is 
actually published.
>>> * Computation of context-root
>>> [1] has the current algorithm. For the "mixed" situation where an EJB3
>>> WS endpoint lives into a WAR deployment (with or without other POJO
>>> endpoints), I assume we should have a different implicit context-root
>>> (point 5 in [1]), being the same has the context-root for the webapp
>>> associated to the WAR archive. So both POJO and EJB3 endpoints share the
>>> context-root of the war.
>>>
>>> * Where to look at descriptors (wsdl, xsd, jbossws-cxf.xml, ...)
>>> Here I would say we first look at eventual requirements from the specs I
>>> might forgetting here, otherwise the type of the archive drives the
>>> position (i.e. WEB-INF/... for war archives, even if the endpoint is an
>>> EJB3 one)
>> IMO both JSEArchiveMetaData&  EJBArchiveMetaData will need to split too.
>> They contain some information that are endpoint specific.
>> For example it should be possible to define context root per EJB endpoint
>> in same deployment. This is what TCK6 does and we're working it around
>> with some DD customization hacks. Probably as prove of concept we should
>> allow support for @WebContext on POJOs as well?
> Yes, I now remember those tck tests. Here is my proposal on this topic:
> - start by moving the contextRoot info from the Service to the Endpoint
> in jbossws-spi to prepare the way
+1
> - defer the rest of the changes to another effort so for instance keep
> the JSEArchiveMetaData and EJBArchiveMetaData as they currently are for now
>
> In the next future we'll work on allowing different context-root for
> endpoints in the same webapp: that also implies deep changes in the
> container integration, as most probably multiple webapps need to be
> started to be able to publish endpoints in different context-roots and I
> can foresee multiple issues with that (classloading just to say one).
The @WebContext annotated with EJB3Endpoint is supported outside war 
file . We won't consider to support this case this time to keep thing 
simple ?

JAXWS_POJO WS endpoints coexists with EJB3Endpoint in a war file and 
there is jboss-web.xml to define the Context root with specific value.
and EJB3Endpoint annotated with @WebContext.

Alessio, can your new created  dynamically publish endpoint function 
help on this case ?


Thanks
Jim





More information about the jbossws-dev mailing list