chovy-3012 opened a new issue, #12883:
URL: https://github.com/apache/seatunnel/issues/12883

   ### Search before asking
   
   - [x] I had searched in the 
[feature](https://github.com/apache/seatunnel/issues?q=is%3Aissue+label%3A%22Feature%22)
 and found no similar feature requirement.
   
   ### Description
   
   The ActiveMQ source should let users filter messages at the broker side, 
tune the receive poll interval for their workload, and configure connection 
factory parameters to meet broker policies. Without these capabilities, users 
face concrete problems:
   
   **No broker-side message filtering**
   
   The source consumes every message on the queue. Users who need only a subset 
must consume and discard the rest.
   
   > Example: A queue carries `created`, `updated`, and `deleted` order events. 
A job that only needs `created` events has to process all three and filter 
downstream.
   
   **Hardcoded receive timeout (200 ms)**
   
   Too aggressive for idle queues (CPU spin), too conservative for 
latency-sensitive jobs.
   
   > Example: A queue with one message per minute still polls every 200 ms. A 
job needing sub-50 ms checkpoint response can't reduce the timeout.
   
   **Connection factory parameters not exposed on source**
   
   `client_id`, `close_timeout`, `dispatch_async`, `check_for_duplicate`, 
`always_session_async`, `warn_about_unstarted_connection_timeout`, and 
`consumer_expiry_check_enabled` are unavailable on the source side.
   
   > Example: A broker rejects connections without a `client_id`. Or: `close()` 
hangs when the broker is down because `close_timeout` isn't configurable.
   
   ### Usage Scenario
   
   Data engineers using ActiveMQ as a message broker need to filter messages at 
the broker level to avoid consuming irrelevant traffic, tune the receive poll 
interval for their workload, and configure connection factory parameters to 
meet broker authentication policies and network reliability requirements.
   
   ### Related issues
   
   - #12341 — ActiveMQ source connector (merged, initial source)
   - #12698 — ActiveMQ sink: connection factory tuning options (sink side 
already has these 7 options)
   
   ### Are you willing to submit a PR?
   
   - [x] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [x] I agree to follow this project's [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct)
   
   ---
   
   <details>
   <summary>中文描述</summary>
   
   ActiveMQ source 
应当支持用户在代理端过滤消息、根据负载调优接收轮询间隔、配置连接工厂参数以适配代理策略。缺少这些能力时,用户会遇到具体问题:
   
   - **不支持代理端消息过滤**:source 消费队列上的所有消息,只需部分消息的用户必须消费并丢弃其余消息。示例:队列中有 
`created`、`updated`、`deleted` 三种订单事件,只处理 `created` 的任务不得不消费全部三种再下游过滤。
   - **receive 超时硬编码为 200ms**:空闲队列 CPU 空转,延迟敏感任务无法缩短超时。示例:每分钟一条消息的队列仍每 200ms 
轮询;需要亚 50ms 检查点响应的任务无法降低超时。
   - **连接工厂参数未在 source 
侧暴露**:`client_id`、`close_timeout`、`dispatch_async`、`check_for_duplicate`、`always_session_async`、`warn_about_unstarted_connection_timeout`、`consumer_expiry_check_enabled`
 在 source 侧不可用。示例:代理要求 `client_id` 认证,不设置则连接被拒;代理不可用时 `close()` 挂起,因 
`close_timeout` 不可配置。
   
   </details>
   


-- 
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]

Reply via email to