Ubik Batch Server Release Notes

From UbikWiki


Release Notes

Version 6.1.0 (10/01/2014, tag : UBIK_610_DKT_20140110)

ubik-batcher - 6.1.0

  • [NEW] Throttling mechanism to avoid flooding Alert System
  • [NEW] SAML2 Plugin mechanism for Batch Admin
  • [IMPROVEMENT] Add alert when no admin mail configured
  • [IMPROVEMENT] Add testWhileIdle and testOnReturn in batch admin Pool creation screen
  • [IMPROVEMENT] Add option MAIL_SEND_ON_SYSTEM_BATCH_ERROR to avoid sending error mails on System batches
  • [IMPROVEMENT] Don't fail if no Admin Mail configured, just log a warning
  • [IMPROVEMENT] Installer now includes system batches BAR
  • [BUG] Exception on batchadmin when underlying MBean loads a class
  • [BUG] Exception on system batches that send mail report (Exception => org.apache.velocity.exception.VelocityException: The specified logger class org.apache.velocity.runtime.log.Log4JLogChute does not implement the org.apache.velocity.runtime.log.LogChute interface.)

Version 6.0.0 (18/09/2012, tag : UBIK_600_DKT_20120918)

ubik-batcher - 6.0.0

  • [NEW] A new ClassLoader system to allow complete isolation of BAR classloaders from Server ClassLoader
  • [IMPROVEMENT] Dependencies upgrade:
    • commons-lang-2.6
    • log4j-1.2.16
    • commons-codec-1.6
    • velocity-1.7
    • commons-pool-1.6
    • commons-dbcp-1.4
    • commons-io-2.1
    • commons-email-1.2
    • snmp4j-2.0.3

Version (23/10/2010, tag : UBIK_5100_DKT_20101026110000)

New Tools

  • [NEW] maven-ubikbar-plugin : New Maven2 Plugin that enables generating a BAR in 10 seconds setup
  • [NEW] UbikBarArtifact : New Maven2 archetype to create a BAR project in 10 seconds setup

ubik-batcher -

  • 0000007: [IMPROVEMENT] Configuration : Add checks on configuration file to ease misconfiguration diagnostics
  • 0000010: [IMPROVEMENT] Implement New Alert Notification system : SNMP based alert sender
  • 0000013: [IMPROVEMENT] Logging : Redirect System.err and System.out to logging file
  • 0000023: [IMPROVEMENT] DB Configuration : Increase size of columns used for IDs
  • 0000031: [IMPROVEMENT] RollingFileOutputStream for roll log
  • 0000018: [IMPROVEMENT] Add the ability to modify the pool of a BatchLaunch through Web Controller
  • 0000040: [BUG] Batch server does not start if LOG level is set to DEBUG
  • 0000145: [IMPROVEMENT] Enable sending mail alerts to Mail Server that requires authentication and/or TLS/SSL transport
  • 0000175: [IMPROVEMENT] Upgrade to Hibernate 3.5.0-Final

ubik-batch-web-controler -

  • 0000069: [IMPROVEMENT] Allow BARs to be downloaded from BatchServers
  • 0000038: [IMPROVEMENT] Server Monitoring : Add ability to chart live data (Memory + Threads)
  • 0000037: [IMPROVEMENT] Design improvement of Batch Web Controler screens
  • 0000029: [IMPROVEMENT] Improve Message readability when batch is locked
  • 0000064: [IMPROVEMENT] Some labels are not translated : datatable deletion confirmation
  • 0000056: [IMPROVEMENT] The initialsize pool property can not be updated with the web controler
  • 0000061: [IMPROVEMENT] Replace session#flush with proper transaction management
  • 0000068: [IMPROVEMENT] Remove duplicated jsp code
  • 0000028: [IMPROVEMENT] Add link to List of Batches from Screen History
  • 0000019: [IMPROVEMENT] When a batch or group is selected, keep it in navigation context
  • 0000077: [IMPROVEMENT] Upgrade to last FWK version
  • 0000067: [IMPROVEMENT] Enable user with role to configure correctly the BAR Upload folder and inform others of misconfiguration
  • 0000070: [IMPROVEMENT] Add screen that shows BatchServer Thread Dump
  • 0000030: [IMPROVEMENT] Security Management : Add Task to pause batch server
  • 0000020: [IMPROVEMENT] Enhance deployment procedure to avoid user forgetting mapping phase
  • 0000027: [IMPROVEMENT] Do not display Batch state if Batch has launches
  • 0000006: [BUG] BAR upload : NPE if no right on upload folder
  • 0000063: [BUG] Fail to remove a newly added batch or group mail
  • 0000057: [BUG] when stopping the currently selected console the menu should be reduced
  • 0000075: [BUG] Updating a trigger with the web controller will corrupt the trigger
  • 0000049: [BUG] Empty batch server configuration can be created in Menu Configuration > Manage Consoles
  • 0000050: [BUG] Configuration > Manage Consoles : Error displayed when using the same ID is not explicit
  • 0000060: [BUG] Security DAOs crash in getXxxById Methods

