A connector is a first-class object with a protocol and a set of typed
properties. It is created separately from the channel and referenced there. This
page lists the protocols contained in the server today.
Overview
| Area | Source (inbound) | Destination (outbound) |
|---|
| File | file-reader | file-writer |
| SFTP | sftp-reader | sftp-writer |
| HTTP | http-listener | http-sender |
| HL7 over network (MLLP) | mllp-listener | mllp-sender |
| Database | jdbc-reader | jdbc-writer |
| Messaging (JMS) | jms-listener | jms-sender |
| KIM (German telematics) | kim-receiver | kim-sender |
| Email | — | smtp-sender |
Eight inbound and seven outbound protocols. What is not in this list does
not exist — more on that below.
Shared patterns
Secrets are referenced, not written down. Wherever a password or a key is
needed, the property is named …Ref (passwordRef, privateKeyRef,
signingCertificateRef). The value is a reference to a stored secret or
certificate, not the secret itself — the channel configuration lives in Git, and
a plaintext password has no business there.
Polling vs. listening. file-reader, sftp-reader, jdbc-reader and
kim-receiver poll on an interval (pollingInterval, in milliseconds).
http-listener, mllp-listener and jms-listener wait for incoming
connections.
File
file-reader
Reads files from a directory.
| Property | Meaning |
|---|
directory | watched directory |
filePattern | glob filter, e.g. *.hl7 |
pollingInterval | poll interval in ms |
recursive | descend into subdirectories (default: off) |
sortBy | order of the poll batch: name, date or size |
charset | character encoding (default: UTF-8) |
postProcessing | what happens to a successfully processed file: delete, move or keep |
moveToAfterProcess | target directory for postProcessing: move |
moveToOnError | target directory for failed files |
deleteAfterProcess | older spelling; postProcessing takes precedence |
postProcessing is the unambiguous variant and should be set on new connectors.
keep explicitly leaves the file in place — otherwise the file transport
silently accumulates copies in a subdirectory.
file-writer
| Property | Meaning |
|---|
directory | target directory |
fileName | file name (expressions possible) |
fileExist | behaviour when the file already exists |
charset | character encoding |
eol | line ending |
SFTP
sftp-reader and sftp-writer take the same properties as their file
counterparts, plus the connection:
| Property | Meaning |
|---|
host, port, username | connection |
passwordRef | reference to the password secret |
privateKeyRef | reference to the private key (alternative to the password) |
knownHostsFile | path to known_hosts |
strictHostKeyChecking | host key verification |
Turning off strictHostKeyChecking means losing the ability to notice a
man-in-the-middle. Production deployments need a maintained knownHostsFile.
HTTP
http-listener
| Property | Meaning |
|---|
port | port to listen on |
bindAddress | network interface |
basePath | path prefix of the endpoint |
httpMethodRestrict | allowed HTTP methods |
http-sender
| Property | Meaning |
|---|
targetUrl | target URL |
method | HTTP method |
timeoutMs | timeout |
retryCount | number of retries |
MLLP (HL7 over TCP)
mllp-listener
| Property | Meaning |
|---|
port, bindAddress | connection |
backlog | queue of pending connections |
maxConcurrentConsumers | parallel processing |
receiveTimeoutMs, idleTimeoutMs | timeouts |
autoAck | automatic ACK response |
mllp-sender
| Property | Meaning |
|---|
host, port | target |
connectTimeoutMs, receiveTimeoutMs | timeouts |
keepAlive | keep the connection open |
Database
jdbc-reader
| Property | Meaning |
|---|
dataSourceUrl, driverClassName | connection |
username, passwordRef | credentials |
query | query that yields the messages |
onProcessedUpdate | statement run after successful processing (mark rows as done) |
pollingInterval | poll interval in ms |
maxRows | limit per run |
maxPoolSize, connectionTimeoutMs | connection pool |
jdbc-writer
| Property | Meaning |
|---|
dataSourceUrl, driverClassName | connection |
username, passwordRef | credentials |
statement | write statement |
batchSize | batch size |
maxPoolSize, connectionTimeoutMs | connection pool |
JMS
jms-listener
| Property | Meaning |
|---|
connectionFactoryUrl | broker connection |
destinationName, destinationType | queue or topic |
username, passwordRef | credentials |
concurrentConsumers, maxConcurrentConsumers | concurrency |
acknowledgementMode | acknowledgement mode |
durableSubscriptionName, clientId | durable topic subscriptions |
messageSelector | selector expression |
jms-sender
| Property | Meaning |
|---|
connectionFactoryUrl | broker connection |
destinationName, destinationType | target |
username, passwordRef | credentials |
deliveryPersistent | persistent delivery |
timeToLive, priority | lifetime and priority |
KIM (Kommunikation im Medizinwesen)
kim-receiver
| Property | Meaning |
|---|
kimFachdienstUrl, kimPort, kimProtocol | service connection |
kimUsername, kimPasswordRef | credentials |
pollingInterval | fetch interval |
deleteAfterFetch | delete the message after fetching |
decryptionCertificateRef | reference to the decryption certificate |
senderCertificateRef | reference to the sender certificate (signature check) |
decryptionProvider | crypto provider |
kim-sender
| Property | Meaning |
|---|
kimFachdienstUrl, kimPort, kimUseSsl | service connection |
kimUsername, kimPasswordRef | credentials |
senderAddress, recipientAddress | KIM addresses |
subject, payloadContentType | subject and content type |
signingCertificateRef, recipientCertificateRef | signing and encryption |
vzdUrl, vzdBaseDn, vzdMailAttribute, vzdCertificateAttribute | directory service lookup |
signatureProvider | crypto provider |
Email
smtp-sender
| Property | Meaning |
|---|
host, port | mail server |
username, passwordRef | credentials |
useTLS, useSSL | transport encryption |
from, to, cc, bcc | addresses |
subject, contentType | subject and content type |
attachmentFileName | attachment file name |
There is deliberately no SMTP reader: a mailbox as a message source is
rarely the right answer in clinical integration — for the telematics use case
there is kim-receiver.
What does not exist (yet)
This list is the honest part of this page:
- No TCP connector beyond MLLP. There is nothing for raw TCP today.
- No script connector (a connector whose transport is a script).
- No channel connector — that is, no direct channel-to-channel transport.
To route from channel to channel today, you connect an
http-sender to an
http-listener. For the same reason there is no router.routeMessage() in
scripts.
- No DICOM. The Mirth importer recognises a “DICOM Listener” as a source
transport but cannot map it and reports it as unsupported.
Placeholder modules for tcp, script and channel already exist in the
server, but contain no implementation yet. They therefore appear neither in the
UI nor in a valid configuration.
This page is currently available in German and English. A Spanish version will follow.