kafka与ssm整个的命令与启动

ssm spring springmvc mybatis ssm+redis+kafka+elasticsearch+jquery+jquerydatatables +bootstrap +git+maven 开发cms系统


spring与kafka 整合

1.走走官网

下面讲解的是spring与kafka集成的生产者操作的实现

2.spring与kafka集成
2.1 引入依赖pom.xml文件中加入


org.springframework.kafka
spring-kafka
2.2.0.RELEASE

	
	    org.apache.kafka
	    kafka_2.10
	    0.8.2.1
	    
	        
	            jmxri
	            com.sun.jmx
	        
	        
	            jms
	            javax.jms
	        
	        
	            jmxtools
	            com.sun.jdmk
	        
	    
	
	
	2.2 加入spring与kafka集成-引入一个生产者的配置文件applicationContext-kafka-producer.xml
	     配置文件
		     参数设置
			    bootstrap.servers=localhost:9092
                # consumer group id
                group.id=test-consumer-group
				#序列化的配置
				key.serializer
				value.serializer
		   ---------------------------------------------------	
		   producerFactory工厂
		      使用参数设置bean
           ----------------------------------------------------
           操作的kafka模板bean对象
		      注意事项:用到主题:
			     
	                

内容如下:

			




	
		
			
			
			
			
			
			
			
			
			
			
			
			
			
		
	




	
		
	




	
	
	

==========================================================================================================
3.测试一下kafka生产者发送消息的效果

3.0 关闭防火墙
service iptables stop
为了项目开发测试,暂时先永久性关闭防火墙
chkconfig iptables off //永久关闭防火墙
chkconfig是当前不生效,Linux重启之后才生效的命令(开机自启动项)
service是即使生效,重启后失效的命令

3.1 启动zookeeper
zkServer.sh start
3.2 启动kafka 在启动kafka之前记得修改kafka的server.properties文件
加入:#advertised.listeners=PLAINTEXT://your.host.name:9092
advertised.listeners=PLAINTEXT://192.168.73.129:9092 //ip地址为自己的ip地址

   /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties

3.3 确定有没有这个test的主题,没有创建主题
3.3.1查看主题
/usr/local/kafka/bin/kafka-topics.sh -list --bootstrap-server localhost:9092
3.3.2创建主题
/usr/local/kafka/bin/kafka-topics.sh -create --bootstrap-server localhost:9092 -replication-factor 1 --partitions 1 --topic test
3.4 启动消费者
/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

3.5编写测试类

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations= {“classpath:applicationContext-kafka-producer.xml”})
public class KafkaProducerTest {

@Autowired
private KafkaTemplate kafkaTemplate;

@Test
public void testSendMsg() {
	kafkaTemplate.sendDefault("hello Java Producer kafka");
}

}
运行测试。。

spring与kafka集成的消费者操作

4.加入spring与kafka集成-引入一个生产者的配置文件applicationContext-kafka-consumer.xml

4.1
consumer 参数设置
consumer 工厂设置
监听者 自己创建bean bean要想监听到数据,它要实现特定的接口org.springframework.kafka.listener.MessageListener
容器参数设置
1.监听者是谁
2.监听的主题 test主题
kafka的监听容器设置
1.容器参数
2.kafka consumer 工厂设置

配置文件内容如下:

  


	
		
			
			
			
			
			
			
			
			
			
			
		
	





	
		
	








	
	




	
	

监听者的类:
package com.chj.cms.kafka;

import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.springframework.kafka.listener.MessageListener;

public class KafkaConsumerListener implements MessageListener {

@Override
public void onMessage(ConsumerRecord data) {
	
	System.out.println("接受到的消息"+data.value());
	
}

}

5.测试一下kafka接受消息的效果

5.1 启动zookeeper
zkServer.sh start

5.2 启动kafka
/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties

5.3 确定有没有这个test的主题,没有创建主题

   3.3.1查看主题
   /usr/local/kafka/bin/kafka-topics.sh -list --bootstrap-server localhost:9092
   3.3.2创建主题
   /usr/local/kafka/bin/kafka-topics.sh -create --bootstrap-server localhost:9092 -replication-factor 1 --partitions 1 --topic test

5.4 创建消息发送者

    /usr/local/kafka/bin/kafka-console-producer.sh --broker-list  localhost:9092 --topic test 

测试内容

package com.chj.cms.test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class KafkaConsumerTest {

public static void main(String[] args) {
	ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext-kafka-consumer.xml");
}

}

你可能感兴趣的:(kafka)