ubik-batcher-core -

  • 0000089: [IMPROVEMENT] Internal refactoring : Remove unused classes
  • 0000087: [IMPROVEMENT] Internal refactoring : Remove the dependency on persister-ubik
  • 0000086: [IMPROVEMENT] Bar configuration should enable setting properties on plugin as plugin-manager.
  • 0000053: [IMPROVEMENT] Ensure portability on DB without sequences
  • 0000052: [IMPROVEMENT] Internal refactoring : Remove all dependencies on iBatis
  • 0000043: [IMPROVEMENT] Internal Refactoring : PoolMonitoring: Remove all code based on iBatis
  • 0000042: [IMPROVEMENT] Internal Refactoring : Remove dependancy on DUAL table
  • 0000041: [IMPROVEMENT] New BatchStart Implementation that removes dependency on Custom FWK (SI3SI / DKT) and allows more flexible mapping
  • 0000008: [IMPROVEMENT] Logging configuration : Ability to use either properties or XML file for LOG4J configuration
  • 0000009: [IMPROVEMENT] Configuration : Make Datasoure DTD reference Ubik ID
  • 0000012: [IMPROVEMENT] Mail generation : Velocity logged in velocity.log(not rotated, size increase...), make it use log4j
  • 0000025: [IMPROVEMENT] Ease development by embedding Database in development mode and auto create DB
  • 0000033: [IMPROVEMENT] Internal Refactoring : FileTransfertConfig : Remove all code related to DB save
  • 0000034: [IMPROVEMENT] Internal Refactoring : MemoryMonitoring : Remove all code based on iBatis
  • 0000035: [IMPROVEMENT] Internal Refactoring : Remove unused code related to Timezone
  • 0000036: [IMPROVEMENT] The db pool should not be destroyed when updating trivial properties
  • 0000051: [BUG] The initialsize pool property is not set on the dbcp datasource
  • 0000083: [BUG] JMS Reconnector uses CPU if Thread has not scheduled at time
  • 0000011: [BUG] BatchLaunch : SQLParameters are not loaded from DB in the right order
  • 0000065: [BUG] Limit the date range of the BatchInfoMBean#getNextExecutionsBetween2Dates
  • 0000085: [BUG] IPlugIn#destroy is called on new instance of Implementation

Version (12/12/2008, tag : UBIK_20081212_5_0_1_2_SI3SI)

  • Batch Server:
    • Evolutions :
      • API refactoring pour gestion Launchs sur BatchStart type fichier

Version (29/08/2008, tag : UBIK_20080829_5_0_1_1_DKT_PULSE)

  • Batch Server:
    • Evolutions:
      • Suppression de la table LAST_BATCH_EXEC
      • Les opérations des MBeans lèvent une exception au lieu de renvoyer un message d'erreur
  • Web Controler:
    • Evolutions:
      • Ajout d'un Webservice permettant de s'interfacer avec les serveurs paramétrés dans le Controleur, les opérations proposées sont:
        • Démarrage immédiat
        • Démarrage différé
        • Arrêt
        • Interrogation de l'état
      • Ajout d'un connecteur LDAP pour l'authentification
      • Ajout possibilité d'intégrer l'écran de contrôle principale dans une autre Webapp

