请问4.0 创建事物client.startSession()报错问题

发布问题 回首页

请问4.0 创建事物client.startSession()报错问题

★ 0 成为第一个关注这个问题的人

` ClientSession session = client.startSession();
try {
session.startTransaction(TransactionOptions.builder().writeConcern(WriteConcern.MAJORITY).build());
aliceWantsTwoExtraBeers(session);
sleep();
removingBeerFromStock(session);
session.commitTransaction();
} catch (MongoCommandException e) {
session.abortTransaction();
System.out.println(“####### ROLLBACK TRANSACTION #######”);
} finally {
session.close();
System.out.println(“####################################\n”);
printDatabaseState();
}`

创建了事物client.startSession(); 然后报错跟踪mongo driver 3.8源代码发现 connectedClusterDescription.getLogicalSessionTimeoutMinutes()的值是30但是这里判断为空是为什么?请问如何解决?
` ClusterDescription connectedClusterDescription = getConnectedClusterDescription();

if (connectedClusterDescription.getType() == ClusterType.STANDALONE
|| connectedClusterDescription.getLogicalSessionTimeoutMinutes() == null) {
return null;
}`
抛出的异常是Exception in thread “main” com.mongodb.MongoClientException: Sessions are not supported by the MongoDB cluster to which this client is connected

hw921107 在大约 之前添加了 Open 状态
  • 提问于
  • Answers0 个
  • 浏览 23 次
  • 最新活跃于

问题状态

  • Open

类别

1 个 参与者

请问4.0 创建事物client.startSession()报错问题》有13个想法

  1. 谢答,但个人认为不准确,1.mr我觉得不适合实时计算,更贴合后期数据统计需求,2.aggregate必须支持自定义函数,就好像你定义个abc(1,2)一样肯定是计算了,现在的问题是abc(1,2)这个参数我想传个字段进去,比如abc($qty,2)这样….他就不好使了….难道大家没有在aggregate中用字段进行计算的经历么?

发表评论