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 | sql:select * from orders | sql:insert into orders values(:#id,:#name) |
| 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
When extending connectors, keep shared SPI types only in buzen-connector-api to avoid dependency cycles.