2010-01-27 4 views
3

J'ai un projet EJB avec un @Singleton EJB défini comme:Java EE DependsOn local EJB

@LocalBean 
@Singleton 
@Startup 
public class DataModelBean implements DataModelBeanLocal { 

Je puis un autre projet EJB avec un autre EJB:

@LocalBean 
@Singleton 
@Startup 
@EJB(beanInterface=DataModelBeanLocal.class,name="DataModelBeanLocal") 
@DependsOn("DataModelBeanLocal") 
public class OutboundRouting implements OutboundRoutingLocal { 

Cependant, le @DependsOn ne fonctionne pas , J'ai essayé un certain nombre de valeurs différentes pour le @DependsOn sans succès. Le serveur ne démarre avec:

Erreur de déploiement du module: Atlas: Exception lors du déploiement de l'application: java.lang.RuntimeException: dépendance non valide DependsOn 'DataModelBeanLocal' pour EJB OutboundRouting %%% EOL %%%

Je ne suis pas sûr de ce que je devrais faire ici, des suggestions?

Répondre

2

Essayez ceci:

@Singleton 
@DependsOn("DataModelBean") 
public class OutboundRouting { ... } 
+0

J'avais essayé ça et ça ne fonctionnait toujours pas. – James

+0

@James quelle erreur obtenez-vous (parce que c'est comment vous êtes censé l'utiliser) –

+0

De l'éclipse je reçois une publication a rencontré un problème: impossible de déployer Atlas Erreur de déploiement pour le module: Atlas: Exception lors du déploiement de l'application: java.lang.RuntimeException: dépendance DependsOn non valide 'DataModelBean' pour EJB OutboundRouting %%% EOL %%% – James

3

Définir un Singleton avec un nom

@Singleton(name = "DataModelBeanLocal ") 
@Startup 
public class DataModelBean implements DataModelBeanLocal { 

dans votre singleton secound vous pouvez maintenant définir les dépendances

@Singleton 
@Startup 
@DependsOn("DataModelBeanLocal") 
public class OutboundRouting implements OutboundRoutingLocal { 

Dans notre Projekt cela fonctionne bien