2016-12-09 2 views
1

У меня есть приложение, которое отлично работает с Omnifaces 2.5.1 Mojarra под Wildfly 10. Это приложение имеет несколько WAR, но только один использует Omnifaces.Omnifaces 2.5.1 и несколько WARs внутри EAR

Сегодня я попытался добавить Omnifaces для использования во второй WAR внутри EAR. И я получаю это исключение:

Exception 0 : 
org.jboss.weld.exceptions.DeploymentException: WELD-001408: Unsatisfied dependencies for type Long with qualifiers @Param 
    at injection point [BackedAnnotatedField] @Inject @Param private siscom.web.jsf.controller.PartnerDetailsController.id 
    at siscom.web.jsf.controller.PartnerDetailsController.id(PartnerDetailsController.java:0) 
WELD-001475: The following beans match by type, but none have matching qualifiers: 
    - Producer Method [Long] with qualifiers [@BatchProperty @Any] declared as [[UnbackedAnnotatedMethod] @Produces @BatchProperty public org.jberet.creation.BatchBeanProducer.getLong(InjectionPoint)] 

    at org.jboss.weld.bootstrap.Validator.validateInjectionPointForDeploymentProblems(Validator.java:359) 
    at org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:281) 
    at org.jboss.weld.bootstrap.Validator.validateGeneralBean(Validator.java:134) 
    at org.jboss.weld.bootstrap.Validator.validateRIBean(Validator.java:155) 
    at org.jboss.weld.bootstrap.Validator.validateBean(Validator.java:518) 
    at org.jboss.weld.bootstrap.ConcurrentValidator$1.doWork(ConcurrentValidator.java:68) 
    at org.jboss.weld.bootstrap.ConcurrentValidator$1.doWork(ConcurrentValidator.java:66) 
    at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:63) 
    at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:56) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 

Мой контроллер:

@ViewScoped @Named 
public class PartnerDetailsController implements Serializable { 

    @Inject 
    @Param 
    private Long id; 
} 

Примечание: Иногда работает нормально, иногда не. При перезапуске приложения работает. Если я снова перезапущу, не работает.

+0

Как вы обрели Omnifaces 2.6? Текущий выпуск 2.5.1 – thatsIch

+0

Извините. Это опечатка. Я исправлю. –

ответ

0

Вы не можете использовать @Param с несколькими WAR s, содержащими Omnifaces, упакованные в EAR. Это ошибка взаимодействия между CDI и OF.

Связанное блоге: http://balusc.omnifaces.org/2013/10/cdi-behaved-unexpectedly-in-ear-so.html

Я не тестировал в последнее время, если он работает в последней версии.

Смежные вопросы