Я использую jhipster, и я хочу интегрировать консоль администратора весны в моем webapp. (http://localhost:8080/batch-console, например)Как интегрировать пульт администратора весеннего пакета
Я пытался интегрировать следующий ответ на мой jhipster веб-приложение Is there a way to integrate spring-batch-admin and spring-boot properly?, но я получаю следующее сообщение об ошибке (свойства, кажется, не загружен)
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'loggingConfiguration': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'spring.application.name' in string value "${spring.application.name}"
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:355)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1219)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:751)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:861)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:761)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:371)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
at com.mycompany.myapp.JhipsterApp.main(JhipsterApp.java:64)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49)
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'spring.application.name' in string value "${spring.application.name}"
at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:174)
at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:126)
at org.springframework.beans.factory.config.PropertyPlaceholderConfigurer$PlaceholderResolvingStringValueResolver.resolveStringValue(PropertyPlaceholderConfigurer.java:258)
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveEmbeddedValue(AbstractBeanFactory.java:813)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1076)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1056)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:566)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:349)
... 20 common frames omitted
Если я жесткий код эти свойства для тестирования мое jhipster запуск приложения, но я получаю:
запроса URL: http://localhost:8080/ метода запроса: GET Код статуса: 403 Forbidden
Что мне нужно делать, чтобы интегрировать администратор Spring batch в моем приложении Jhipster?
Нужно ли добавить следующую зависимость для моего пом?
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-batch</artifactId>
</dependency>
Spring версия загрузчика: 1.4.1.RELEASE Jhipster версия: 3.8.0
Благодаря
Спасибо duderoot – Vincent
Я думал об использовании архитектуры микросервиса. Bu my jhipster app (приложение jhipster моего клиента) является монолитным приложением. Следуя https://github.com/codecentric/spring-batch-admin-spring-boot, я могу использовать весенний пакетный администратор с весенним загрузочным приложением, поэтому я подумал, что можно использовать его с jhipster в монолитной архитектуре, но я получить упоминавшиеся выше ошибки. У вас есть идеи/рекомендации? – Vincent
После того, как вы посмотрели на проект с предварительным расширением, я могу сказать, что интеграция с весенней загрузкой была в основном для использования встроенного Tomcat. Spring-batch-admin из того, что я вижу, является ui для весенней партии. Этот ui не использует AngularJS, а JHipster ui использует AngularJS. Таким образом, вам нужно будет посмотреть, что REST API выполняет перетаскивание spring-batch-admin и пытается использовать их в JHipster ui. Также вам нужно взглянуть на spring-batch-admin, чтобы не переопределять конфигурацию, например. авторизация, точка входа в приложение, JHipster. Возможно, вы можете начать интеграцию с JHipster в качестве плагина. – duderoot