Hi Ron,
adding
<dependency>
<groupId>org.apache.deltaspike.cdictrl</groupId>
<artifactId>deltaspike-cdictrl-weld</artifactId>
<version>${deltaspike.version}</version>
<scope>compile</scope>
</dependency>
solved my problem.
Thank you very much.
Flo
Am 02.04.2015 um 14:34 schrieb Ron Smeral <[email protected]>:
> Hi Florian,
>
> is your EntityManager request-scoped? If so, you need to either start the
> request scope through "startScopes", or re-scope your EM.
>
> As to the first issue, did you include an implementation of ContainerControl
> in your project? This is not yet documented, but you need to have a runtime
> dependency on e.g. org.apache.deltaspike.cdictrl: deltaspike-cdictrl-weld if
> you use Weld (and similarly for other CDI impls) anytime you use the
> Scheduler module.
>
> Also, I think this belongs to [email protected] :)
>
> Regards,
> Ron
>
> On 2.4.2015 14:09, Florian Limpöck wrote:
>> Hello Deltaspike Team,
>>
>> I try to make a scheduled send mail application, for a monthly reminder.
>>
>> My Code looks like this and it works until the point i try to use my
>> Injection.
>>
>> @Scheduled(cronExpression = "0 0/1 * * * ?")
>> public class SimpleJob implements Job {
>>
>> @Inject
>> ProjektRepository projektRepository;
>>
>> @Override
>> public void execute(JobExecutionContext context) throws
>> JobExecutionException {
>> System.out.println("Test");
>>
>> List<Projekt> projektList = projektRepository.getAll();
>>
>> System.out.println(projektList.get(0).getName());
>> }
>> }
>>
>>
>> I get the following Error:
>>
>> 11:14:00,008 ERROR [org.quartz.core.ErrorLogger]
>> (DefaultQuartzScheduler_Worker-1) Unable to notify JobListener(s) of Job to
>> be executed: (Job will NOT be executed!). trigger=
>> DEFAULT.6da64b5bd2ee-cac2ad65-b6c9-4cfa-8402-6b5ccc8a1467 job=
>> DEFAULT.SimpleJob: org.quartz.SchedulerException: JobListener
>> 'org.apache.deltaspike.scheduler.impl.QuartzScheduler$InjectionAwareJobListener'
>> threw exception: Could not find beans for Type=interface
>> org.apache.deltaspike.cdise.api.ContextControl and qualifiers:[] [See nested
>> exception: java.lang.IllegalStateException: Could not find beans for
>> Type=interface org.apache.deltaspike.cdise.api.ContextControl and
>> qualifiers:[]]
>> at
>> org.quartz.core.QuartzScheduler.notifyJobListenersToBeExecuted(QuartzScheduler.java:1947)
>> [quartz-2.2.1.jar:]
>> at
>> org.quartz.core.JobRunShell.notifyListenersBeginning(JobRunShell.java:324)
>> [quartz-2.2.1.jar:]
>> at org.quartz.core.JobRunShell.run(JobRunShell.java:173)
>> [quartz-2.2.1.jar:]
>> at
>> org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
>> [quartz-2.2.1.jar:]
>> Caused by: java.lang.IllegalStateException: Could not find beans for
>> Type=interface org.apache.deltaspike.cdise.api.ContextControl and
>> qualifiers:[]
>> at
>> org.apache.deltaspike.core.api.provider.BeanProvider.getContextualReference(BeanProvider.java:150)
>> [deltaspike-core-api-1.0.1.jar:1.0.1]
>> at
>> org.apache.deltaspike.core.api.provider.BeanProvider.getContextualReference(BeanProvider.java:119)
>> [deltaspike-core-api-1.0.1.jar:1.0.1]
>> at
>> org.apache.deltaspike.core.api.provider.BeanProvider.getContextualReference(BeanProvider.java:100)
>> [deltaspike-core-api-1.0.1.jar:1.0.1]
>> at
>> org.apache.deltaspike.scheduler.impl.QuartzScheduler$JobListenerContext.startContexts(QuartzScheduler.java:427)
>> [deltaspike-scheduler-module-impl-1.0.1.jar:1.0.1]
>> at
>> org.apache.deltaspike.scheduler.impl.QuartzScheduler$InjectionAwareJobListener.jobToBeExecuted(QuartzScheduler.java:372)
>> [deltaspike-scheduler-module-impl-1.0.1.jar:1.0.1]
>> at
>> org.quartz.core.QuartzScheduler.notifyJobListenersToBeExecuted(QuartzScheduler.java:1945)
>> [quartz-2.2.1.jar:]
>> ... 3 more
>>
>>
>> I try to add startScopes={} because of this ticket
>> https://issues.apache.org/jira/browse/DELTASPIKE-656, then the job is
>> executed, but then I got this exception.
>>
>>
>> 11:10:00,001 INFO [stdout] (DefaultQuartzScheduler_Worker-6) Test
>> 11:10:00,003 ERROR [org.quartz.core.JobRunShell]
>> (DefaultQuartzScheduler_Worker-4) Job DEFAULT.SimpleJob threw an unhandled
>> Exception: : org.jboss.weld.context.ContextNotActiveException: WELD-001303:
>> No active contexts for scope type javax.enterprise.context.RequestScoped
>> at
>> org.jboss.weld.manager.BeanManagerImpl.getContext(BeanManagerImpl.java:680)
>> [weld-core-impl-2.1.2.Final.jar:2014-01-09 09:23]
>> at
>> org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:79)
>> [weld-core-impl-2.1.2.Final.jar:2014-01-09 09:23]
>> at
>> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:99)
>> [weld-core-impl-2.1.2.Final.jar:2014-01-09 09:23]
>> at
>> org.jboss.weld.proxies.EntityManager$1197393252$Proxy$_$$_WeldClientProxy.getCriteriaBuilder(Unknown
>> Source) [weld-core-impl-2.1.2.Final.jar:]
>> at
>> com.xy.repository.AbstractRepository.getAll(AbstractRepository.java:75)
>> [classes:]
>> at com.xy.quartz.SimpleJob.execute(SimpleJob.java:28) [classes:]
>> at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
>> [quartz-2.2.1.jar:]
>> at
>> org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
>> [quartz-2.2.1.jar:]
>>
>> 11:10:00,004 ERROR [org.quartz.core.ErrorLogger]
>> (DefaultQuartzScheduler_Worker-4) Job (DEFAULT.SimpleJob threw an
>> exception.: org.quartz.SchedulerException: Job threw an unhandled exception.
>> [See nested exception: org.jboss.weld.context.ContextNotActiveException:
>> WELD-001303: No active contexts for scope type
>> javax.enterprise.context.RequestScoped]
>> at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
>> [quartz-2.2.1.jar:]
>> at
>> org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
>> [quartz-2.2.1.jar:]
>> Caused by: org.jboss.weld.context.ContextNotActiveException: WELD-001303: No
>> active contexts for scope type javax.enterprise.context.RequestScoped
>> at
>> org.jboss.weld.manager.BeanManagerImpl.getContext(BeanManagerImpl.java:680)
>> [weld-core-impl-2.1.2.Final.jar:2014-01-09 09:23]
>> at
>> org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:79)
>> [weld-core-impl-2.1.2.Final.jar:2014-01-09 09:23]
>> at
>> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:99)
>> [weld-core-impl-2.1.2.Final.jar:2014-01-09 09:23]
>> at
>> org.jboss.weld.proxies.EntityManager$1197393252$Proxy$_$$_WeldClientProxy.getCriteriaBuilder(Unknown
>> Source) [weld-core-impl-2.1.2.Final.jar:]
>> at
>> com.xy.repository.AbstractRepository.getAll(AbstractRepository.java:75)
>> [classes:]
>> at com.xy.quartz.SimpleJob.execute(SimpleJob.java:28) [classes:]
>> at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
>> [quartz-2.2.1.jar:]
>> ... 1 more
>>
>>
>> I use Deltaspike 1.3.0.
>>
>> I also tried everything with 1.0.1 because it was the Fixed Version
>> mentioned in the ticket above.
>>
>> Am I missing something? or is there any example, which shows how to get
>> started with Deltaspike and Quartz besides the documentation.
>>
>> Thanks,
>> Florian
>
> --
> Ron Smeral
> JBoss Quality Engineer
> Brno
>