我遇到了标记逻辑问题。我正在使用XCC / J api。我有一个多法案交易,我正在做类似下面的事情。
Session sess = ContentSource.newSession();
sess.setTransactionMode(TransactionMode.UPDATE)
....Perform some queries.....
session.commit();
但我一直在努力 如果没有活动事务,则无法提交IllegalStateException
答案 0 :(得分:0)
来自Java Application Developer's Guide:
要启动事务并获取Transaction对象,请在DatabaseClient对象上调用openTransaction()方法(因为事务控制是否进行了数据库更改)。要调用openTransaction(),应用程序必须作为rest-writer或rest-admin进行身份验证。
Transaction transaction = client.openTransaction();
您的示例代码中似乎没有,所以我认为您错过了启动交易的步骤。
答案 1 :(得分:0)
您可能在代码中的其他地方有另一个提交或回滚,在提交之前调用。
您可能打开了多个会话,而您尝试提交的会话不是多语句事务。
还值得检查XCC罐和服务器的更新。