in spring/namespace/src/main/java/org/apache/shardingsphere/elasticjob/spring/namespace/job/parser/JobBeanDefinitionParser.java [46:63]
protected AbstractBeanDefinition parseInternal(final Element element, final ParserContext parserContext) {
BeanDefinitionBuilder factory;
if (Strings.isNullOrEmpty(element.getAttribute(JobBeanDefinitionTag.CRON_ATTRIBUTE))) {
factory = BeanDefinitionBuilder.rootBeanDefinition(OneOffJobBootstrap.class);
} else {
factory = BeanDefinitionBuilder.rootBeanDefinition(ScheduleJobBootstrap.class);
factory.setInitMethodName("schedule");
}
factory.addConstructorArgReference(element.getAttribute(JobBeanDefinitionTag.REGISTRY_CENTER_REF_ATTRIBUTE));
String jobType = element.getAttribute(JobBeanDefinitionTag.JOB_TYPE_ATTRIBUTE);
if (!Strings.isNullOrEmpty(jobType)) {
factory.addConstructorArgValue(jobType);
} else {
factory.addConstructorArgReference(element.getAttribute(JobBeanDefinitionTag.JOB_REF_ATTRIBUTE));
}
factory.addConstructorArgValue(createJobConfigurationBeanDefinition(element, parserContext));
return factory.getBeanDefinition();
}