5.4.1 • Published 5 years ago

applitutoriel-js-batch v5.4.1

Weekly downloads
10
License
CECILL-2.1
Repository
github
Last release
5 years ago

applitutoriel-js-batch

L'application TUTORIEL batch a pour objectif de présenter une application de type batch basée sur le framework Hornet.

Cas fonctionnels

Les cas fonctionnels présentés dans l'application batch sont :

  • Ajout d'un secteur
  • Ajout de secteur en masse
  • Nettoyage de secteur ...

Prérequis

  • NodeJS 10.X
  • hornet-js-builder 2.X.X installé en global:
npm install -g hornet-js-builder
  • checkout du projet applitutoriel-js-batch

Initialisation

Se positionner dans le répertoire du projet applitutoriel-js-batch et lancer la commande:

hb install

Démarrage de l'application en mode développement

Commande par défaut

la commande à exécuter en mode développement est la suivante:

hb w

Elle permet de lancer l'application en mode watcher afin que les modifications soient prises en compte (ce qui entrainera un redémarrage du serveur node dans le cas d'une détection de modification).

Vérification

L'url du batch est accessible depuis un navigateur à l'addresse : http://localhost:8887/applitutorieljsbatch/.

Du batch :

./scripts/run-batch.sh localhost 8887 secteurs/feeder

Mode Mock

Il est possible d'utiliser l'applitutoriel sans déployer la partie service. Pour cela, activer le mode mock dans le config/default.json.

  "mock": {
    "enabled": true,
    "host": "127.0.0.1", //default localhost
    "routes": "/mock/routes"
  }

Packaging de l'application

$ hb package

Les livrables sont à récupérer dans le répertoire : target

  • applitutoriel-lite-batch-5.X.X-dynamic.zip

Fichier de configuration de l'application : default.json

L'ensemble de la configuration applicative du serveur NodeJS se situe dans le fichier default.json contenu dans les sources de l'application

Ce fichier ne doit pas être modifié, excepté pour le log console. Les modifications sont à apporter dans les fichiers d'infrastructure.

Configuration applicative

ParamètreDescriptionValeur
contextPathContext de l'applicatin déployéPar défaut vide
{
  "contextPath": "applitutorieljsbatch",
  ...
}

Configuration serveur

ParamètreDescriptionValeur
routeRoute identifié pour l'affinité de session nodejsjs1
portPort de démarrage du serveur8888
keepAliveActivation du mode HTTP KeepAlivetrue
maxConnectionsNombre maximal de connexion à l'instance nodejs100
timeoutTimeout des réponses HTTP300000
uploadFileSizeTaille maximal d'upload de fichier1000000
sessionTimeoutTimeout des sessions utilisateur1800000
  "server": {
    "route": "js1",
    "port": 8888,
    "keepAlive": true,
    "maxConnections": 100,
    "timeout": 300000,
    "uploadFileSize": 1000000,
    "sessionTimeout": 1800000
  }

Configuration des logs serveurs

Niveau de log :

ParamètreDescriptionValeur
level.allniveau de log pour toute l'applicationINFO
level.monappli.viewniveau de log spécifique pour une partie de l'applicationoptionnel
 "log": {
    "levels": {
      "[all]": "DEBUG",
      "hornet-js-components.table": "TRACE"
    }
    ...

Déclaration des appenders :

ParamètreDescriptionValeur
typeType d'appenderfile pour un fichier simpledateFile pour un fichier contenant la dateconsole ...
filenameChemin absolu ou relatif au lancement du fichier de log/var/log/nodejs/applitutoriel/applitutoriel-1.log
patternPrésent pour les types dateFile Permet de donner un pattern de date qui sera ajouté au nom du fichier.-yyyy-MM-dd
layout.typeType d'affichage des messagespattern
layout.patternSchéma d'affichage des messages"%[%d{ISO8601}%x{tid}%x{user}%p%c%x{fn}%m%]"

Ex: type console

"appenders": [
	{
	    "type": "console",
	    "layout": {
	      "type": "pattern",
	      "pattern": "%[%d{ISO8601}|%x{tid}|%x{user}|%p|%c|%x{fn}|%m%]"
	    }
	}
]

ex : type fichier

"appenders": [
	{
	    "type": "dateFile",
	    "filename": "log/app.log",
	    "layout": {
	      "type": "pattern",
	      "pattern": "%d{ISO8601}|%x{tid}|%x{user}|%p|%c|%x{fn}|%m"
	    }
	}
]

Mode mock

ParamètreDescriptionValeur
enabledActivation du mode mock de l'applicationfalse
hostHost local du mocklocalhost
routesChemin vers le fichier de routes mocké sans le /src/mock/routes
  "mock": {
    "enabled": false,
    "host": "127.0.0.1", //default localhost
    "routes": "/mock/routes"
  }