qqeasonchen opened a new pull request, #5250: URL: https://github.com/apache/eventmesh/pull/5250
## Description #5249 This PR consolidates EventMesh's fragmented runtime architecture into a single unified runtime with standardized processing pipelines. ### Commit 1: Unify Connector, Function, and Core Runtime into eventmesh-runtime - **Removed** the standalone `eventmesh-runtime-v2` module entirely (33 files, ~1700 lines deleted), including its separate runtime lifecycle, connector/function managers, health/monitor/status services, meta storage, and configuration - **Moved** core abstractions (`Router`, `RouterBuilder`, `ConnectorEventPublisher`, `SourceWorker`) into `eventmesh-runtime` and `eventmesh-function` modules - **Added** `RouterEngine`, `FilterEngine`, `TransformerEngine` as core processing engines in `eventmesh-runtime` - **Added** `EventMeshConnectorBootstrap` to manage connector lifecycle within the unified runtime - **Refactored** `EventMeshServer` to integrate engines and A2A service initialization - **Refactored** `ClientGroupWrapper` (TCP) to delegate to the new engines ### Commit 2: Unified Ingress/Egress Pipelines - **Introduced** `IngressProcessor` — a centralized pipeline implementing Filter -> Transformer -> Router for incoming messages - **Introduced** `EgressProcessor` — a centralized pipeline implementing Filter -> Transformer for outgoing messages - **Refactored** `ClientGroupWrapper` (TCP SDK) to use `IngressProcessor` and `EgressProcessor` - **Refactored** `EventMeshConnectorBootstrap` (Connectors) to use the new processors - **Updated** `SinkWorker` to support embedded mode for unified runtime execution ### Commit 3: Complete HTTP and gRPC Processor Migration - **HTTP Processors (5)**: Migrated `SendAsyncMessageProcessor`, `SendSyncMessageProcessor`, `BatchSendMessageProcessor`, `BatchSendMessageV2Processor`, and `SendAsyncEventProcessor` to use `IngressProcessor` - **gRPC Processors (3)**: Migrated `PublishCloudEventsProcessor`, `BatchPublishCloudEventProcessor`, and `RequestCloudEventProcessor` with bidirectional pipeline support - **Added** `BatchProcessResult` — utility class for tracking success/filtered/failed counts - **Added** comprehensive tests: `IngressProcessorTest`, `EgressProcessorTest`, `BatchProcessResultTest` ## Key Changes | File | Action | |------|--------| | `eventmesh-runtime-v2/` (entire module) | Deleted | | `eventmesh-runtime/.../core/protocol/IngressProcessor.java` | Added | | `eventmesh-runtime/.../core/protocol/EgressProcessor.java` | Added | | `eventmesh-runtime/.../core/protocol/BatchProcessResult.java` | Added | | `eventmesh-runtime/.../boot/RouterEngine.java` | Added | | `eventmesh-runtime/.../boot/EventMeshConnectorBootstrap.java` | Added | | All HTTP/gRPC processors | Modified | ## Test Plan - [ ] `./gradlew :eventmesh-runtime:test` passes - [ ] All existing unit tests pass with no regressions -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
