Je suis nouveau sur EJB3 et travaille sur un code existant.Weblogic Aucun bean de type [javax.persistence.EntityManager]
Nous utilisons weblogic10.3 et le code ci-dessous fonctionne très bien
@Stateless(mappedName="ProcessIssacIncomingMessage")
@TransactionManagement(value=TransactionManagementType.CONTAINER)
@TransactionAttribute(value=TransactionAttributeType.REQUIRED)
@EjbRef(name="Database" jnod-name="Database")
public class IncomingMessageBean implements IncomingMessageRemote, IncomingMessageLocal {
...
@Ejb
private Database<Object> databaseBean;
10.3 weblogic.jar a le paquet weblogic.ejbgen.EjbRef
Nous commutation maintenant vers weblogic10.3.1 et weblogic .jar n'est plus fourni avec le paquetage weblogic.ejbgen.
Alors, j'ai changé le code à ce (pas encore testé en 10.3.1)
@Stateless(mappedName="ProcessIssacIncomingMessage")
@TransactionManagement(value=TransactionManagementType.CONTAINER)
@TransactionAttribute(value=TransactionAttributeType.REQUIRED)
@EjbRef(name="Database" jnod-name="Database") --- removed this line
public class IncomingMessageBean implements IncomingMessageRemote, IncomingMessageLocal {
...
@Ejb(mappedName="Database") -- added the mapped name here.
private Database<Object> databaseBean;
Pour la compatibilité ascendante. Après avoir exécuté le code dans wl10.3 je reçois l'erreur
erreur est -
javax.ejb.EJBTransactionRolledbackException
: Exception EJB::com.bea.core.repackaged.springframework.beans.factory.BeanCreationException
: Dépendance échec d'injection: ne peut pas trouver la définition de haricots à propos de l'interface de classejavax.persistence.EntityManager
; l'exception imbriquée estcom.bea.core.repackaged.springframework.beans.factory.NoSuchBeanDefinitionException
: Aucun haricot unique de type [javax.persistence.EntityManager
] n'est défini: Aucun haricot de typejavax.persistence.EntityManager
; owner =com.bea.core.repackaged.springframework.context.support.GenericApplicationContext
: nom d'affichage
Pourriez-vous aider, quoi ou comment je devrais refactoriser le code. OU qu'est-ce qui manque ici? Tellement que mon code est compatible avec 10.3 et 10.3.1 sans utiliser @EjbRef