Site Under Construction by Santiago Aucejo Petzoldt
Requirements
- The user has to install a webserver where the web application will be hosted.
We recommend the use of jetty, because it is a lightweight webservlet container easy to set up and with few configuration expenses.
The web application will work on other servlet containers, too. - Deployment of the necessary libraries
Libraries which are used by the web application are integrated in the war file, therefore it runs independently to any JobScheduler instance. - a database connection
A database connection to the database which holds the transfer history has to be configured.
Installation
There are two ways to install the JADE Background Service History Viewer.
- Install the JADE Background Service History Viewer with a preconfigured jetty. DRAFT
- Install the JADE Background Service History Viewer in your own webservlet container.
Installation with a preconfigured Jetty
DRAFTTBD
Installation in your own webservlet container
During the installation process you will be prompted to
- configure the path to where the war file of the webapplication will be stored.
- configure the credentials for the database connection to the database holding the data of the transfer history.
- add the jobscheduler, which has to perform the JADE Job Chains to fill the database with the history data.
The war file will be stored in the configured path and holds the configured database connection credentials.
To configure the web application in your own servlet container properly please refer to the documentation of your servlet container.
Configuration Files
The war file jade-history-<version>.war contains some configuration files, which a updated during setup.
Pfad | Datei | Verwendung |
---|---|---|
/WEB-INF/classes | log4j.properties | log4j configuration to log with log4j |
/WEB-INF/classes | logback.xml | logback configuration to log with logback |
/WEB-INF/classes | hibernate.cfg.xml | database configuration file |
log4j.properties example
# Set the log level of the root logger to WARN
log4j.rootLogger=DEBUG, consoleAppender, fileAppender
# Direct log messages to the console
log4j.appender.consoleAppender=org.apache.log4j.ConsoleAppender
log4j.appender.consoleAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.consoleAppender.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
# Direct log messages to a file
# Set the file appender to a rolling file appender with a date configuration
log4j.appender.fileAppender=org.apache.log4j.DailyRollingFileAppender
# Set the type of the pattern layout to EnhancedPatternLayout to display local timezone
log4j.appender.fileAppender.layout=org.apache.log4j.EnhancedPatternLayout
# Set the pattern layout
log4j.appender.fileAppender.layout.ConversionPattern=%-5p [%d{yyyy-MM-dd HH:mm:ss,SSS Z}]: [%t] (%F:%L) - %m%n
# Set the output file an its path
log4j.appender.fileAppender.File=${java.io.tmpdir}/JadeHistory.log
# Set the append to true, should not overwrite
log4j.appender.fileAppender.Append=true
# Set the immediate flush to true
log4j.appender.fileAppender.ImmediateFlush=true
# Set the threshold to debug mode
log4j.appender.fileAppender.Threshold=debug
# Set the date pattern when the rollover should happen (daily at midnight)
log4j.appender.fileAppender.DatePattern='.'yyyy-MM-dd
logback.xml example
<configuration debug="true">
<property name="PATH_FOR_LOGFILES" value="${java.io.tmpdir}"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%-5level [%d{yyyy-MM-dd HH:mm:ss.SSS}]: [%thread] %logger [%file:%line] - %msg%n</pattern>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${PATH_FOR_LOGFILES}/JadeHistory.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<fileNamePattern>${PATH_FOR_LOGFILES}/JadeHistory.%d.log</fileNamePattern>
<!-- keep 7 days' worth of history -->
<maxHistory>7</maxHistory>
</rollingPolicy>
<encoder>
<pattern>[%-5level] [%d{yyyy-MM-dd HH:mm:ss.SSS}]: [%thread] %logger [%file:%line] - %msg%n</pattern>
</encoder>
</appender>
<root level="debug">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE"/>
</root>
</configuration>
Configuration of the web application
The web application is configured in a xml file, which
- contains the configuration of the context of the web application.
- is named the same as the war file.
- resides in the same directory as the war file (deployment with Jetty, Tomcat has a separate directory for context files ).
In the configuration set the context to /jade-history-viewer
to make sure the web application is reachable at http://<host>:<port>/jade
.-history-viewer
When no context is configured there is still the fallback to the default setting which simply uses a context with the same name as the war file (e.g. jade-history-viewer-1.8.0 or jade-history-viewer-1.8-4236-26901), which
- contains version information and therefore will get quite confused after some time.
- changes with each new version(e.g. update of version 1.8.0 to 1.8.1).
Using a context configuration has the following advantages:
- The (Web) adresse is easier to read.
- The (Web) adresse doesn´t have to be changed in the bookmarks of clients each time a new version comes out.
jade-history-<version>.xml example for a jetty context configuration
<?xml version="1.0" encoding="ISO-8859-1"?>
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="contextPath">/jade-history-viewer</Set>
<Set name="war">/opt/web/jetty_base/webapps/jade-history-viewer-<version>.war</Set>
<Set name="extractWAR">true</Set>
</Configure>