java consumer
时间: 2023-08-29 22:13:46 浏览: 42
Java Consumer是指使用Java编写的消费者应用程序,它可以消费消息队列中的消息。消费者通常与生产者相对应,生产者将消息发送到队列中,消费者则从队列中获取消息并执行相应的操作。
在Java中,最常用的消息队列是Apache Kafka和RabbitMQ。为了使用这些消息队列,需要使用相应的Java客户端库。例如,使用Kafka作为消息队列时,可以使用Kafka Java客户端库。
以下是一个使用Kafka Java客户端库的简单示例:
```java
import java.util.*;
import org.apache.kafka.clients.consumer.*;
import org.apache.kafka.common.serialization.StringDeserializer;
public class KafkaConsumerExample {
public static void main(String[] args) throws Exception {
String topicName = "my-topic";
String groupName = "my-group";
Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
props.put("group.id", groupName);
props.put("key.deserializer", StringDeserializer.class.getName());
props.put("value.deserializer", StringDeserializer.class.getName());
KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);
consumer.subscribe(Arrays.asList(topicName));
System.out.println("Subscribed to topic " + topicName);
while (true) {
ConsumerRecords<String, String> records = consumer.poll(100);
for (ConsumerRecord<String, String> record : records) {
System.out.printf("offset = %d, key = %s, value = %s\n",
record.offset(), record.key(), record.value());
}
}
}
}
```
该示例创建了一个名为`my-group`的消费者组,并订阅了`my-topic`主题。然后,它进入无限循环,使用`consumer.poll(100)`获取消息,并对每条消息进行处理。