Hi: This is the qt from ejbcertificate.com Which of the following statements are correct regarding the responsibilities of the application assembler? One of the given answers is : The application assembler declares required transactional behaviour of enterprise beans in the deployment descriptor, that use container managed transactional demarcation What I conclude from the answer is that the appl assembler sets the transaction attributes for the methods using CMT .It is a deployers job to set transaction attributes for the methods. I think the above answer is wrong .Pl correct if I am wrong . Thanks
Note: The transaction attributes may be specified either by the Bean Provider or by the Application Assembler. ............................................ Providing the transaction attributes for an enterprise bean is an optional requirement for the Application Assembler, because, for a given enterprise bean, the Application Assembler must either specify a value of the transaction attribute for all the methods for which a transaction attribute must be specified, or the Assembler must specify none. If the transaction attributes are not specified for the methods of an enterprise bean, the Deployer will have to specify them.
IMO, Setting the transaction attributes needs an understanding of the application and the purpose of the various methods of the beans. So it is either the bean provider or the application assembler, preferably the bean provider. In case both the roles miss it, for whatever unknown reason , the Deployer has to make sure that they are set to avoid deployment errors. In practical EJB projects it is usually the bean provider who sets the transaction attributes, as the application provider role doesn't exist.
You can't have everything. Where would you put it?