Class BaseUniversalKafkaQueue<T extends BaseUniversalQueueMessage<ID>,ID>
- java.lang.Object
-
- com.github.ddth.queue.impl.AbstractQueue<ID,DATA>
-
- com.github.ddth.queue.impl.KafkaQueue<ID,byte[]>
-
- com.github.ddth.queue.impl.universal.BaseUniversalKafkaQueue<T,ID>
-
- Type Parameters:
T-
- All Implemented Interfaces:
IQueue<ID,byte[]>,AutoCloseable
- Direct Known Subclasses:
UniversalKafkaQueue,UniversalKafkaQueue
public abstract class BaseUniversalKafkaQueue<T extends BaseUniversalQueueMessage<ID>,ID> extends KafkaQueue<ID,byte[]>
Base class for universal Kafka queue implementations.- Since:
- 0.3.3
- Author:
- Thanh Nguyen
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.github.ddth.queue.impl.AbstractQueue
AbstractQueue.PutToQueueCase
-
-
Field Summary
-
Fields inherited from class com.github.ddth.queue.impl.KafkaQueue
DEFAULT_BOOTSTRAP_SERVERS, DEFAULT_CONSUMER_GROUP_ID, DEFAULT_PRODUCER_TYPE, DEFAULT_SEND_ASYNC, DEFAULT_TOPIC_NAME
-
Fields inherited from interface com.github.ddth.queue.IQueue
SIZE_NOT_SUPPORTED
-
-
Constructor Summary
Constructors Constructor Description BaseUniversalKafkaQueue()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Ttake()Take a message out of queue.-
Methods inherited from class com.github.ddth.queue.impl.KafkaQueue
buildKafkaClient, destroy, doPutToQueue, ephemeralSize, finish, getConsumerGroupId, getKafkaBootstrapServers, getKafkaClient, getKafkaConsumerProperties, getKafkaProducerProperties, getOrphanMessages, getProducerType, getTopicName, init, isSendAsync, queueSize, setConsumerGroupId, setKafkaBootstrapServers, setKafkaClient, setKafkaClient, setKafkaConsumerProperties, setKafkaProducerProperties, setProducerType, setSendAsync, setTopicName, takeFromQueue
-
Methods inherited from class com.github.ddth.queue.impl.AbstractQueue
close, createMessage, createMessage, createMessage, deserialize, deserialize, getMessageFactory, getQueueName, getSerDeser, queue, requeue, requeueSilent, serialize, setMessageFactory, setQueueName, setSerDeser
-
-
-
-
Method Detail
-
take
public T take()
Take a message out of queue.Implementation flow:
- Read message from head of queue storage.
- Write message to ephemeral storage.
- Remove message from queue storage.
Note: ephemeral storage implementation is optional, depends on implementation.
- Specified by:
takein interfaceIQueue<T extends BaseUniversalQueueMessage<ID>,ID>- Overrides:
takein classKafkaQueue<ID,byte[]>- Returns:
-
-