首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >KafkaJS生产者仅对事务断开连接

KafkaJS生产者仅对事务断开连接
EN

Stack Overflow用户
提问于 2022-07-01 14:01:21
回答 1查看 268关注 0票数 0

我在nodejs中有一个简单的应用程序,我正在尝试在KafkaJS中创建一个事务。我跟踪了文档,并使用一个事务id连接了我的客户端,并创建了一个事务性生产者。

问题是,当我试图在docs中运行事务示例时,会得到以下错误:

代码语言:javascript
运行
复制
    KafkaJSError: The producer is disconnected  
    at validateConnectionStatus (/usr/local/apps/app/node_modules/kafkajs/src/producer/messageProducer.js:31:15)

我在网上查过了,但找不到任何相关的问题。我搞不懂为什么会出现这种情况,因为我在使用它之前创建了事务生成器。我也很肯定这与卡夫卡经纪人的连接没有任何问题,因为当我创建一个正常的制作人时,它没有问题地发送信息。

以下是代码:

代码语言:javascript
运行
复制
       const client = new Kafka({
            clientId: 'app-transactional-clienet',
            brokers: ['host.docker.internal:9092'],
        })
        const producer = client.producer({
            transactionalId: 'transaction.connectedservice.producer',
            maxInFlightRequests: 1,
            idempotent: true
        })

        const transaction = await producer.transaction();

        try {
            const connectedAccountMsg: ConnectedAcccountMsg = {
                userId: req.session.userId,
                accountId: profile.id,
                accountUsername: profile.username,
                accountType: 'twitter',
                authorized: true,
            };
            await transaction.send({ 
                topic: 'user.connectedaccount.status',
                messages: [{ 
                    value: JSON.stringify(connectedAccountMsg) 
                }],
            })

            await transaction.commit()
            return done(null, profile);
        } catch (error) {
            console.log(error)
            await transaction.abort()
        }
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72830451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档