Übersicht
Der HitBatch-Client arbeitet ähnlich einem Filetransfer- oder Datenbank-Load/Unload-Programm.
Der Client benötigt ein aktuelles Java (ab Version 8). Dies kann eine der
OpenJDK-Varianten (Eclipse Adoptium, Azul Zulu, Amazon Corretto etc) oder eine
der nicht frei verfügbaren Varianten (Oracle, IBM) sein. Die
Standardinstallation einer JRE genügt für den Betrieb.
Aufrufsyntax
Ab Version 60:
java -jar hitbatch-complete.jar <Ini-Datei-Pfadangabe> [Set/Schlüssel=Wert ...]
(ggf. bei der JAR-Datei dessen Pfad mit angeben)
Seit HitBatch v62:
Der HitServer und somit auch der HitBatch sind um weitere
Verschlüsselungsalgorithmen erweitert worden, die verwendet werden können (nicht
müssen!), wenn die Crypto-Bibliothek
Bouncy Castle
ab Version 1.76 beim Aufruf mit eingebunden wird. Dort ist unter "latest
release" die Datei vom Typ Provider "bcprov-jdk18on-176.jar " (oder spätere
Versionsnummer 177 etc) herunterzuladen.
Der Aufruf ist dann (Java 8 oder höher):
java -cp bcprov-jdk18on-176.jar -jar hitbatch-complete.jar <Ini-Datei-Pfadangabe> [Set/Schlüssel=Wert ...]
Ohne die Bibliothek können nicht alle Angaben bei
ENC_SYM verwendet werden!
Seit HitBatch v48:
Hinter der Ini-Datei-Pfadangabe können 0 bis n Schlüssel-Wert-Paare angegeben
werden. Diese überschreiben Ini-Parameter temporär oder werden als neue
Abschnitt-Schlüssel-Wert-Paare angelegt. Die Ini-Datei selbst bleibt dabei immer
unverändert, d.h. die so überschriebenen Daten werden am Ende des HitBatch
nicht in die Datei zurückgeschrieben.
Einen Sonderfall bildet der Abschnitt Var : dieser kann als
einfacher Variablenspeicher verwendet werden, dessen Werte via Makro
%ENV:<Schlüssel>% angewandt werden können (Beispiel und zur Reihenfolge/zum Vorrang
der Wert-Ermittlung siehe hier).
Bis Version 58 (nur zur Dokumentation, da keine Downloads mehr dafür
verfügbar):
java -cp "HitUpros.jar;HitBatch.jar" HitBatch.HitBatchMain <Ini-Datei-Pfadangabe> [Set/Schlüssel=Wert ...]
Damit wird das Programm HitBatch.HitBatchMain funktioniert, muss Java
mitgeteilt werden, wo es die dafür benötigten Pakete findet. Diese werden als
Javaparameter -classpath "HitUpros.jar;HitBatch.jar" mitgegeben (ggf. die Pfade mit angeben).
Der Parameter -jar wirkt hier nicht, da das integrierte Manifest
keinen Eintrag Main-Class besitzt.
!! Wichtiger Hinweis !!
Aus gegebenen Anlässen weisen wir ausdrücklich auf folgendes hin:
1.
|
Es genügt nicht, dass Programme von Softwareanbietern, die den
HitBatch-Client zur Datenübertragung benutzen, nur die Eingabedateien bereitstellen und
den Batch-Client aufrufen,
sondern:
| die Programme müssen unbedingt die Ergebnisse und Fehlermeldungen in den
Protokolldateien
auswerten, |
| fehlerhafte Sätze korrigieren lassen und neu senden |
| und aus Systemgründen nicht angenommene Sätze auch erneut übertragen. |
Details unter HitBatch-Logfiles und auch unter "Wichtige Hinweise an Produzenten von
Software für HI-Tier Meldeprogramme" |
|
2.
|
Durch die verschärften Plausiprüfungen in der Datenbank bezüglich
Ohrmarkennummern können keine Meldungen zu Tieren abgesetzt werden, ohne dass für diese
keine Entstehungsmeldung (also Ersterfassung, Geburt, EU-Einfuhr oder Importmarkierung)
vorliegen. Sie erhalten dann die Fehlermeldung #701 "Diese Ohrmarkennummer
existiert nicht in der Datenbank" mit der Schwere 2, was bedeutet, dass diese
Meldung zu korrigieren oder mit FORCE erneut zu melden ist. Dieses Problem betrifft
hauptsächlich Schlachtbetriebe, die Tiere ohne Entstehung zugehen und schlachten
lassen
wollen.
Es gibt hierzu zwei Lösungsvorschläge (unter Anwendung des HitBatch-Clients):
| Betriebe, die unbedingt wissen wollen, ob Tiere ohne Entstehungsmeldung zugehen, senden
die Zugangsmeldungen normal mit IS bzw. IB . Die dann dabei mit oben genanntem Fehler
zurückgegebenen Meldungen können dann mitprotokolliert und erneut mit
IS/S bzw. IB/S
gesendet werden. Dies setzt jedoch einen gewissen Verwaltungsaufwand seitens des Betriebes
voraus. |
| Betriebe, die solche Tiere unabhängig von deren Entstehung dennoch sofort speichern
wollen, können diese im HitBatch gleich mit IS/S bzw.
IB/S melden. |
Hinweis: Der HitBatch-Client kann jedoch nicht mit der Einstellung
VERHALTENBEINACHFRAGE=1 bzw. =2 verwendet werden, wenn die Meldungen im Block-Modus
(=IB ) gesendet werden. Es sollte dann IB/S verwendet oder auf
IS
umgestellt werden. |
Fehlermeldung java.lang.OutOfMemoryError: Java heap space
Bis einschließlich Java-Version 5: Ab Version 42 des HitBatch können OutOfMemory -Fehler
auftreten, da die kritische Grenze des sogenannten Heap Space von 64MB
erreicht wird. Durch einen zusätzlichen Javaparameter -Xmx128M
(für z.B. 128 MB) kann Java mitgeteilt werden, daß die Java-Laufzeitumgebung
mehr Speicher reservieren darf.
Ab Version 6 des Java-Systems dürfte das Problem nicht auftreten, da diese
nicht mehr die 64MB-Grenze verwenden, sondern den kleineren der beiden Werte: 1/4
des physikalischen Arbeitsspeichers oder 1GB.
Die zusätzliche Option -Xmx ist in allen Java-Versionen
möglich und kann ohne Geschwindigkeitseinbußen präventiv immer verwendet
werden.
Zeichensatz
Der HIT-Server arbeitet von Haus aus mit dem Zeichensatz ISO-8859-1
(auch Latin1 genannt). Damit Umlaute oder Sonderzeichen korrekt aus
Datendateien gelesen und an die Datenbank übertragen werden, müssen daher alle
Clients ebenso mit diesem Zeichensatz arbeiten.
Sowohl deutsch- als auch englischsprachige Windows-Versionen arbeiten
korrekt, da der windowseigene Zeichensatz vom obigen Zeichensatz größtenteils
abgeleitet ist.
Linux-Anwender (ebenso AIX, BSD, etc.) jedoch müssen in den meisten
Fällen dem Client explizit mitteilen, mit welchem Zeichensatz gearbeitet werden
soll, da die meisten inzwischen mit UTF-8 arbeiten, das ab dem
127sten Zeichen nicht mehr mit Latin1 deckungsgleich ist und zudem Zeichen mit
mehr als einem Byte "versteht". Der Aufruf entspricht dann dem obigen,
der rot markierte Teil ist zu ergänzen:
java -Dfile.encoding=ISO-8859-1 -jar hitbatch-complete.jar <Ini-Datei-Pfadangabe> [Set/Schlüssel=Wert ...]
Programm-Aufrufbeispiel
Windows
@ECHO OFF
:AGAIN
java HitBatch.HitBatchMain HitBatch.ini
IF ERRORLEVEL 4 GOTO AGAIN
IF ERRORLEVEL 1 GOTO ERROR
GOTO FERTIG
:ERROR
ECHO Transfer der Daten nicht erfolgreich
PAUSE
:FERTIG
Der HitBatch liefert verschiedene Fehlerschweren, auf die reagiert werden
kann:
0 = Verarbeitung OK, Details siehe Ergebnis-Dateien
1 = Impressum ausgegeben, keine weitere Verarbeitung
2 = Ini.-Parameter-Fehler, keine weitere Verarbeitung
3 = Datei-Lesefehler, Verarbeitung wegen Problemen abgebrochen
4 = Fehler bei Verbindung zum HIT-Server, Verarbeitung abgebrochen
5 = System-Fehler, Fehlertext bitte an Entwicklung melden
Die Schwere 4 zeigt meist ein Verbindungsproblem auf, so daß
Scripten den Batch-Job erneut starten können, wie im Beispiel oben (am besten
mit einer sinnvollen zeitlichen Verzögerung). Der HitBatch merkt sich die
zuletzt verarbeitete Position und setzt dort erneut auf.
Beispiel-Parameter
Allgemein
siehe HitBatch.ini
Zurück zum Anfang
|