SessionContext d'Injection à l'aide de @annotation de Ressources
J'ai besoin de restauration dans l'EJB 3 Apatrides SessionBean (CMT, JBoss version 5), pour lequel je suis à l'aide de
sessionContext.setRollbackOnly();
Ce sessionContext est injecté à l'aide d' @annotation de Ressources. Mes questions:
1) Est-il préférable de restauration dans EJB3?
2) Pourquoi Jboss se plaint sur le déploiement si j'utilise les injection par mutateur
//throws exception on deployment.
private SessionContext sessionContext;
@Resource
public void setSessionContext(SessionContext sessionContext) {
this.sessionContext = sessionContext;
}
mais suivant fonctionne très bien:
@Resource
private SessionContext sessionContext;
Ici est l'exception dans le premier cas:
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
OriginalL'auteur anergy | 2011-04-04
Vous devez vous connecter pour publier un commentaire.
Je suppose que l'EJB est un @WebService, c'est pourquoi vous obtenez JAXB erreurs. Essayez:
Vous pouvez également modifier la méthode de la visibilité ou ajouter le modificateur final (uniquement public non-final-non-méthodes statiques sont webservices méthodes).
OriginalL'auteur Brett Kail
1) oui
2) je ne sais pas, peut-être un bug, peut-être obsolète. J'ai jeté un coup d'oeil par le biais de l'EJB 3.1 spécification et là, j'ai seulement vu le
@Resource SessionContext sessionContext
, alors que les EJB 3.0 a également montré l'injection par mutateur.OriginalL'auteur Heiko Rupp