Intégration de Spring Batch Admin dans une application existante
J'ai une application qui utilise Spring Batch et Spring MVC. Je suis en mesure de déployer Spring Batch Admin en tant que distincte de la guerre et de l'utiliser à l'encontre de la même DB mon application utilise, mais je voudrais l'intégrer dans mon application, éventuellement de modifier certains points de vue.
Est-il un moyen facile de faire cela ou dois-je la fourche et à partir de là?
source d'informationauteur abalogh
Vous devez vous connecter pour publier un commentaire.
Il est un moyen facile apparemment, selon ce fil;
Définir un DispatcherServlet pour le Lot Admin dans
web.xml
:Ajouter un remplacement pour resourceService dans la racine appContext:
Modifier
standard.ftl
dans spring-batch-admin-resources-1.2.0-RELEASE.jar afin de refléter l'URL:<#assign url><@spring.url relativeUrl="${servletPath}/resources/styles/main.css"/></#assign>
Si vous utilisez
Spring-batch-admin 1.2.1
vous n'avez pas à modifierstandard.ftl
fichier. Et vous devez ajouter les deuxservlet-config.xml
etwebapp-config.xml
des fichiers à partir deorg/springframework/batch/admin/web/resources
. Voici les étapes (répété):Ajouter
resourceService
bean dans votreapplicationContext
:J'ai intégré Spring Batch admin dans mon application qui se présente sous la forme d'un fichier jar. Je l'ai fait parce que cette application existe déjà et je l'exécute à l'aide de J2SE et pas dans un conteneur de servlet comme Tomcat. De plus je n'ai pas tout à fait comme l'idée d'avoir à déployer un serveur web/conteneur de servlet pour les traitements par lots.
Le Spring Batch application Admin est une bonne référence de mise en œuvre et de presque toutes les interfaces peuvent être remplacées par des classes personnalisées via Printemps DI. En outre, toute l'INTERFACE utilisateur a été généré à partir de modèles.
J'ai donc extrait les ressources pertinentes et de lancer la console à l'aide d'un serveur Jetty embarqué que mon application se lance. Cela, en effet, a renversé le confinement à partir de l'app à l'intérieur de conteneur de servlet pour conteneur de servlet à l'intérieur de l'app.
Captures d'écran sont ici : https://github.com/regunathb/Trooper/wiki/Trooper-Batch-Web-Console
Source, config, etc sont ici : https://github.com/regunathb/Trooper/tree/master/batch-core (cochez la /src/main/resources/WEB-INF dossier pour le web connexes configs et des ressources)
Au lieu de la référence à la spring batch admin des fichiers XML comme ceci:
vous pouvez également faire référence à votre propre fichier XML
<param-value>classpath:eregister-spring-admin-servlet.xml</param-value>
Contenant somethink comme ceci: