1
В моей Java EE Aplication я использую следующий фрагмент кода, чтобы получить BeanManagerс использованием Java EE BeanManager, как Singleton
public static BeanManager getBeanManager() {
try {
InitialContext initialContext = new InitialContext();
return (BeanManager) initialContext.lookup("java:comp/BeanManager");
} catch (NamingException e) {
throw new RuntimeException("Failed to retrieve BeanManager!", e);
}
}
было бы безопасно использовать BeanManager, как синглтон, так что я бы не для поиска в исходном контекст каждый раз, когда мне нужен BeenManager?
Unfortunally Я использую BeanManager в компонентах Java EE, которые не предоставить способ использования CDI. Один из них - ExceptionMapper. На самом деле это причина, почему мне нужен BeanManager, в первую очередь, мне нужно иметь доступ к EJB –
Я использую wildfly 8.1.0.Final, который поставляется с швом 2.1 и resteasy 3.0.8 и может использовать @Inject внутри ExceptionMapper. – Franck
Если вы действительно застряли, я предлагаю использовать Delta spike Bean Manager Provider: https://deltaspike.apache.org/documentation/core.html#BeanManagerProvider – Franck