草庐IT

TRANSACTIONS

全部标签

transactions - 如何在 Kotlin 中更轻松地使用 Jooq 事务

我有使用事务在Kotlin中编写的Jooq代码,有时我希望一个方法可以作为一个拥有自己事务的顶级操作独立工作,而其他时候希望它与相同的交易。例如,我有两个较低级别的函数actionAbc和actionXyz我想将它们组合成不同的高级数据方法并继承它们的事务(如果存在),否则有自己的。我知道在Spring或其他框架中可以添加注释来验证“需要事务”或“如果没有则创建事务”类型的功能。但是我如何在不使用这些库的情况下对Jooq+Kotlin做同样的事情呢?我想出的最接近的方法是将事务作为可选参数传入,如果丢失,则将其默认为新事务。但是如果有人忘记传递事务,那么使用新的顶级且不相关的事务会出现

transactions - 雷迪斯 : SMEMBERS returns 0 after an SMOVE in a MULTI

不确定我是否发现了错误或multi不支持读/写。我无法解释为什么会发生这种情况?多个SMOVEmyset1myset2mykey成员myset2执行好的,+已排队,已排队,1、0SISMEMBER是否从交易期间修改的同一组数据中读取? 最佳答案 问题不是由于MULTI而是由同一组移动引起的:https://github.com/antirez/redis/issues/2517 关于transactions-雷迪斯:SMEMBERSreturns0afteranSMOVEinaMULTI

transactions - Jedis/Redis 的容器管理事务

我正在阅读有关Jedis+Redis和集成到EJB(JEE6)的内容。我真的很愿意尝试使用一个不错的键值存储。我想知道Jedis是否有办法让Jedis库参与容器管理的事务,就像通常使用JTA+JPA所做的那样。我很想看到我可以在定义了@TransactionAttribute(TransactionAttributeType.REQUIRED)的无状态sessionbean中添加对Jedis的访问。Atm我的测试代码手动使用事务函数(通过调用“Transaction.exec()”),但我真的不想手动处理事务! 最佳答案 这个问题的

transactions - 没有 MULTI 的 ERR EXEC - Jedis

我正在学习绝地武士,我无法确切地找出这段代码中的问题所在。任何人都可以帮助我。异常发生在语句tx.exec()publicclassJedisFactory{publicstaticvoidmain(String[]args){JedisPoolpool=newJedisPool(newJedisPoolConfig(),"127.0.0.1",6379);Jedisjedis=pool.getResource();Pipelinepipeline=jedis.pipelined();for(inti=0;i>map=tx.hgetAll("Id");tx.hincrBy("Id","

transactions - Redis 中的 RPUSH 和 LPUSH 可以赛跑吗?

redis.io上关于RPUSH和LPUSH的文档不清楚这些操作在推送多个项目时是否仍然是O(1)和事务性的。例如,如果两个客户端对具有多个项目的同一个列表执行RPUSH,他们的项目是否会散布并因此乱序?tadman对他的回答的评论最适合我:CanRPUSHandLPUSHinRedisrace? 最佳答案 由于Redis是单线程的,因此它们不会“同时”发生,一个总是先于另一个到达,尽管时间通常是您无法控制的。现在,如果您有两个流程可以以某种方式协调,您可以让一个流程延迟到另一个流程,直到该操作完成。如果您担心这一点,您可以创建某种

mysql - Rails + MySQL + Transactions + Locking,如何防止打开事务解锁表?

在我的Rails代码中,我需要确认仅当某个记录的剩余数量超过1时才允许执行操作。出于这个原因,我需要锁定更新然后执行读取。我的Rails代码如下所示:PaymentProfile.transactiondoprofiles=PaymentProfile.lock("LOCKINSHAREMODE").where(user_id:xxx)ifprofiles.count>1#allowelse#donotallowendend理论上这很有效并且确实正确地锁定了行。但是,如果另一个请求遍历相同的代码路径,打开事务会删除我在另一个进程中取出的锁,从而破坏锁的目的。来自MySQL文档:Begi

java - 删除时出现 "org.hibernate.TransactionException: nested transactions not supported"错误

运行removeUserFromConference方法时出现此异常:04/06/201200:20:48org.apache.catalina.core.StandardWrapperValveinvokeSEVERE:Servlet.service()forservlet[ConferenceServlet]incontextwithpath[/conf4u]threwexceptionorg.hibernate.TransactionException:nestedtransactionsnotsupportedatorg.hibernate.engine.transaction

c# - 如何避免 "Nested transactions are not supported."错误?

我正在使用EF6与MySql数据库进行一些非常简单的集成。TheNestedtransactionsarenotsupported.erroroccursafterIdothese:尝试添加一个已经存在的key...这会导致错误:Duplicateentry'asdf'forkey'UserName_UNIQUE'之后尝试添加任何内容...这会导致错误:不支持嵌套事务。我想我不确定这两个查询的嵌套是什么......我做错了什么:还有一些代码using(vardb=C2SCore.BuildDatabaseContext()){db.Users.Add(newUserProfile{Us

transactions - 是否可以通过机器边界(通过 tcp-ip)进行交易?

理论上,是否可以定义一个协议(protocol),其中一台机器对另一台机器(或多台)进行一些远程调用,并且在过程的任何部分,如果任何机器(或操作)发生故障,或者通信滴,一切都回滚了?(就像数据库一样)我问这个,因为在硬件层面上,人们总是说没有原子处理器操作(测试和设置)就不能进行原子操作(事务的一个非常重要的组成部分)。但既然现在我们谈论的是多台机器,这就不行了。作为一个例子,这将是多么棘手:假设我有一个协议(protocol)可以在远程机器上发出命令,并得到响应。可能是调用了该方法,但在传输响应期间,连接中断了。也很可能是执行操作的机器认为一切正常,但接收机器从未得到答案。添加Ack

objective-c - paymentQueueRestoreCompletedTransactionsFinished : is returning an empty queue when it should have transactions in it

这是我第一次使用StoreKit,在我尝试恢复购买之前一切都很顺利。我在stackoverflow上看过其他几篇关于类似问题的帖子,但我没有找到适合我的解决方案。我的应用程序中有一个调用[[SKPaymentQueuedefaultQueue]restoreCompletedTransactions]的按钮。这反过来会触发SKPaymentTransactionObserver方法paymentQueueRestoreCompletedTransactionsFinished:。问题是paymentQueueRestoreCompletedTransactionsFinished:在返