Инъекция PersitenceContext в модуле EJB в Джеронимо 3.0

Я пытаюсь ввести PersistenceContext, используя аннотации EJB3, но geronimo не вводит зависимость. Это - проект УХА, составленный EJB и ВЕБ-модулем.

Конфигурация EJB-модуля

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    

    
        wedge
        wedge-ejb
        1.0
        car
    
    
        
            console.dbpool
            jdbc_wedgeDS
            1.0
            car
        
    

Я формировал persistence.xml следующим образом

    <?xml version="1.0" encoding="UTF-8"?>
    
        
            org.apache.openjpa.persistence.PersistenceProviderImpl
            jdbc/wedgeDS
            wedge.entity.Aec
            ...
            wedge.entity.Tnr
        
            
            
            
    

Я создал источник данных как Местный Источник данных TX, и решен хорошо.

Я определил EJB следующим образом

    @Local(PruebaBL.class)
    @Stateless
    public class PruebaBLImpl {

        @PersistenceContext()
        private EntityManager em;

        @TransactionAttribute(TransactionAttributeType.REQUIRED)
        public void metodoPrueba(HttpServletResponse response) throws IOException, NamingException {

            if (em == null) {
                response.getOutputStream().println("entity manager is null");
            }

Я проверил, что сделка начинает/заканчивает хорошо, но entityManager не вводится.

Некоторые идеи?

Заранее спасибо.

Сол

1
nl ja de
I' m читающие регистрации и отладка и я думаем, что проблема состоит в том как I' m пытающийся ввести EJB в WebServlets. Я должен определить jndi глобальное имя в @EJB аннотации? т.е. @EJB (name=java:comp/ env/ global/ wedge/ втисните ejb\U 0026\\U 0023\47; PruebaBLImpl! wedg‌ ​ e.ejb. PruebaBL) . Если эта ссылка потерпит неудачу, Pojo будет создан с ' new' и инъекция терпит неудачу. It' s правильный?Thank you
добавлено автор saulario, источник

1 ответы

Вы не должны определять глобальное имя jndi. Введите его как это в вашем сервлете:

@EJB
private PruebaBL pruebaBL;
0
добавлено
Я успех, развертывающий EJB таким образом, даже без @Local. Проблема сохраняется, и I' m не способный использовать persistenceContext, введенный в EJB и Сервлете. I' поднос ll в эти выходные та же самая конфигурация с postgresql, развертывая различный источник данных XA.Thank you
добавлено автор saulario, источник