Мне нужно выполнить откат в EJB 3 Stateless SessionBean (CMT, JBoss версии 5), для которого я использую
sessionContext.setRollbackOnly();
Этот sessionContext внедряется с использованием аннотации @Resource.Мои вопросы: 1) Является ли это предпочтительным способом отката в EJB3?
2) Почему Jboss жалуется на развертывание, если я использую инъекцию общего сеттера
// throws exception on deployment.
private SessionContext sessionContext;
@Resource
public void setSessionContext(SessionContext sessionContext) {
this.sessionContext = sessionContext;
}
, но работает нормально:
@Resource
private SessionContext sessionContext;
Вот исключение в первом случае:
javax.ejb.SessionContext is an interface, and JAXB can't handle interfaces.
this problem is related to the following location:
at javax.ejb.SessionContext
at public javax.ejb.SessionContext invoice.sap.service.jaxws.SetSctx.arg0
at invoice.sap.service.jaxws.SetSctx
javax.ejb.SessionContext does not have a no-arg default constructor.
this problem is related to the following location:
at javax.ejb.SessionContext