首先添加maven依赖
Kafka
org.apache.kafka
kafka_2.10
0.8.2.2
Spring
org.springframework
spring-context
4.1.4.RELEASE
org.springframework
spring-beans
4.1.4.RELEASE
org.springframework
spring-core
4.1.4.RELEASE
Kafka API
com.zc
kafka-api-core
0.1
kafka-api-core-0.1.jar下载地址:http://files.cnblogs.com/files/zcjy/kafka-api-core-0.1.zip
使用kafka java api有两种方式:
第一种:源码方式
Consumer:
KafkaConsumerOptions options = new KafkaConsumerOptions();
options.setConnectionZk("localhost.zk1:2181,localhost.zk2:2181,localhost.zk3:2181");//连接zookeeper
options.setGroupName("group_zc");//设置group
options.setZkSessionTimeout("4000");
options.setZkSyncTime("2000");
options.setAutoCommitInterval("1000");
options.setRebalanceBackOff("4000");
options.setRebalanceMaxRetries("11");
options.setAutoOffsetReset("smallest");
options.setTopicName("testTopic");//设置topic
KafkaConsumerFactory factory = new KafkaConsumerFactory(options);
factory.initialize();
KafkaConsumer consumer = new KafkaConsumer(factory);
consumer.start(new BaseConsumerHandler() {
public void execute(String message) {
System.out.println("message : " + message);
}
});
Producer:
KafkaProduceOptions options = new KafkaProduceOptions();
options.setMetadataBrokerList("localhost.kafka1:9092,localhost.kafka2:9092,localhost.kafka3:9092");//连接kafka集群
options.setTopicName("testTopic");//设置topic
KafkaProduceFactory factory = new KafkaProduceFactory(options);
factory.sendMessage("test kafka at " + new Date());
第二种:注解方式
Consumer:
配置
init-method="initialize">
代码:
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring-kafka-consumer.xml");
context.start();
KafkaConsumer consumer = context.getBean(KafkaConsumer.class);
consumer.start(new BaseConsumerHandler() {
public void execute(String message) {
System.out.println("message : " + message);
}
});
Producer:
配置
init-method="initialize">
代码:
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring-kafka-produce.xml");
context.start();
KafkaProduce produce = context.getBean(KafkaProduce.class);
produce.send("test send produce message " + new Date());
[Kafka] - Kafka Java Consumer实现(一)
Kafka提供了两种Consumer API,分别是:High Level Consumer API 和 Lower Level Consumer API(Simple Consumer API) H ...
关于Kafka java consumer管理TCP连接的讨论
本篇是的续篇,主要讨论Kafka java consumer是如何管理TCP连接.实际上,这两篇大部分的内容是相同的,即consum ...
[Kafka] - Kafka Java Consumer实现(二)
Kafka提供了两种Consumer API,分别是:High Level Consumer API 和 Lower Level Consumer API(Simple Consumer API) H ...
Kafka笔记整理(二):Kafka Java API使用
下面的测试代码使用的都是下面的topic: $ kafka-topics.sh --describe hadoop --zookeeper uplooking01:,uplooking02:,uplo ...
kafka java API的使用
Kafka包含四种核心的API: 1.Producer API支持应用将数据流发送到Kafka集群的主题 2.Consumer API支持应用从Kafka集群的主题中读取数据流 3.Streams A ...
kafka java实例
生产者 package com; import java.util.Properties; import java.util.concurrent.TimeUnit; import kafka.jav ...
kafka java代码实现消费者
public class KafkaConsumer { public static void main(String[] args) { Properties props = new Propert ...
kafka java客户端编程
kafka_2.10-0.8.1.1 maven org.apache.kafka< ...
Kafka Java API获取非compacted topic总消息数
目前Kafka并没有提供直接的工具来帮助我们获取某个topic的当前总消息数,需要我们自行写程序来实现.下列代码可以实现这一功能,特此记录一下: /** * 获取某个topic的当前消息数 * Jav ...
随机推荐
为什么占位符可以防止sql注入?
先看下面用占位符来查询的一句话 String sql = "select * from administrator where adminname=?"; psm = con.pr ...
java容器简要概述
java中集合框架的概述 java集合类主要用于保存对象的. 常用的集合对象: Colletion接口,Collection接口是集合中的顶层容器,表示的是一组对象,它的下面有两个子接口List接口和 ...
ytu 1938:首字母变大写(水题)
首字母变大写 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 110 Solved: 43[Submit][Status][Web Board] Desc ...
Joy of Programming: Understanding Bit-fields in C
转:http://www.linuxforu.com/2012/01/joy-of-programming-understanding-bit-fields-c/ By S.G. Ganesh on ...
css3实现梯形三角
近期移动端项目中,图片很多 移动端尽量少图片,以便提升加载速度!这时候css3可以大放光芒比如梯形的背景图 --------------------------------- ------------ ...
Quick Sort(Java)
public static void main(String[] args) { Scanner input = new Scanner(System.in); int n = input.nextI ...
#WEB安全基础 : HTTP协议 | 0x13 不安全的HTTP
HTTP作为一个大规模使用的网络协议就真的安全了吗? 我们知道互联网为什么叫互联网,你可以在任何地方都可以与之相连,所以在这些可以连接的点上都可以获取互联网的部分信息. 那么HTTP通信时有什么缺点吗 ...
基于Docker的Mysql主从复制搭建
来源:https://www.cnblogs.com/songwenjie/p/9371422.html?tdsourcetag=s_pctim_aiomsg 为什么基于Docker搭建? 资源有 ...
UEditor js动态创建和textarea中渲染【原】
UEditor动态创建和textarea中渲染 http://ueditor.baidu.com/website/examples/textareaDemo.html ...
windows下编写shell脚本执行错误
在 windows 下,换行符是 \r\n,在linux下,换行符是 \n.如果你在IDEA里写sh脚本,可以手动设置脚本的换行符为 \n,如果你用notepad++写脚本,可以显示所有字符,以便明确 ...