Plugin Connector Development
Related DocumentationThis guide covers developing OSGI plugin connectors, which are modular, hot-deployable connector extensions for Hub.
- Connectors Overview - Complete guide to Hub’s connector system
- HTTP Connector - Built-in HTTP connector features
- Custom Connector Development - Embedded connector development
- DSL Reference - Exchange and connector DSL syntax
Table of Contents
Plugin vs Embedded Connectors
Comparison Table
| Feature | Embedded Connectors | Plugin Connectors |
|---|---|---|
| Deployment | Built into application JAR | Separate OSGI bundles |
| Hot Deploy | Requires restart | Runtime install/uninstall |
| Interface | CustomConnector | plugin.sdk.Connector |
| Validation | Rich PayloadSpec | Manual input processing |
| Error Handling | Full exception hierarchy | Basic error handling |
| Spring Integration | Full framework support | Limited Spring features |
| Testing | MockConnector support | Manual mocking |
| Configuration | Spring configuration | OSGI service properties |
| Packaging | Part of main application | Independent JAR/bundle |
When to Use Plugin Connectors
Use Plugin Connectors for:- Third-party integrations
- Customer-specific connectors
- Experimental connectors
- Connectors with different release cycles
- Connectors requiring hot deployment
- Modular architecture requirements
- Core application functionality
- Stable, well-tested connectors
- Connectors requiring complex Spring integration
- Performance-critical connectors
- Connectors with rich validation needs
Development Setup
Project Structure
Dependencies
build.gradlePlugin Implementation
Basic Plugin Connector
Plugin DSL Component
Plugins can also define DSL components that provide reusable workflows, functions, and exposed endpoints. This is done by implementing theComponentFactory interface: