Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Inject sempre retornando null

Bom dia pessoal estou utilizando o cdi no meu projeto jsf, estou colocando as configurações mais o mesmo sempre retorna null:

beans.xml

<beans>
</beans>

context.xml

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

<Context>
    <Resource name="BeanManager"
      auth="Container"
      type="javax.enterprise.inject.spi.BeanManager"
      factory="org.jboss.weld.resources.ManagerObjectFactory"/>
</Context>

JobInserirProjetosRun.java(classe que injeta o bean)

package fe.br.pe.releasemanager.job;

import java.util.Date;

import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SimpleScheduleBuilder;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory;

public class JobInserirProjetosRun {

    public void runJobInserirProjeto() {
        try {
            JobDetail j = JobBuilder.newJob(JobInserirProjetos.class).build();

            Trigger t = TriggerBuilder.newTrigger().withIdentity("CroneTrigger").
                withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInMinutes(1)
                        .repeatForever()).build();

            Scheduler s = StdSchedulerFactory.getDefaultScheduler();
            s.start();
            s.scheduleJob(j, t);
        }catch (SchedulerException e) {
            e.printStackTrace();
        }

    }

}
3 respostas

a classe que injeta coloquei outra kkkkk

essa seria a certa:

JobInserirProjetos.java(classe que injeta o bean)

package fe.br.pe.releasemanager.job;

import java.io.Serializable;
import java.util.List;

import javax.inject.Inject;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

import fe.br.pe.releasemanager.bo.ProjetoBO;
import fe.br.pe.releasemanager.entity.Projeto;
import fe.br.pe.releasemanager.util.RestApiFactory;

public class JobInserirProjetos implements Job,Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = 6544730889209459366L;

    @Inject 
    private ProjetoBO projetoBO;



    @Override
    public void execute(JobExecutionContext context) throws JobExecutionException {
        System.out.println("RODANDO JOB DOS PROJETOS");
        List<Projeto> projetosLastSprint=RestApiFactory.getAllProjects();
        projetoBO.insertProjetosUltimaSprint(projetosLastSprint);


    }

}

Oi Victor

Faltou seu beans.xml, haha

solução

opa Otavio, o beans eu coloquei esta logo no inicio do post, o problema foi outro, estava criando uma classe listener para rodar os jobs, e estava instanciando como new ela quando eu realizei o inject nela também funcionou , obrigado pela atenção.