BEBuzen ESB Docs
Integration Surface

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 IDNameTypeCapabilities
httpHTTP/RESTHTTPINBOUND, OUTBOUND, REQUEST_REPLY
jmsJMS MessagingMESSAGINGINBOUND, OUTBOUND, REQUEST_REPLY, TRANSACTIONAL
fileFile/FTP/SFTPFILEINBOUND, OUTBOUND, POLLING, BATCH
databaseDatabase (JDBC/JPA)DATABASEINBOUND, OUTBOUND, POLLING, TRANSACTIONAL, BATCH
soapSOAP Web ServicesSOAPINBOUND, OUTBOUND, REQUEST_REPLY, VALIDATION

2. URI patterns by connector

ConnectorInbound ExampleOutbound Example
HTTPplatform-http:/orders?httpMethodRestrict=POSThttps://partner.example.com/orders
JMSjms:queue:orders.injms:topic:orders.events
Filefile:/data/input?noop=truefile:/data/output
Databasesql:select * from orderssql:insert into orders values(:#id,:#name)
SOAPcxf:/services/customercxf://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.