草庐IT

transaction-synchronized

全部标签

c# - Database.BeginTransaction 与 Transactions.TransactionScope

这个问题在这里已经有了答案:C#System.TransactionsVsTransactionScope(1个回答)关闭去年。System.Transactions.TransactionScope和EF6的Database.BeginTransaction有什么区别?谁能举个小例子,或者只是解释一下在有明显区别的情况下使用哪一个?P.S:在我的项目中,我使用的是EF6。我已经阅读了文档,但没有太大帮助。还查看了示例,但他们宁愿使用SqlConnection.BeginTransaction,现在MS在EF6中引入了这个新的Database.BeginTransaction。

Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: url not s

org.springframework.transaction.CannotCreateTransactionException:CouldnotopenJDBCConnectionfortransaction;nestedexceptionisjava.sql.SQLException:urlnotset该问题是出现在使用spring将数据源配置文件引入到配置类里面的时候spring将数据源配置文件引入到配置类的两种方式方式一方式一:创建一个数据源配置类,引入spring的配置类(不会出现数据无法注入的问题)方式二方式二:在spring的配置类里面,直接引入外部的数据源配置文件,如果在成员变

synchronization - 如何将此代码转换为非阻塞和无锁的?

我有队列,必须有越来越大的缓冲区,这不包括我在go中使用缓冲channel。经过一些谷歌搜索后,我想出了这段代码:import("sync")typeQueuestruct{nodes[]interface{}head,tail,countintlcksync.RWMutex}func(q*Queue)Enqueue(vinterface{}){q.lck.Lock()deferq.lck.Unlock()ifq.nodes==nil{q.nodes=make([]interface{},2)}ifq.head==q.tail&&q.count>0{nodes:=make([]inte

synchronization - 同步 channel ?

假设我正在使用以下三种方法解析某种输入:funcparseHeader([]byte)[]bytefuncparseBody([]byte)[]bytefuncparseFooter([]byte)[]byte它们都解析同一输入的某一部分并将其作为[]byte返回,因此它们可以像这样使用:i:=[]byte(/*theinput*/)b:=new(bytes.Buffer)b.Write(parseHeader(i))b.Write(parseBody(i))b.Write(parseFooter(i))现在我想通过使用channel使这3个进程并行。我的想法是向这些函数传递一个cha

mysql - 如何避免MySQL 'Deadlock found when trying to get lock; try restarting transaction'

我有一个记录在线用户的innoDB表。它会在用户每次刷新页面时更新,以跟踪他们所在的页面以及他们上次访问该站点的日期。然后我有一个每15分钟运行一次的cron来删除旧记录。我在尝试获取锁时发现了“死锁”;昨晚尝试重新启动事务约5分钟,似乎是在向该表运行INSERT时。有人可以建议如何避免此错误吗?===编辑===以下是正在运行的查询:首次访问网站:INSERTINTOonlineusersSETip=123.456.789.123,datetime=now(),userid=321,page='/thispage',area='thisarea',type=3在每个页面刷新:UPDAT

go - 数据存储 : Create parent and child entity in an entity group transaction?

阅读Google数据存储概念/理论后,我开始使用Godatastorepackage场景:User和LinkedAccount类型要求每个用户都有一个或多个链接帐户(是的第3方登录)。为了高度一致,LinkedAccounts将是关联用户的子级。然后创建新用户涉及创建一个用户和一个LinkedAccount,而不仅仅是一个。用户创建似乎是交易的完美用例。如果说LinkedAccount创建失败,则事务回滚失败。这目前看来是不可能的。目标是在事务中创建一个父项,然后再创建一个子项。根据文档AllDatastoreoperationsinatransactionmustoperateone

synchronization - 什么是同步 goroutines 的首选方式

我有一个昂贵的功能,我将其应用于slice的所有项目。我正在使用goroutines来处理这个问题,每个goroutine处理slice的一项。funcHuge(lst[]foo){for_,item:=rangelst{goperformSlow(item)}//HowdoIsynchronizehere?returnsomeValue(lst)}问题是,如评论中所示,在调用someValue函数之前等待所有goroutine完成其工作的首选方法是什么?将一个channel传递给performSlow并等待每个人都写过它,但它似乎有点矫枉过正:funcHuge(lst[]foo){c

node.js - 升级到 Nodejs 8 和 "error: failed to commit transaction"

我正在尝试在我的archlinux中将我的nodejs6升级到8。所以我做了:$sudopacman-Snodejsnpm结果:resolvingdependencies...lookingforconflictingpackages...Packages(3)openssl-1.0-1.0.2.l-1nodejs-8.1.3-1npm-4.6.1-1TotalInstalledSize:39.22MiBNetUpgradeSize:6.79MiB::Proceedwithinstallation?[Y/n]y(3/3)checkingkeysinkeyring[###########

linux - Windows KTM 和 Transactional NTFS 是否有 Linux/Unix 等效项?

一段时间以来,Windows一直支持与文件的事务交互-使用KernelTransactionManager(MSKTM)和TransactionalNTFS.这些功能有助于对本地文件系统上的文件进行事务性更改。Linux/Unix是否具有相同的功能?是否有任何已发布的性能比较? 最佳答案 关于这个我没有明确的答案,但是基于ACID的文件系统讨论在Linux世界中已经进行了很长时间。或许您可以联系RichardSpillane,他是多篇关于该主题的论文的作者:AminoPDFEnablingTransactionalFileAcces

java - 使用 Transaction with JDBI/IDBI/Dropwizard -- 回滚问题

我在使用IDBI处理事务时遇到了很多麻烦。我们正在使用dropwizard框架,并且简单的插入、更新、选择和删除都可以找到,但现在我们似乎无法让事务正常工作。这是我正在尝试的方法publicclassJDb{privateJustinTest2jTest2=null;privateHandledbHandle=null;publicJDb(finalIDBIidbi){try{dbHandle=idbi.open();dbHandle.getConnection().setAutoCommit(false);jTest2=dbHandle.attach(JustinTest2.clas