> Hi
>
> When all the methods are required it works fine !
>
> When I set not transaction attribute at all it works fine, too !!
>
> When I use a transaction it works fine !
>
These three case are all the same as they are all effectively
trans=Required.

> The only problem I see here is that (IMO) the tx-attribute
> "Supports" should work with w/o a transaction the same
> way as when you don't have a transaction.
> BTW I use commit option A.
>
Without seeing an example this is debateable. In general
Supports may have non-deterministic behavior. The ejb spec
touches on this in at least three areas:

<ejb-2.0-spec>
The Supports transaction attribute must be used with caution. This is
because of the different transactional
semantics provided by the two possible modes of execution. Only the
enterprise beans that will
execute correctly in both modes should use the Supports transaction
attribute.
</ejb-2.0-spec>

The spec also states:

<ejb-2.0-spec>
For entity beans that use EJB 2.0 container-managed persistence, only the
Required,
RequiresNew, or Mandatory transaction attributes should be used for the
methods defined in the
bean's component interface and all the direct and indirect superinterfaces
of the component interface,
excluding the getEJBHome, getEJBLocalHome, getHandle, getPrimaryKey, and
isIdentical
methods; and for the methods defined in the bean's home interface and all
the direct and
indirect superinterfaces of the home interface, excluding the getEJBMetaData
and getHomeHandle
methods specific to the remote home interface. Containers may optionally
support the use of the
NotSupported, Supports, and Never transaction attributes for the methods of
entity beans with
container-managed persistence. However, entity beans with container-managed
persistence that use
these transaction attributes will not be portable.

Containers may optionally support the use of the NotSupported, Supports, and
Never
transaction attributes for the methods of entity beans with
container-managed persistence
because the use of these transaction modes may be needed to make use of
container-managed
persistence with non-transactional data stores. In general, however, the
Application Assembler
should avoid use of the NotSupported, Supports, and Never transaction
attributes for
the methods of entity beans with container-managed persistence because it
may lead to inconsistent
results or to the inconsistent and/or to the partial updating of persistent
state and relationships
in the event of concurrent use.
</ejb-2.0-spec>

And also, the generic catch all that denies responsibility for requiring
portable
usage of Supports:
<ejb-2.0-spec>
The EJB specification does not prescribe how the Container should manage the
execution of a method
with an unspecified transaction context-the transaction semantics are left
to the Container implementation.
Some techniques for how the Container may choose to implement the execution
of a method
with an unspecified transaction context are as follows (the list is not
inclusive of all possible strategies):
...
</ejb-2.0-spec>

So, unless you put an example together and state that Supports should be
handled
differently in that particular context, there is not much concrete to say on
whether
this is a bug.



_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to