1
resposta

Problema ao rodar o wildfly

Estou tendo um problema ao executar o WildFly, na aula 05 o sistema estava rodando normalmente, porém estava vendo a aula 06 e fiz o intecerptor mostrado na aula porém ao executar o wild fly ele mostra isso no console: "WFLYCTL0080: Failed services" =>{"jboss.deployment.unit.\"livraria.war\".WeldStartService" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"livraria.war\".WeldStartService: Failed to start service Caused by: org.jboss.weld.exceptions.DefinitionException: WELD-001451: javax.transaction.UserTransaction cannot be injected into an enterprise bean with container-managed transactions: [BackedAnnotatedField] @Inject br.com.caelum.livraria.dao.AutorDao.tx at br.com.caelum.livraria.dao.AutorDao.tx(AutorDao.java:0) StackTrace"}, "WFLYCTL0412: Required services that are not installed:" => ["jboss.deployment.unit.\"livraria.war\".WeldStartService"], "WFLYCTL0180: Services with missing/unavailable dependencies" => undefined }

1 resposta

oi Matheus,

Esse erro acontece pois você deve estar injetando o objeto UserTransaction na sua classe, mas ela deve estar anotada com @TransactionManagement(TransactionManagementType.CONTAINER), e nesse caso é o Container quem vai gerenciar a transação.

A solução é você remover a injeção do atributo UserTransaction, ou, caso você esteja utilizando esse atributo, controlando manualmente as transações, alterar o tipo de gerenciamento de transação da classe, mudando a anotação dela para: @TransactionManagement(TransactionManagementType.BEAN)

Bons estudos!