@@ -22,6 +22,17 @@ public void Start()
2222 Scheduler . Start ( ) ;
2323 }
2424
25+ public Type GetRegisteredJobTypeByName ( string jobTypeName )
26+ {
27+ var jobTypes = IntegrationJobTypes . Where ( x => x . FullName == jobTypeName ) ;
28+ return jobTypes . Any ( ) ? jobTypes . Single ( ) : null ;
29+ }
30+
31+ public bool IsJobTypeRegistered ( string jobTypeName )
32+ {
33+ return GetRegisteredJobTypeByName ( jobTypeName ) != null ;
34+ }
35+
2536 public IJobDetail JobDetailFactory ( Type jobType )
2637 {
2738 var integrationJob = Activator . CreateInstance ( jobType ) as IIntegrationJob ;
@@ -36,15 +47,15 @@ public IJobDetail JobDetailFactory(Type jobType)
3647
3748 public virtual void ScheduleJobWithCronTrigger ( CronTrigger triggerDefinition )
3849 {
39- var jobType = IntegrationJobTypes . Where ( x => x . FullName == triggerDefinition . JobType ) . First ( ) ;
50+ var jobType = GetRegisteredJobTypeByName ( triggerDefinition . JobType ) ;
4051 var jobDetail = JobDetailFactory ( jobType ) ;
4152 var trigger = CronTriggerFactory ( triggerDefinition , jobType , jobDetail ) ;
4253 TryScheduleJobWithTrigger ( trigger , jobType , jobDetail ) ;
4354 }
4455
4556 public void ScheduleJobWithSimpleTrigger ( SimpleTrigger triggerDefinition )
4657 {
47- var jobType = IntegrationJobTypes . Where ( x => x . FullName == triggerDefinition . JobType ) . First ( ) ;
58+ var jobType = GetRegisteredJobTypeByName ( triggerDefinition . JobType ) ;
4859 var jobDetail = JobDetailFactory ( jobType ) ;
4960 var trigger = SimpleTriggerFactory ( triggerDefinition , jobType , jobDetail ) ;
5061 TryScheduleJobWithTrigger ( trigger , jobType , jobDetail ) ;
0 commit comments