2014-11-12 3 views
0

У меня есть класс, JAX-RS:CDI инъекции в JAX-RS на JBoss EAP 6

@Path("/") 
@RequestScoped 
public class Customer { 
    @Inject 
    private CustomerDAO cDao; 
} 

Где CustomerDAO является POJO, и у меня пустой beans.xml в WEB-INF.

ciao осталось null. Я пробовал рассеивать @ManagedBean, @Stateless, @Named и т. Д., И ничто, кажется, не имеет большого значения. Какие-либо предложения? Как вы можете отладить это?

ответ

0

Я полагаю, что ваш Customer Ресурс для отдыха находится не в том же банке с файлом beans.xml. После упаковки разархивируйте файл jar, чтобы проверить это.

0

Я имел класс приложений, который выглядел примерно так:

public class MyApplication extends Application { 

    private Set<Object> resourceObjects = new HashSet<Object>(); 

    public MyApplication() { 
     resourceObjects.add(new Customer()); 
    } 
    @Override 
    public Set<Object> getSingletons() { 
     return resourceObjects; 
    } 
} 

Оказывается, что (я), мне не нужно, чтобы положить что-нибудь в теле этого класса для того, чтобы еще работать и что (ii), вызвав новое, я пропустил CDI. Не переопределяющее getSingletons исправляет поведение.