-
Bug
-
Resolution: Done
-
Major
-
1.2.4.Final
-
None
-
None
Those session beans defines method called "ejbTimeout" which is together public. This is not valid according to EJB spec:
4.9.6 Business Methods
..
The method names can be arbitrary, but they must not start with “ejb” to avoid conflicts with
the callback methods used by the EJB architecture.
...
and
4.9.8 Session Bean’s No-Interface View
If the bean does not expose any other client views (local, remote, no-interface, 2.x
Remote Home, 2.x Local Home, Web Service) and its implements clause is empty,
the bean defines a no-interface view.All non-static public methods of the bean class and of any superclasses except
java.lang.Object are exposed as business methods through the no-interface view.
Note: This includes callback methods. The Bean Provider should exercise caution when choosing to expose callback methods as business methods through the no-interface view. The runtime context (e.g. transaction context, caller principal, operations allowed, etc.) for a method invoked as a callback can differ significantly from the context for the same method when invoked via a client invocation. In general, callback methods should not be exposed as business methods. Therefore, it is recommended that all non-business methods be assigned an access type other than public.