首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有反应性panache单干涉仪的Pubsub消息未能创建带有会话的ReactiveTransaction是空错误。

带有反应性panache单干涉仪的Pubsub消息未能创建带有会话的ReactiveTransaction是空错误。
EN

Stack Overflow用户
提问于 2022-08-23 13:07:16
回答 1查看 41关注 0票数 0

我有一个夸克项目连接到monogdb,使用反应性panache。

我希望将我的方法包装在事务中,我的当前代码大致如下所示:

代码语言:javascript
复制
@Traced
@ApplicationScoped
@Startup
public class MyReceiver implements com.google.cloud.pubsub.v1.MessageRecevier {
    @Override
    @ActivateRequestContext
    public void receiveMessage(PubsubMessage pubsubMessage, AckReplyConsumer ackReplyConsumer) {
        try {
            final String messageStr = pubsubMessage.getData().toStringUtf8();
            final MyMessage messageContent = objectMapper.readValue(messageStr, getTypeReference());
            handleMessage(messageContent).await().indefinitely();

            ackReplyConsumer.ack();
        } catch (Throwable ex) {
            log.warn("{} Message ID: [{}]  on [{}] ", ex.getMessage(), pubsubMessage.getMessageId(), subscriptionName);
            ackReplyConsumer.nack();
        }
    }

    public TypeReference<MyMessage> getTypeReference() { 
      return new TypeReference<>(){};
    }

    @ReactiveTransactional
    public Uni<Void> handleMessage(MyMessage message) {
        // code here is never reached
    }

}

但是,当我尝试测试我的代码并得到消息时,

我得到了一个错误:java.lang.NullPointerException: Cannot invoke "org.hibernate.reactive.mutiny.Mutiny$Session.withTransaction(java.util.function.Function)" because "session" is null

当代码试图进入handleMessage时,当触发@ReactiveTransactional方面时,就会发生这种情况。

我能注意到的是什么导致了这个原因,我找不到任何可以成为问题根源的东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-29 08:09:30

目前,panache似乎不支持mongodb中的事务,而mongodb正是这个问题的根源。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73459302

复制
相关文章

相似问题

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