Version (15/04/2008, tag : UBIK_20080415_5_0_1_0_SI3SI_LIVRAISON)

  • Batch Server:
    • Evolutions:
      • Ajout d'une source de données JMS (JmsBatchStart)
      • Ajout d'une classe de base pour les Batch utilisant JMS (BaseJmsBatch)
      • Mécanisme de mise à jour d'un JNDI local à partir de N Server JNDI distants
      • Montée de versions de librairies:
        • activation-1.1.1.jar (UPGRADE)
        • antlr-2.7.6.jar
        • asm-1.5.3.jar
        • asm-attrs-1.5.3.jar
        • bcel-5.1.jar
        • bcprov-jdk14-138.jar (UPGRADE)
        • cglib-2.1.3.jar
        • commons-beanutils-1.7.0.jar
        • commons-codec-1.3.jar
        • commons-collections-3.2.jar
        • commons-dbcp-1.2.1.jar
        • commons-digester-1.8.jar
        • commons-lang-2.4.jar (UPGRADE)
        • commons-logging-1.1.jar (UPGRADE)
        • commons-mail-1.0.jar
        • commons-modeler-2.0.jar
        • commons-pool-1.2.jar
        • concurrent-1.3.4.jar
        • dom4j-1.6.1.jar
        • ehcache-1.3.0.jar
        • ejb-2.0.jar
        • fwk-do-substract-1.0.0.jar
        • geronimo-j2ee-connector_1.5_spec-1.0.jar (NEW)
        • geronimo-j2ee-management_1.0_spec-1.0.jar (NEW)
        • hibernate-3.2.6.jar (UPGRADE)
        • ibatis-common-2-2.0.jar
        • ibatis-dao-2-2.0.jar
        • ibatis-sqlmap-2-2.0.jar
        • jaas-1.0.jar
        • jaxen-1.1-beta-7.jar
        • jms-1.1.jar (NEW)
        • jmxremote-1.0.jar
        • jmxri-1.2.1.jar
        • jta-1.0.1.jar
        • log4j-1.2.15.jar (UPGRADE)
        • mail-1.4.1.jar (UPGRADE)
        • mx4j-tools-3.0.2.jar (UPGRADE)
        • naming-common-1.1.jar
        • naming-factory-1.1.jar
        • naming-resources-1.1.jar
        • quartz-1.5.2.jar
        • quickserver-1.4.7.jar
        • servletapi-2.3.jar
        • ubik-batch-server-jms- (NEW)
        • ubik-console- (UPGRADE)
        • ubik-console-config- (UPGRADE)
        • ubik-console-logging- (UPGRADE)
        • ubik-console-persister.1.0.2.jar (UPGRADE)
        • ubik-console-shared-data- (UPGRADE)
        • ubik-console-transfer- (UPGRADE)
        • ubik-fwk-1.0.jar
        • velocity-1.4.jar
        • xerces-resolver-2.8.1.jar (NEW)
        • xercesImpl-2.8.1.jar (UPGRADE)
        • xml-apis-1.3.03.jar (UPGRADE)
    • Corrections:
      • Les liens logiques n'étaient pas mis à jour si ajout à postériori d'un pool
      • Ajout contrôles de validité supplémentaires sur la configuration des batchs
  • Web Controler:
    • Evolutions:
      • Ajout d'un écran de gestion des ressources JMS

Version (18/01/2008, tag : UBIK_20080118_5_0_0_3_SI3SI_LIVRAISON)

  • Ajout validation état MultipleBatchLauncher#addLaunch()
  • Correction NPE dans ConfigurationService#saveSchedulerConfiguration quand déploiement d'un BAR invalide

Version (19/12/2007, tag : UBIK_20071219_5_0_0_2_SI3SI_LIVRAISON)

  • Ajout accès au BatchExecutionContext dans IBatchStart

Version (28/11/2007, tag : UBIK_20071128_5_0_0_1_SI3SI_LIVRAISON)

  • Correction bug : sur échec de déploiement, dans certains cas la failure cause n'est pas écrite
  • Correction régression 3.0.5 : Prise en compte des Launchs ajoutés dans registerBatches
  • repackaging log4j-console-adapt.jar en ubik-console-logging.jar et gestion hierarchie racine

Version (22/11/2007, tag : UBIK_20071122_5_0_0_0_SI3SI_LIVRAISON)

  • Batch Admin : Ajout détail d'un BAR (Mapping pools Logiques/physiques)
  • Ajout d'une nouvelle classe de base des Batchs (com.ubikingenierie.console.apiconsole.BaseBatch) et précision de la signature pour la configuration
  • La configuration de l'upload de BARs n'est plus stockée en base, elle est maintenant stockée dans 2 propriétés dans le fichier config.properties:
