本文整理匯總了Java中org.apache.kafka.clients.producer.ProducerRecord.partition方法的典型用法代碼示例。如果您正苦於以下問題:Java ProducerRecord.partition方法的具體用法?Java ProducerRecord.partition怎麽用?Java ProducerRecord.partition使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.apache.kafka.clients.producer.ProducerRecord
的用法示例。
在下文中一共展示了ProducerRecord.partition方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: invoke
import org.apache.kafka.clients.producer.ProducerRecord; //導入方法依賴的package包/類
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
switch (method.getName()) {
case SEND_METHOD_NAME: {
ProducerRecord record = (ProducerRecord) args[0];
args[0] = new ProducerRecord<>(
BaseIntegrationTest.adjustTopicNameForTest(record.topic()),
record.partition(),
record.timestamp(),
record.key(),
record.value()
);
break;
}
case PARTITIONS_FOR_METHOD_NAME: {
args[0] = BaseIntegrationTest.adjustTopicNameForTest((String) args[0]);
break;
}
}
return method.invoke(producer, args);
}
示例2: onSend
import org.apache.kafka.clients.producer.ProducerRecord; //導入方法依賴的package包/類
/**
* Called before record is sent by producer
*/
static <K, V> void onSend(ProducerRecord<K, V> record, Span span) {
Tags.COMPONENT.set(span, COMPONENT_NAME);
Tags.MESSAGE_BUS_DESTINATION.set(span, record.topic());
if (record.partition() != null) {
span.setTag("partition", record.partition());
}
}
示例3: matches
import org.apache.kafka.clients.producer.ProducerRecord; //導入方法依賴的package包/類
@Override
@SuppressWarnings("unchecked")
public boolean matches(Object argument) {
if (!(argument instanceof ProducerRecord))
return false;
ProducerRecord<byte[], byte[]> other = (ProducerRecord<byte[], byte[]>) argument;
return record.topic().equals(other.topic()) &&
record.partition() != null ? record.partition().equals(other.partition()) : other.partition() == null &&
record.key() != null ? Arrays.equals(record.key(), other.key()) : other.key() == null &&
record.value() != null ? Arrays.equals(record.value(), other.value()) : other.value() == null;
}
示例4: readOutput
import org.apache.kafka.clients.producer.ProducerRecord; //導入方法依賴的package包/類
/**
* Read the next record from the given topic. These records were output by the topology during the previous calls to
* {@link #process(String, byte[], byte[])}.
*
* @param topic the name of the topic
* @param keyDeserializer the deserializer for the key type
* @param valueDeserializer the deserializer for the value type
* @return the next record on that topic, or null if there is no record available
*/
public <K, V> ProducerRecord<K, V> readOutput(final String topic,
final Deserializer<K> keyDeserializer,
final Deserializer<V> valueDeserializer) {
final ProducerRecord<byte[], byte[]> record = readOutput(topic);
if (record == null) {
return null;
}
final K key = keyDeserializer.deserialize(record.topic(), record.key());
final V value = valueDeserializer.deserialize(record.topic(), record.value());
return new ProducerRecord<>(record.topic(), record.partition(), record.timestamp(), key, value);
}
示例5: onSend
import org.apache.kafka.clients.producer.ProducerRecord; //導入方法依賴的package包/類
@Override
public ProducerRecord<Integer, String> onSend(ProducerRecord<Integer, String> record) {
onSendCount++;
if (throwExceptionOnSend)
throw new KafkaException("Injected exception in AppendProducerInterceptor.onSend");
return new ProducerRecord<>(
record.topic(), record.partition(), record.key(), record.value().concat(appendStr));
}
示例6: getSendPartition
import org.apache.kafka.clients.producer.ProducerRecord; //導入方法依賴的package包/類
public static TopicPartition getSendPartition(ProducerRecord<String, byte[]> record) {
return new TopicPartition(record.topic(), record.partition());
}
示例7: onSend
import org.apache.kafka.clients.producer.ProducerRecord; //導入方法依賴的package包/類
@Override
public ProducerRecord<String, String> onSend(ProducerRecord<String, String> record) {
ONSEND_COUNT.incrementAndGet();
return new ProducerRecord<>(
record.topic(), record.partition(), record.key(), record.value().concat(appendStr));
}