Ein Connector ist ein eigenständiges Objekt mit einem Protokoll und einem
Satz typisierter Properties. Er wird getrennt vom Channel angelegt und dort
referenziert. Diese Seite listet die Protokolle, die heute im Server
enthalten sind.
Überblick
| Bereich | Source (Eingang) | Destination (Ausgang) |
|---|
| Datei | file-reader | file-writer |
| SFTP | sftp-reader | sftp-writer |
| HTTP | http-listener | http-sender |
| HL7-Netzwerk (MLLP) | mllp-listener | mllp-sender |
| Datenbank | jdbc-reader | jdbc-writer |
| Messaging (JMS) | jms-listener | jms-sender |
| KIM (TI) | kim-receiver | kim-sender |
| E-Mail | — | smtp-sender |
Acht Eingangs- und sieben Ausgangs-Protokolle. Was nicht in dieser Liste
steht, gibt es nicht — dazu unten mehr.
Gemeinsame Muster
Secrets werden referenziert, nicht eingetragen. Überall, wo ein Passwort
oder ein Schlüssel nötig ist, heißt die Property …Ref (passwordRef,
privateKeyRef, signingCertificateRef). Der Wert ist ein Verweis auf ein
hinterlegtes Secret bzw. Zertifikat, nicht das Geheimnis selbst — die
Channel-Konfiguration liegt in Git, und dort hat ein Klartext-Passwort nichts
verloren.
Polling vs. Listener. file-reader, sftp-reader, jdbc-reader und
kim-receiver pollen in einem Intervall (pollingInterval, in
Millisekunden). http-listener, mllp-listener und jms-listener warten
auf eingehende Verbindungen.
Datei
file-reader
Liest Dateien aus einem Verzeichnis.
| Property | Bedeutung |
|---|
directory | überwachtes Verzeichnis |
filePattern | Glob-Filter, z. B. *.hl7 |
pollingInterval | Abfrage-Intervall in ms |
recursive | auch Unterverzeichnisse (Standard: aus) |
sortBy | Reihenfolge der Poll-Charge: name, date oder size |
charset | Zeichensatz (Standard: UTF-8) |
postProcessing | was mit einer erfolgreich verarbeiteten Datei passiert: delete, move oder keep |
moveToAfterProcess | Zielverzeichnis bei postProcessing: move |
moveToOnError | Zielverzeichnis für gescheiterte Dateien |
deleteAfterProcess | ältere Schreibweise; postProcessing hat Vorrang |
postProcessing ist die eindeutige Variante und sollte für neue Connectoren
gesetzt werden. keep lässt die Datei ausdrücklich liegen — sonst sammelt der
Datei-Transport still Kopien in einem Unterverzeichnis an.
file-writer
| Property | Bedeutung |
|---|
directory | Zielverzeichnis |
fileName | Dateiname (Ausdrücke möglich) |
fileExist | Verhalten bei vorhandener Datei |
charset | Zeichensatz |
eol | Zeilenende |
SFTP
sftp-reader und sftp-writer haben dieselben Properties wie ihre
Datei-Pendants, plus die Verbindung:
| Property | Bedeutung |
|---|
host, port, username | Verbindung |
passwordRef | Verweis auf das Passwort-Secret |
privateKeyRef | Verweis auf den privaten Schlüssel (Alternative zum Passwort) |
knownHostsFile | Pfad zur known_hosts |
strictHostKeyChecking | Host-Key-Prüfung |
strictHostKeyChecking auszuschalten heißt, einen Man-in-the-Middle nicht mehr
bemerken zu können. In Produktion gehört ein gepflegtes knownHostsFile dazu.
HTTP
http-listener
| Property | Bedeutung |
|---|
port | Port, auf dem gelauscht wird |
bindAddress | Netzwerk-Interface |
basePath | Pfad-Präfix des Endpunkts |
httpMethodRestrict | erlaubte HTTP-Methoden |
http-sender
| Property | Bedeutung |
|---|
targetUrl | Ziel-URL |
method | HTTP-Methode |
timeoutMs | Zeitlimit |
retryCount | Anzahl Wiederholversuche |
MLLP (HL7 über TCP)
mllp-listener
| Property | Bedeutung |
|---|
port, bindAddress | Verbindung |
backlog | Warteschlange offener Verbindungen |
maxConcurrentConsumers | parallele Verarbeitung |
receiveTimeoutMs, idleTimeoutMs | Zeitlimits |
autoAck | automatische ACK-Antwort |
mllp-sender
| Property | Bedeutung |
|---|
host, port | Ziel |
connectTimeoutMs, receiveTimeoutMs | Zeitlimits |
keepAlive | Verbindung offen halten |
Datenbank
jdbc-reader
| Property | Bedeutung |
|---|
dataSourceUrl, driverClassName | Verbindung |
username, passwordRef | Anmeldung |
query | Abfrage, die die Nachrichten liefert |
onProcessedUpdate | Anweisung, die nach erfolgreicher Verarbeitung läuft (Zeilen als erledigt markieren) |
pollingInterval | Abfrage-Intervall in ms |
maxRows | Obergrenze je Durchlauf |
maxPoolSize, connectionTimeoutMs | Verbindungs-Pool |
jdbc-writer
| Property | Bedeutung |
|---|
dataSourceUrl, driverClassName | Verbindung |
username, passwordRef | Anmeldung |
statement | Schreib-Anweisung |
batchSize | Stapelgröße |
maxPoolSize, connectionTimeoutMs | Verbindungs-Pool |
JMS
jms-listener
| Property | Bedeutung |
|---|
connectionFactoryUrl | Broker-Verbindung |
destinationName, destinationType | Queue oder Topic |
username, passwordRef | Anmeldung |
concurrentConsumers, maxConcurrentConsumers | Parallelität |
acknowledgementMode | Bestätigungsmodus |
durableSubscriptionName, clientId | dauerhafte Topic-Abonnements |
messageSelector | Selektor-Ausdruck |
jms-sender
| Property | Bedeutung |
|---|
connectionFactoryUrl | Broker-Verbindung |
destinationName, destinationType | Ziel |
username, passwordRef | Anmeldung |
deliveryPersistent | persistente Zustellung |
timeToLive, priority | Lebensdauer und Priorität |
KIM (Kommunikation im Medizinwesen)
kim-receiver
| Property | Bedeutung |
|---|
kimFachdienstUrl, kimPort, kimProtocol | Fachdienst-Verbindung |
kimUsername, kimPasswordRef | Anmeldung |
pollingInterval | Abruf-Intervall |
deleteAfterFetch | Nachricht nach Abruf löschen |
decryptionCertificateRef | Verweis auf das Entschlüsselungs-Zertifikat |
senderCertificateRef | Verweis auf das Absender-Zertifikat (Signaturprüfung) |
decryptionProvider | Krypto-Provider |
kim-sender
| Property | Bedeutung |
|---|
kimFachdienstUrl, kimPort, kimUseSsl | Fachdienst-Verbindung |
kimUsername, kimPasswordRef | Anmeldung |
senderAddress, recipientAddress | KIM-Adressen |
subject, payloadContentType | Betreff und Inhaltstyp |
signingCertificateRef, recipientCertificateRef | Signatur und Verschlüsselung |
vzdUrl, vzdBaseDn, vzdMailAttribute, vzdCertificateAttribute | Verzeichnisdienst-Abfrage |
signatureProvider | Krypto-Provider |
E-Mail
smtp-sender
| Property | Bedeutung |
|---|
host, port | Mailserver |
username, passwordRef | Anmeldung |
useTLS, useSSL | Transportverschlüsselung |
from, to, cc, bcc | Adressen |
subject, contentType | Betreff und Inhaltstyp |
attachmentFileName | Dateiname des Anhangs |
Es gibt bewusst keinen SMTP-Reader: Ein Postfach als Nachrichtenquelle ist
in der klinischen Integration selten die richtige Antwort — für den
TI-Anwendungsfall gibt es kim-receiver.
Was es (noch) nicht gibt
Diese Liste ist der ehrliche Teil dieser Seite:
- Kein TCP-Connector jenseits von MLLP. Für rohes TCP gibt es heute nichts.
- Kein Script-Connector (ein Connector, dessen Transport ein Skript ist).
- Kein Channel-Connector — also kein direkter Channel-zu-Channel-Transport.
Wer heute von Channel zu Channel routen will, verbindet einen
http-sender
mit einem http-listener. Aus demselben Grund gibt es
router.routeMessage() im Skript nicht.
- Kein DICOM. Der Mirth-Importer erkennt einen „DICOM Listener” als
Source-Transport, kann ihn aber nicht abbilden und meldet ihn als nicht
unterstützt.
Für die Module tcp, script und channel existieren im Server bereits
Platzhalter — sie enthalten aber noch keine Implementierung. Sie tauchen
deshalb weder in der UI noch in einer gültigen Konfiguration auf.
Diese Seite gibt es bisher auf Deutsch und Englisch. Die spanische Fassung folgt.