Одна из красавиц с Java EE 6 - это новая инфраструктура инъекций зависимостей - CDI с эталонной реализацией Weld, которая побудила нас начать внутреннюю миграцию в JSR-330 в агностической реализации, с явной целью быть способным иметь замороженную ядро, а затем добавлять дополнительные банки, предоставляя новые модули, заменяющие функциональные возможности в ядре ядра.
Сейчас я занимаюсь разработкой вышеупомянутой работы с Weld, и, честно говоря, за крышками слишком много волшебства. Либо он работает, либо нет, и по умолчанию он не оказывает очень большой помощи, что происходит, чтобы вы могли выяснить, что не так, и исправить его.
Я бы ожидал, что есть переключатели для переключения, которые могут легко включать такие вещи, как:
- Какие записи прослеживаются и где? Каков был результат?
- Какие beans доступны для инъекций для какого класса?
- Что заставило данный bean не рассматриваться позже? Данная банка?
Другими словами, мне нужно более подробно рассмотреть процесс принятия решений. По какой-то причине это не так необходимо с Guice, возможно потому, что есть гораздо меньше магии, и, возможно, потому, что сообщения об ошибках очень хорошие.
Что вы делаете, чтобы отлаживать приложения Weld и насколько это помогает?