Guest User

Untitled

a guest
Mar 13th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.74 KB | None | 0 0
  1. Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jobBuilders' defined in class path resource [org/springframework/batch/core/configuration/annotation/SimpleBatchConfiguration.class]: Instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [public org.springframework.batch.core.configuration.annotation.JobBuilderFactory org.springframework.batch.core.configuration.annotation.AbstractBatchConfiguration.jobBuilders() throws java.lang.Exception] threw exception; nested exception is java.lang.ClassCastException: org.springframework.batch.core.repository.support.JobRepositoryFactoryBean$$EnhancerBySpringCGLIB$$49fa0273 cannot be cast to org.springframework.batch.core.repository.JobRepository
  2. at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:597)
  3. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1095)
  4. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:990)
  5. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504)
  6. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)
  7. at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
  8. at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)
  9. at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
  10. at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
  11. at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:706)
  12. at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:762)
  13. at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
  14. at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:109)
  15. at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:691)
  16. at org.springframework.boot.SpringApplication.run(SpringApplication.java:320)
  17. at org.springframework.boot.SpringApplication.run(SpringApplication.java:952)
  18. at org.springframework.boot.SpringApplication.run(SpringApplication.java:941)
  19. at demo.Application.main(Application.java:35)
  20. Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [public org.springframework.batch.core.configuration.annotation.JobBuilderFactory org.springframework.batch.core.configuration.annotation.AbstractBatchConfiguration.jobBuilders() throws java.lang.Exception] threw exception; nested exception is java.lang.ClassCastException: org.springframework.batch.core.repository.support.JobRepositoryFactoryBean$$EnhancerBySpringCGLIB$$49fa0273 cannot be cast to org.springframework.batch.core.repository.JobRepository
  21. at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:188)
  22. at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:586)
  23. ... 17 more
  24. Caused by: java.lang.ClassCastException: org.springframework.batch.core.repository.support.JobRepositoryFactoryBean$$EnhancerBySpringCGLIB$$49fa0273 cannot be cast to org.springframework.batch.core.repository.JobRepository
  25. at org.springframework.batch.core.configuration.annotation.SimpleBatchConfiguration$$EnhancerBySpringCGLIB$$b5c6eb04.jobRepository(<generated>)
  26. at org.springframework.batch.core.configuration.annotation.AbstractBatchConfiguration.jobBuilders(AbstractBatchConfiguration.java:58)
  27. at org.springframework.batch.core.configuration.annotation.SimpleBatchConfiguration$$EnhancerBySpringCGLIB$$b5c6eb04.CGLIB$jobBuilders$8(<generated>)
  28. at org.springframework.batch.core.configuration.annotation.SimpleBatchConfiguration$$EnhancerBySpringCGLIB$$b5c6eb04$$FastClassBySpringCGLIB$$d88bd05f.invoke(<generated>)
  29. at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
  30. at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:312)
  31. at org.springframework.batch.core.configuration.annotation.SimpleBatchConfiguration$$EnhancerBySpringCGLIB$$b5c6eb04.jobBuilders(<generated>)
  32. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  33. at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
  34. at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  35. at java.lang.reflect.Method.invoke(Unknown Source)
  36. at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:166)
  37. ... 18 more
  38.  
  39. @Configuration
  40. @ImportResource({"classpath:/org/springframework/batch/admin/web/resources/servlet-config.xml",
  41. "classpath:/org/springframework/batch/admin/web/resources/webapp-config.xml"})
  42. public class BatchAdminConfiguration {
  43. }
  44.  
  45. @Configuration
  46. @EnableBatchProcessing
  47. public class BatchImporterConfiguration {
  48. }
  49.  
  50. @Autowired
  51. JobRepository jobRepository;
  52. @Autowired
  53. PlatformTransactionManager transactionManager;
  54.  
  55. @Bean
  56. public JobBuilderFactory jobBuilderFactory() {
  57. return new JobBuilderFactory(jobRepository);
  58. }
  59.  
  60. @Bean
  61. public StepBuilderFactory stepBuilderFactory() {
  62. return new StepBuilderFactory(jobRepository, transactionManager);
  63. }
  64.  
  65. @Configuration
  66. @EnableWebMvc
  67. @ImportResource({"classpath*:/META-INF/spring/batch/bootstrap/**/*.xml"
  68. , "classpath*:/META-INF/spring/batch/override/**/*.xml"
  69. , "classpath*:/org/springframework/batch/admin/web/resources/webapp-config.xml"
  70. , "classpath*:/META-INF/spring/batch/servlet/manager/**/*.xml"
  71. , "classpath:base-menu-config.xml"
  72. })
  73. public class SpringBatchAdminConfig extends WebMvcConfigurerAdapter {
  74.  
  75. @Override
  76. public void addResourceHandlers(final ResourceHandlerRegistry registry) {
  77. registry.addResourceHandler("/resources/**").addResourceLocations("classpath:/META-INF/");
  78. }
  79.  
  80. @Bean
  81. public SimpleControllerHandlerAdapter simpleControllerHandlerAdapter() {
  82. return new SimpleControllerHandlerAdapter();
  83. }
  84.  
  85. @Bean
  86. public BeanNameUrlHandlerMapping beanNameUrlHandlerMapping() {
  87. return new BeanNameUrlHandlerMapping();
  88. }
  89.  
  90. @Bean
  91. public BeanNameViewResolver beanNameViewResolver() {
  92. return new BeanNameViewResolver();
  93. }
  94.  
  95. @Bean(name = "defaultResources")
  96. public PropertiesFactoryBean defaultResources() {
  97. return new PropertiesFactoryBean();
  98. }
  99.  
  100. @Bean(name = "jsonResources")
  101. public PropertiesFactoryBean jsonResources() {
  102. return new PropertiesFactoryBean();
  103. }
  104.  
  105. @Bean
  106. public HomeController homeController() throws IOException {
  107. HomeController homeController = new HomeController();
  108. homeController.setDefaultResources(defaultResources().getObject());
  109. homeController.setJsonResources(jsonResources().getObject());
  110. return homeController;
  111. }
  112.  
  113. @Bean
  114. public MenuManager menuManager() {
  115. return new MenuManager();
  116. }
  117.  
  118. @Bean(name = "freemarkerConfig")
  119. public HippyFreeMarkerConfigurer hippyFreeMarkerConfigurer() {
  120. HippyFreeMarkerConfigurer hippyFreeMarkerConfigurer = new HippyFreeMarkerConfigurer();
  121. hippyFreeMarkerConfigurer.setTemplateLoaderPaths("/WEB-INF/web", "classpath:/org/springframework/batch/admin/web");
  122. hippyFreeMarkerConfigurer.setPreferFileSystemAccess(false);
  123. hippyFreeMarkerConfigurer.setFreemarkerVariables(Collections.singletonMap("menuManager", (Object) menuManager()));
  124. Properties freemarkerSettings = new Properties();
  125. freemarkerSettings.put("default_encoding", "UTF-8");
  126. freemarkerSettings.put("output_encoding", "UTF-8");
  127. hippyFreeMarkerConfigurer.setFreemarkerSettings(freemarkerSettings);
  128. return hippyFreeMarkerConfigurer;
  129. }
  130.  
  131. public AjaxFreeMarkerView parentLayout() {
  132. AjaxFreeMarkerView ajaxFreeMarkerView = new AjaxFreeMarkerView();
  133. FreeMarkerViewResolver freeMarkerViewResolver = new FreeMarkerViewResolver();
  134. freeMarkerViewResolver.setExposeSpringMacroHelpers(false);
  135. freeMarkerViewResolver.setAllowRequestOverride(true);
  136. ajaxFreeMarkerView.setViewResolver(freeMarkerViewResolver);
  137. Properties attributes = new Properties();
  138. attributes.put("titleCode", "home.title");
  139. attributes.put("titleText", "Spring Batch Admin");
  140. ajaxFreeMarkerView.setAttributes(attributes);
  141. return ajaxFreeMarkerView;
  142. }
  143.  
  144. @Value("#{resourceService.servletPath}")
  145. private String servletPath;
  146.  
  147. @Bean(name="standard")
  148. public AjaxFreeMarkerView standard() {
  149. AjaxFreeMarkerView standard = parentLayout();
  150. standard.setUrl("/layouts/html/standard.ftl");
  151. standard.setContentType("text/html;charset=UTF-8");
  152. standard.getAttributesMap().put("body", "/layouts/html/home.ftl");
  153. standard.getAttributesMap().put("servletPath", servletPath);
  154. return standard;
  155. }
  156.  
  157. @Bean(name="standard.rss")
  158. public AjaxFreeMarkerView standardRss() {
  159. AjaxFreeMarkerView standardRss = parentLayout();
  160. standardRss.setUrl("/layouts/html/standard.ftl");
  161. standardRss.setContentType("text/xml");
  162. standardRss.getAttributesMap().put("body", "/layouts/rss/home.ftl");
  163. standardRss.getAttributesMap().put("servletPath", servletPath);
  164. return standardRss;
  165. }
  166.  
  167. @Bean(name="standard.json")
  168. public AjaxFreeMarkerView standardJson() {
  169. AjaxFreeMarkerView standardJson = parentLayout();
  170. standardJson.setUrl("/layouts/json/standard.ftl");
  171. standardJson.setContentType("application/json");
  172. standardJson.getAttributesMap().put("body", "/layouts/json/home.ftl");
  173. standardJson.getAttributesMap().put("servletPath", servletPath);
  174. return standardJson;
  175. }
  176.  
  177. @Bean(name="home")
  178. public AjaxFreeMarkerView home() {
  179. return standard();
  180. }
  181.  
  182. @Bean(name="home.json")
  183. public AjaxFreeMarkerView homeJson() {
  184. AjaxFreeMarkerView homeJson = standardJson();
  185. homeJson.getAttributesMap().put("body", "/layouts/json/home.ftl");
  186. return homeJson;
  187. }
  188.  
  189.  
  190. }
  191.  
  192. <?xml version="1.0" encoding="UTF-8"?>
  193. <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  194. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
  195.  
  196. <bean id="baseMenu" abstract="true">
  197. <property name="prefix" value="#{resourceService.servletPath}" />
  198. </bean>
  199.  
  200. </beans>
  201.  
  202. <dependency>
  203. <groupId>org.springframework.batch</groupId>
  204. <artifactId>spring-batch-admin-manager</artifactId>
  205. <version>1.3.1.RELEASE</version>
  206. </dependency>
  207. <dependency>
  208. <groupId>hsqldb</groupId>
  209. <artifactId>hsqldb</artifactId>
  210. <scope>runtime</scope>
  211. <version>1.8.0.10</version>
  212. </dependency>
  213.  
  214. # Default placeholders for database platform independent features
  215. batch.remote.base.url=http://localhost:8080/spring-batch-admin-sample
  216. # Non-platform dependent settings that you might like to change
  217. batch.job.configuration.file.dir=/tmp/config
  218.  
  219. build.artifactId=1
  220. build.version=1
  221. build.buildNumber=1
  222. build.timestamp=1
  223. log.enableConsole=true
  224.  
  225. # Placeholders batch.*
  226. # for HSQLDB:
  227. batch.jdbc.driver=org.hsqldb.jdbcDriver
  228. batch.jdbc.url=jdbc:hsqldb:mem:testdb;sql.enforce_strict_size=true
  229. # Override and use this one in for a separate server process so you can inspect
  230. # the results (or add it to system properties with -D to override at run time).
  231. # batch.jdbc.url=jdbc:hsqldb:hsql://localhost:9005/samples
  232. batch.jdbc.user=sa
  233. batch.jdbc.password=
  234. batch.database.incrementer.class=org.springframework.jdbc.support.incrementer.HsqlMaxValueIncrementer
  235. batch.schema.script=classpath*:/org/springframework/batch/core/schema-hsqldb.sql
  236. batch.drop.script=classpath*:/org/springframework/batch/core/schema-drop-hsqldb.sql
  237. batch.business.schema.script=classpath:/business-schema-hsqldb.sql
  238.  
  239. # Non-platform dependent settings that you might like to change
  240. # batch.data.source.init=true
  241.  
  242. DROP TABLE ERROR_LOG IF EXISTS;
  243. CREATE TABLE ERROR_LOG (
  244. JOB_NAME CHAR(20) ,
  245. STEP_NAME CHAR(20) ,
  246. MESSAGE VARCHAR(300) NOT NULL
  247. ) ;
Add Comment
Please, Sign In to add comment