2015-11-17 1 views

Répondre

1

Pas tout à fait sûr de ce que vous entendez par la question, mais si vous cherchez à obtenir l'accès au contexte actuellement actif dans un domaine donné, vous pouvez toujours

@Inject 
private BeanManager beanManager; 

... 

    beanManager.getContext(MyScopeAnnotation.class); 

Si vous cherchez à découvrir ce que la portée de la fève en cours est en vous pouvez appeler

beanManager.getBeans(MyClass.class).iterator().next().getScope(); 

côté incliné est que cette approche ne vous laissera pas savoir si quelqu'un remplace le champ au point d'injection.

+0

Accepté car il répond à la question. Je pensais qu'il y avait un contexte dépendant pour chaque haricot, mais il semble qu'il n'y ait qu'un seul contexte dépendant global. –

+1

Dependent est une portée spéciale, cela signifie essentiellement aucune portée. Chaque fois que vous injectez un bean de portée dépendante, vous obtenez une nouvelle instance et elle est supprimée lorsque le bean parent est ignoré. – jvalli

+0

Merci! Ce que je voulais vraiment savoir, c'était de trouver un moyen simple de trouver quel bean a déclenché la réaction en chaîne qui a mené à l'instanciation du haricot que je suis en train d'enregistrer afin de ne pas avoir à remonter à chaque fois . Je suppose qu'il y a une manière simple mais mes qualifications de google m'échouent. –