Kafka实现消息队列——Java

本文详细介绍了如何在本地使用Java开发Kafka消息队列,包括创建Maven项目,添加Kafka依赖,编写配置接口、生产者、消费者以及主入口。还涉及了解决依赖包错误的方法,并展示了多消费者消息队列的实现,确保每个分区的消息被唯一消费一次,遵循FIFO原则。
摘要由CSDN通过智能技术生成
1. Kafka的安装部署可从之前一篇文章看到

Kafka安装部署完整教程——常遇到的各种错误https://blog.csdn.net/qq_37842366/article/details/99966001

2.在本地写Java程序
1)创建Maven项目

在这里插入图片描述
在这里插入图片描述

点击下一步,写好项目名称,完成,目录结构如下
在这里插入图片描述

2)在pom.xml中添加kafka依赖项
 <dependency> 
    <groupId> org.scala-lang </ groupId> 
    <artifactId> scala-reflect </ artifactId> 
    <version> 2.10.1 </ version> 
</ dependency>

项目在自己安装环境时会出现一些依赖包错误情况,这个地方耽误了我好多时间。

Failure to transfer com.yammer.metrics:metrics-annotation:jar:2.2.0 

由于已经改好没有报错,之前忘记记录报错信息,只记得这一条。反正就是诸如以上的错误。

重点是解决方法!

项目 - 右键 - Build Path - Configure Build Path

如果有错误,可以在这里看到某一个依赖包错误的前面有红叉,然后每一个依赖包后面都跟着本地路径,找到出错的依赖包的本地路径,将里面的.lastUpdated文件删除。
在这里插入图片描述
项目-右键-Maven-Disable Maven Nature
在这里插入图片描述
再右击项目中 configure 中的 convert maven 接下来项目会重新下载。等待一会儿就会发现之前报错的一些依赖包重新下载完成了。

这时候我发现,还有俩依赖包有问题:

缺少com.sun.jdmk:jmxtools:jar:1.2.1

还有jmx

解决方法!

修改配置文件

< dependency >         
    < groupId > log4j </ groupId >         
    < artifactId > log4j </ artifactId >         
    < version > 1 .2 .15 </ version >         
    < scope > compile </ scope >   
</ dependency >   

原因我也没太理解

最终的pom.xml代码:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>kafkaT</groupId>
  <artifactId>kafkaT</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>kafkaT</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
  <dependency>  
        <groupId>log4j</groupId>  
        <artifactId>log4j</artifactId>  
        <version>1.2.15</version>  
        <exclusions>  
            <exclusion>  
                <groupId>javax.jms</groupId>  
           
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值