Connectors and Components
Buzen ESB ships with connectors for HTTP, JMS, files, databases, and SOAP. Connectors are discovered via ServiceLoader and contribute Camel components, metadata, and health indicators into the runtime.
1. Built-in connectors
| Connector ID | Name | Type | Capabilities |
|---|---|---|---|
| http | HTTP/REST | HTTP | INBOUND, OUTBOUND, REQUEST_REPLY |
| jms | JMS Messaging | MESSAGING | INBOUND, OUTBOUND, REQUEST_REPLY, TRANSACTIONAL |
| file | File/FTP/SFTP | FILE | INBOUND, OUTBOUND, POLLING, BATCH |
| database | Database (JDBC/JPA) | DATABASE | INBOUND, OUTBOUND, POLLING, TRANSACTIONAL, BATCH |
| soap | SOAP Web Services | SOAP | INBOUND, OUTBOUND, REQUEST_REPLY, VALIDATION |
2. URI patterns by connector
| Connector | Inbound Example | Outbound Example |
|---|---|---|
| HTTP | platform-http:/orders?httpMethodRestrict=POST | https://partner.example.com/orders |
| JMS | jms:queue:orders.in | jms:topic:orders.events |
| File | file:/data/input?noop=true | file:/data/output |
| Database | buzen-db:execute?dataSourceRef=myDb&query=select+*+from+orders&outputType=SelectList | buzen-db:execute?dataSourceRef=myDb&query=insert+into+orders+values(:#id,:#name)&outputType=UpdateCount |
| SOAP | cxf:/services/customer | cxf://https://partner/ws?wsdlURL=... |
3. Common connector configuration keys
buzen:
esb:
connector:
http:
context-path: /api
port: 8080
jms:
enabled: true
broker-type: artemis
file:
base-directory: ${buzen.esb.home-dir}/work/files
inbox-directory: ${buzen.esb.connector.file.base-directory}/inbox
outbox-directory: ${buzen.esb.connector.file.base-directory}/outbox
archive-directory: ${buzen.esb.connector.file.base-directory}/archive
error-directory: ${buzen.esb.connector.file.base-directory}/error
Database and SOAP connectors expose additional metadata through management endpoints:
- GET /api/v1/connectors
- GET /api/v1/connectors/{connectorId}/config
- POST /api/v1/connectors/{connectorId}/test
4. Health and readiness behavior
- Each connector can provide a Spring Boot HealthIndicator.
- JMS checks broker connectivity when a connection factory exists.
- File checks directory accessibility and free-space visibility.
- Database validates datasource connectivity and metadata.
- SOAP verifies CXF runtime presence and connector readiness.
5. Build a custom connector (SPI)
Connectors implement Connector from buzen-connector-api and are auto-discovered via ServiceLoader.
public class MyConnector extends AbstractConnector {
public MyConnector() {
super(
"my-connector",
"My Connector",
"1.0.0",
ConnectorType.CUSTOM,
Set.of(ConnectorCapability.INBOUND)
);
}
@Override
protected void doInitialize(ConnectorContext context) { }
@Override
public void registerComponents(CamelContext camelContext) { }
}
Register class name in:
META-INF/services/com.buzen.esb.connector.api.Connector
6. Module dependency hierarchy
buzen-connector-api
-> buzen-core
-> security / transformers / monitoring / management
-> connectors (http, jms, file, database, soap)
-> buzen-console
-> buzen-runtime
7. Kafka (Camel-native component)
Kafka source and sink nodes appear in the Flow Designer palette, but Kafka is not a Buzen connector module. It is available as an Apache Camel native component (camel-kafka). There is no buzen.esb.connector.kafka.* configuration namespace.
Use standard Camel Kafka URIs:
kafka:topic-name?brokers=broker1:9092&groupId=my-group (inbound)
kafka:topic-name?brokers=broker1:9092 (outbound)
8. Database URI disambiguation
Buzen wraps Camel SQL into a convenience component: buzen-db:execute. The Flow Designer and app route editor generate this URI scheme. Raw Camel sql: / jpa: / jdbc: URIs also work in hand-authored YAML, but they bypass Buzen's managed data source resolution and will not round-trip through the Flow Designer.