# Folder that will contain BARs transfered from Batch Web Controller
# This folder must only be used by this server and it must be writable
# Port on which the Batch server listens for BARs upload
  • Ajout concept de groupBy sur SqlBatchStart permet de grouper les lignes ramenées de la base sur un ensemble de colonnes, Utilisation:
    • Obtenir dans méthode exec() une commande et lignes de commandes associées
  • Ajout de la notion d'extension, une extension permet de plugger les configurations spécifiques à un client particulier de façon normalisée
  • Montée de version avec SI3SI et ajout d'une extension SI3SI:
    • Intégration des BatchStarts Fichier (CtGetBatchStart, FileBatchStart, DaoFileBatchStart)
  • Possibilité de paramétrer le Dialect Hibernate utilisé (plus besoin d'un hibernate spécial par cible)+ détection automatique des 6 Dialectes les plus courants
  • Ajout interpretation de propriétés dans le fichier config.properties (permet de définir une seule fois par exemple de répertoire d'install INSTALL_DIR, puis de l'utiliser dans les autres propriétés par ${INSTALL_DIR})
  • Repackaging en modules:
    • ubik-console : Noyau
    • ubik-console-bootstrap : Module de Bootstrap
    • ubik-console-shared-data : Objets partagés avec Web Controler
    • ubik-console-transfer : Module de transfert des BAR
    • ubik-console-config : Noyau de configuration
    • ubik-console-si3si : Extension SI3SI/3Suisses
    • ubik-console-dkt : Extension Decathlon
  • Suppression des dépendances:
    • XMLBeans 1.0.4
    • Crimson 1.1.3
    • xmlunit 1.0
  • Montée de version des librairies:
    • Hibernate 3.2.5
    • Mx4j 3.0.2
    • BouncyCastle 1.38
    • commons-beanutils 1.7.0
    • commons-digester 1.8
    • commons-logging 1.1
    • ehcache 1.3.0
  • Suppression de la sauvegarde XML, remplacée par une sauvegarde en base de données par Hibernate

Version (09/03/2009, tag : UBIK_20090309_DKT_4_0_0_8)


  • Increased column size of IDs in Console DB Repository and adapted Hibernate Configuration files

Version (29/01/2009, tag : UBIK_20090129_DKT_4_0_0_7)


  • Scheduled batches are now removed from DB if removed from BAR
  • Position of SqlParameter was not correctly read from DB in case of a BatchLaunch
  • Removed useless call to Session#clear() in TraitementConfiguration#reloadGenericConfiguration()


  • VelocityEngine now uses Log4j loggers to log instead of logging to a specific file

Version (15/09/2007, tag : UBIK_20070827_DKT_4_0_0_6)

Bug Corrections:

  • Correction of Deployment Event History, event orders was not chronological
  • Correction of (rare) bugs that occured if deployment failed:
    • If Plugin provokes NoClassDefFoundError due to UnsatisfiedLinkg, BAR was kept and could not be released nor deployed (NtEventLogger)
    • If Deployment failed in BarLoader start(), BAR was not cleaned


  • Cold Deployment (Déploiement à froid):
    • BARs put in <Console Home>/batches-cold-deploy will be deployed when console starts
  • Running batches appear in mails of OutOfMemory and Pool Exhaustion
  • In case of deployment failure, BAR is copied to <Console Home>/batches-deploy-failure and a file called <BAR-NAME>.failure is written containing the stacktrace

Version (15/12/2006)

  • Implémentation concept de BAR (Batch Archive) similaire aux WAR
  • Implémentation class loader différent de BAR (Batch Archive) similaire aux WAR
  • Enrichissement couche MBean pour utilisation par Web Controler

Version (15/11/2006)

  • Correction arrêt si indispo du serveur mails et que batchs délockés
  • Unregister batch néttoie l'ancienne config
  • Ajout contrainte unicité sur BATCH_LAUNCH_TRIGGER
  • Correction warning Hibernate
  • Enrichissement API Cliente

Version (02/11/2006)

  • Correction NPE si batch type STOP_ON_FAIL throw exception dans finalizeBatch

Version (28/10/2006)

  • Correction calcul min/max pools

Version (01/10/2006)

  • Correction nombre de lignes supprimées toujours à 0 dans Batch de nettoyage
  • Ajout trace mémoire consommée par JVM en base
  • Ajout trace min/max pool JDBC IDLE/ACTIVE activable par MONITOR_POOL=true dans config.properties
  • Ajout description dans BaseMonoThreadedTaskWithNoDataTraitement
  • Forcage MISFIRE_INSTRUCTION_DO_NOTHING dans BaseMonoThreadedTaskWithNoDataTraitement
  • Modification message mail envoyé sur atteinte limite durée
  • Ajout paramètre de configuration pour % pool et mémoire MEMORY_PERCENTAGE_ALERT et POOL_PERCENTAGE_ALERT et MONITOR_POOL pour activation
  • Ajout opération JMX sur DataSourceManager : getPoolsMinMax

Version (25/09/2006)

  • Correction bug sur LastBatchExec, l'état était toujours RUNNING
  • Correction dépendances commons-pool et commons-dbcp

Version (15/09/2006)

  • La suppression d'un batch nettoie toutes les tables.
  • Correction stopLinkingOnError, un batch linké dont le père a une erreur n'est pas déclenché si stopLinkingOnError à true
  • Si saisie maxThreads == -1, alors maxThreads à null

Version (01/09/2006)

  • Modification des méthodes enableBatchesOfLaunchFamily et disableBatchesOfLaunchFamily : plus besoin de mettre en pause le scheduler, les launches qui ne tournent pas son modifiés tout de suite, on attend la fin de ceux qui tournent pour faire la modification.
  • Ajout d'une méthode restoreFromDB sur les batches qui recharge complétement la configuration de la base (tout de suite s'il ne tourne pas, quand il a fini le cas échéant. Idem pour chaque launch s'il y en a).
  • Possibilité de faire un restoreFromDB pour une famille de launchs.
  • Appel automatique de restoreFromDB suite à un createLaunchFromModel.
  • Lors de l'arrêt de la console, la liste des batches qui doivent se déclencher dans l'heure est intégrée au corps de l'email envoyé aux administrateurs.

Version (22/08/2006)

  • Correction NullPointer
  • Ajout dans mail startup de la liste des JARs chargés dans Classloader
  • Le mail signalant que la console est Pause ou Arrêt n'est plus envoyé qu'une seule fois
  • Arrêt envoi de mail quand un batch linké doit être déclenché et que la console est arrétée

Version (01/08/2006)

  • Ajout stockage configuration en base (Utilisation Hibernate pour portabilité maximum)
  • Stockage des LOCKs en base (BATCH_LOCK et GROUP_LOCK), le plugin salto.batch.system.LockedBatchCheckerPlugin réalise le délocke au démarrage
  • Ajout possiblité d'avoir plusieurs Triggers sur un launch (Gestion multi timezones)
  • Ajout possibilité d'arrêter link des batchs si erreur dans batch père (AndLinker#setStopLinkingOnError() et OrLinker#setStopLinkingOnError(), par défaut non)
  • Changement table BATCH_HEAD pour stocker plus d'infos en base utilisée par Ubik Batch Server Web Controler
  • Correction caractéristique : Si un batch se déclenche alors qu'il est en cours, il ne fait rien mais il déclenchait ses fils, ce n'est plus le cas

Version (02/05/2006)

  • Ajout attribut numUsed sur les pools
  • Correction bug velocity, si la librairie est utilisée par un projet, les templates du projets peuvent prendre le pas sur ceux de la console, on n'utilise donc plus le Singleton Velocity

Version (01/04/2006)

  • Corrections bug problème de batch restant dans l'état RUNNING alors qu'il ne se passe rien.
  • Correction bug 100% CPU lors du Shutdwown
  • Correction bug si Mailer indisponible, la console ne démarre pas.
  • Ajout possibilité d'empêcher déclenchement d'un batch par Veto

Version (15/03/2006)

  • Accès au trigger déclenchant le Batch afin d'identifier la TimeZone de déclenchement.
  • Possibilité d'empêcher l'exécution du batch et de tous les batchs linkés par la méthode vetoExecution()
  • Accès aux TimeZone de la console par BatchInfoService.getTimeZones()

Version (01/03/2006)

  • Correction bug (suite à bug driver Oracle classes12.jar des caractères bizarres) les batchs restent dans un état running sans rien faire

Version (17/02/2006)

  • Correction bug 100% CPU lors du Shutdwown
  • Correction bug LoggerApplicatif
  • Correction bug envoi mails au démarrage arrête la console si aucun mail en base
  • Ajout validation configuration Batch (MinJob, MaxJob, MaxThreads)
  • Les launchs créés sont Disabled par défaut.
  • Ajout opérations:
    • createLaunchesFromModel : Crée un ensemble de Launchs à partir d'une famille modèle
    • disableBatchesOfLaunchFamily : Désactive les Launchs d'une famille et sauvegarde l'ancien état
    • enableBatchesOfLaunchFamily : Réactive l'ancien état des batchs d'une famille
    • Sur launch, activateLaunch : permet de créer un Batch runtime à partir d'un launch sans la contrainte que tous les launchs du batchs soient arrêtés.
    • Sur launch, destroy : permet de détruire le Batch runtime du Launch et le launch (Le batch ne doit pas être en court)

Version (01/02/2006)

  • Correction bug contrôle abusif channel vide après erreurs dans Batch STOP_ON_FAIL
  • Correction déclenchement Trigger au démarrage si date trigger passée
  • Ajout enable
  • Correction getTriggersNextFireTime quand batch disabled

Version 2.0.2

  • Ajout des logs séparés. Chaque groupe peut maintenant logger dans un fichier particulier.
  • Ajout du HealthMonitor avec les contrôles suivants:
    • Temps d'exécution maxi d'un batch
    • Retard d'un batch
    • Problème de séquencement
  • Ajout d'un MBean d'administration du HealthMonitor:
    • Paramétrage des périodes d'exécution
    • Ajout d'un contrôle de durée sur un batch
  • Ajout de Satellis en tant que système paramétrable d'alerte.
  • Ajout d'opération d'administration:
    • Lock/Unlock groupe
    • getNextFireTime permet de connaître prochaine dates de déclenchement d'un batch
    • Ajout help et testCronTriggerExpression sur scheduler afin de tester une CronExpression
  • Ajout zip des mails d'alertes.
  • Création d'un installeur

Version 2.0.0

  • Ajout du concept de BatchLaunch qui permet de lancer un même traitement avec différents paramètres stockés en base.
  • Ajout d'un ID de console permettant d'avoir plusieurs console attaquant une base
  • Adaptation des Linkers pour prendre en compte la modifications sur les Launch
  • Externalisation de la génération HTML dans des templates Velocity
  • Refactoring de l'algorithme de threading en utilisant classes Concurrent.
  • Remplacement classe de mail par commons-mail (Envoi fichier joints possible)
  • Refactoring des composants JMX, ils sont tous conçus en utilisant commons-modeler.
    • L'arborescence des composants JMX est réorganisés par type.
    • Séparation de la config des batchs en "static" et "runtime" pour permettre recharge à chaud
    • Ajout monitor JMX et notification par mail pour détecter OutOfMemory et Saturation des Pools
    • Ajout batch de nettoyage des tables BATCH_HEAD et BATCH_TRT
    • Suppression de l'AOP pour tracer actions remplacée par un MBeanServerForwarder
    • Changement du format de sauvegarde des batchs (plus lisible) (Utilisation d'XMLBeans)
    • Ajout dans le mail des erreurs du détail des erreurs qui se sont produites avec leur StackTrace
    • Ajout envoi mail lors évènements important sur console (pause, resume, shutdown)
    • Ajout nombre de lignes traitées dans les traces en base

Version 1.2.2

  • Ajout validation datasource.xml
  • Ajout nouvelles interfaces JMX pour administration des pools (Chaque pool apparaît maintenant dans admin.system.pools).
  • Nouveau composant d'administration DataSourceManager remplace DataSourcePoolMBean
  • Correction erreur lors de l'insertion dans table de trace(Champs trop petit)
  • Réorganisation sources pour rendre indépendant package salto.fwk de salto.batch

Version 1.2.1

  • Intégration de commons-pool-1.2
  • Intégration de commons-dbcp-1.2.1
  • Ajout ITransactionManager (DefaultTransactionManager pour le fwk Salto) qui permet entre autres de rollbacker et fermer les connexions restées ouvertes.
  • Passage à quartz 1.4.1
  • Finalisation de l'algo de reprise sur erreur avec implémentation de :
    • salto.batch.appender.persistence.BatchTrtPersister => Persistence classique dans un Clob
    • salto.batch.appender.persistence.OracleBatchTrtPersister => Gère la spécificité des Clob Oracle
  • Création d'un système de Factory permettant de stocker la config

des composants dans un fichier XML ou en base, implémentation pour :

    • com.salto.console.MAIL_MANAGER_STORE pour le dispatcher de mails
    • com.salto.console.PLUGIN_MANAGER_STORE pour les PLUGINs
  • Amélioration de la gestion des erreurs lors d'exécutions d'opérations

JMX, un message apparaît avec :

    • Le message de l'exception.
    • La stack trace

Version 1.2.0

  • Passage à quartz 1.3.1
  • Ajout libs:
    • jta.jar
    • commons-modeler.jar
  • Resauvegarde des configurations nécessaire:
    • Car ajout de TimeZone dans CronTrigger
    • Ajout Enum pour gestion de l'état actionWhenError
  • Code de CronTrigger et SimpleTrigger revu, les classes héritent maitenant des classes de Quartz donc plus besoin de Copier/Coller le code

lors d'une migration de version.

  • Ajout d'un ClassLoader spécifique (Implémentation Tomcat) permettant de charger les Jars depuis un répertoire et en conséquence ajout d'un mécanisme de bootstrap à la Tomcat.
  • Le découpage des répertoires de JARs est le suivant:
    • business/lib => Contient les librairies métier
    • common/lib => Contient les librairies de la console
    • driver/lib => Contient les drivers JDBC
    • server/lib => Contient le jar de bootstrap
  • Ajout opérations:
    • admin.system.adminBatch.unregisterBatch
    • admin.system.batchInfo.listErrorsBetween2Dates => Liste détaillée des erreurs (stacktrace + message) entre 2 dates
    • admin.system.batchInfo.listTodayErrors => Liste détaillée des erreurs (stacktrace + message) du jour
    • admin.system.batchInfo.listYesterdayErrors => Liste détaillée des erreurs (stacktrace + message) de la veille
  • Renommage ancien admin.system.batchInfo.listErrorsBetween2Dates en admin.system.batchInfo.listBatchInErrorBetween2Dates
  • Renommage ancien admin.system.batchInfo.listYesterdayErrors en admin.system.batchInfo.listYesterdayBatchesInError et correction seuls les batchs de la veille apparaissent
  • Renommage ancien admin.system.batchInfo.listErrorsBetween2Dates en admin.system.batchInfo.listBatchInErrorBetween2Dates

et correction seuls les batchs du jour apparaissent

  • admin.system.dataSourcesPool.createDataSource => Permet création DataSource en direct avec cryptage ou pas du password.
  • admin.system.dataSourcesPool.validateDataSourcesConfiguration => Permet validations de tous les pools en une seule visualisation

Impacts sur l'algo de scheduling:

  • batches.nomBatch.stop => Passe le batch dans l'état STOPPED, il peut être repris par resume(), le batch reprend là où il était
  • batches.nomBatch.resume => Permet de redémarrer un batch stoppé
  • batches.nomBatch.interrupt => Interrompt le batch en cours dès que la méthode exec() du batch est terminée
  • batches.nomBatch.resumeOnError => Permet de reprendre un batch stoppé sur une erreur là où il en était, le batch étant dans l'état WAITING
  • Implémentation d'un système de plugin permettant d'appeler du code une seule fois.
  • Implémentation d'un MailManager permettant de paramétrer le dispatching des mails par:
    • batch
    • groupe de batch
    • admin
  • Ajout librairie modeler permettant de décrire les MBean dans fichier XML et d'accélérer développement MBean
  • Corrections:
    • registerBatch => Correction pb réenregistrement batch existant pouvait entraîner pb de scheduling, le batch est donc d'abord désactivé
    • Correction désenregistrement de l'arbre JMX, qd un batch était désenregistré les noeud batchStart, appender, linker et trigger n'étaient pas nettoyés.
    • Correction pertes de certains thread qui restaient en attente après avoir terminé leur tâche
    • Correction implémentation JdbcAppender.
    • La persistence XML écrit maintenant des fichiers formatés.
    • Correction lecture fichier XML par JndiPool si fichier formaté

Version 1.1

  • Correction bug : 2 threads pouvaient se retrouver simultanément dans la méthode run car pb dans Redirector.
  • Correction cas de lock.
  • Factorisation OrLinker et AndLinker et bonne gestion des exceptions JobExecutionException.


  • David Dégardin
  • Philippe Mouawad
  • Benoît Wiart


  • Page created by Pmouawad, 3 November 2007: New page: [[Category:Ubik Batch Server]] = Release Notes
  • Contributors: Pmouawad x86, WikiSysop x10
  • Last modified by Pmouawad, 10 January 2014: /* ubik-batcher - 6.1.0 */
Personal tools