On 02/04/2012 07:29 PM, David M. Lloyd wrote:
On 02/04/2012 04:52 AM, Carlo de Wolf wrote:
> On 02/03/2012 12:40 PM, Carlo de Wolf wrote:
>> On 02/02/2012 06:22 PM, Jason T. Greene wrote:
>>> org.jboss.ejb3.ext-api 2.0.0-beta-3
>>> org.jboss.metadata 7.0.0.Beta35
>>>
>> Branch
https://github.com/wolfc/metadata/tree/dependencies is waiting on:
>> - jboss-logging
> Upgraded to 3.1.0.GA.
>
>> -
https://github.com/jboss/jboss-ejb-api_spec/pull/1
> I see it has been merged, but rolled back.
> What is the issue here?
> (Note that it can be viewed as a regression from 1.0.0 to 1.0.1.)
It can also be viewed as not a regression. These dependencies should be
provided as they are only required if you actually reference those
classes. Compile scope dependencies should only be used in APIs when
the API is completely unusable without the dependency.
It is a known deficiency on the EG that EJB API has dependencies on JTA
API and JAX-RPC API.
Unfortunately there is nothing that can be done to change that.
I think we should not make it any harder on consumers of the EJB API,
because having the JTA API or JAX-RPC API through EJB API should not
imply those functions are available.
In fact the EJB container is obliged to have JAX-RPC API available even
in lite mode, because else you would run into a problem with
SessionContext.getMessageContext. The method itself however will throw
an IllegalStateException.
In other words having EJB API provided, implies JTA API and JAX-RPC API
are provided as well.
Carlo