@@ -248,6 +248,9 @@ def deliver_message(value, key: nil, headers: {}, topic:, partition: nil, partit
248
248
# be in a message set before it should be compressed. Note that message sets
249
249
# are per-partition rather than per-topic or per-producer.
250
250
#
251
+ # @param interceptors [Array<Object>] a list of producer interceptors the implement
252
+ # `call(Kafka::PendingMessage)`.
253
+ #
251
254
# @return [Kafka::Producer] the Kafka producer.
252
255
def producer (
253
256
compression_codec : nil ,
@@ -261,7 +264,8 @@ def producer(
261
264
idempotent : false ,
262
265
transactional : false ,
263
266
transactional_id : nil ,
264
- transactional_timeout : 60
267
+ transactional_timeout : 60 ,
268
+ interceptors : [ ]
265
269
)
266
270
cluster = initialize_cluster
267
271
compressor = Compressor . new (
@@ -291,6 +295,7 @@ def producer(
291
295
retry_backoff : retry_backoff ,
292
296
max_buffer_size : max_buffer_size ,
293
297
max_buffer_bytesize : max_buffer_bytesize ,
298
+ interceptors : interceptors
294
299
)
295
300
end
296
301
@@ -343,6 +348,8 @@ def async_producer(delivery_interval: 0, delivery_threshold: 0, max_queue_size:
343
348
# @param refresh_topic_interval [Integer] interval of refreshing the topic list.
344
349
# If it is 0, the topic list won't be refreshed (default)
345
350
# If it is n (n > 0), the topic list will be refreshed every n seconds
351
+ # @param interceptors [Array<Object>] a list of consumer interceptors that implement
352
+ # `call(Kafka::FetchedBatch)`.
346
353
# @return [Consumer]
347
354
def consumer (
348
355
group_id :,
@@ -353,7 +360,8 @@ def consumer(
353
360
heartbeat_interval : 10 ,
354
361
offset_retention_time : nil ,
355
362
fetcher_max_queue_size : 100 ,
356
- refresh_topic_interval : 0
363
+ refresh_topic_interval : 0 ,
364
+ interceptors : [ ]
357
365
)
358
366
cluster = initialize_cluster
359
367
@@ -407,7 +415,8 @@ def consumer(
407
415
fetcher : fetcher ,
408
416
session_timeout : session_timeout ,
409
417
heartbeat : heartbeat ,
410
- refresh_topic_interval : refresh_topic_interval
418
+ refresh_topic_interval : refresh_topic_interval ,
419
+ interceptors : interceptors
411
420
)
412
421
end
413
422
0 commit comments