草庐IT

锁定库存

全部标签

java - PESSIMISTIC_WRITE 是否锁定了整个表?

只是为了确保我正确理解事情是如何运作的。如果我执行em.lock(employee,LockModeType.PESSIMISTIC_WRITE);-它会只阻止这个实体(employee)还是整个表Employees?如果重要的话,我说的是PostgreSQL。 最佳答案 它应该只阻止实体。PostgreSQLhibernatedialect在写锁的情况下添加forupdate:https://github.com/hibernate/hibernate-orm/blob/master/hibernate-core/src/main

java - 锁定文件并在不先释放锁定的情况下将其删除

我想从一个文件中读取然后删除它,同时阻止其他进程访问它。如何实现?FileLock不起作用,因为您必须先释放锁并关闭channel,然后才能调用File.delete()。我担心的是,在释放锁后,另一个进程可能会锁定它并在文件被删除之前开始读取。我正在使用Java5,目前无法升级到6。 最佳答案 我不知道这是否可行,但一个简单的解决方案是使用操作系统用户和权限来确保只有您的进程可以读取该文件。另一种方法是将文件重命名为随机生成的字符串,然后锁定、读取、解锁,然后删除重命名的文件。理论上,另一个程序可以猜测文件名并在文件解锁之后但在删

java - 已删除软锁定缓存条目。失衡的锁定/解锁序列?

我正在使用java1.6、spring2.5、hibernate3.3.1和ehcache2.6.0。程序连接到两个数据库。有两种ehcache配置,但在本例中只使用一种。在批处理结束时,程序返回此错误:2012-10-2315:44:43,406ERROR(AbstractReadWriteEhcacheAccessStrategy.java:159)-Cachedao.data.MyObjectKeydao.data.MyObject#28Lockable:nullAsoft-lockedcacheentrywasremovedalready.Outofbalancelock/un

java - java多线程中如何锁定多个资源

我需要在我的java类中的一个方法中锁定多个对象。有关示例,请查看以下类:publicclassCounterMultiplexer{privateintcounter=0;privateintmultiPlexer=5;privateObjectmutex=newObject();publicvoidcalculate(){synchronized(mutex){counter++;multiPlexer=multiPlexer*counter;}}publicintgetCounter(){returncounter;}publicintgetMux(){returnmultiPl

java - JPA PessimisticLockScope.NORMAL 和锁定 "relationships"

我正在研究JPA文档并遇到以下几行:Entityrelationshipsforwhichthelockedentitycontainstheforeignkeywillalsobelocked,butnotthestateofthereferencedentities(unlessthoseentitiesareexplicitlylocked).Elementcollectionsandrelationshipsforwhichtheentitydoesnotcontaintheforeignkey(suchasrelationshipsthataremappedtojointab

java - 如何找出哪个线程在java中锁定文件?

我正在尝试删除我程序中的另一个线程之前处理过的文件。我无法删除该文件,但我不确定如何确定哪个线程可能正在使用该文件。那么我如何找出哪个线程在java中锁定文件? 最佳答案 我没有一个直接的答案(我也不认为有一个,这是在操作系统级别(native)而不是JVM级别控制的)而且我也没有真正看到值(value)答案(一旦发现它是哪个线程,您仍然无法以编程方式关闭文件),但我认为您还不知道无法删除通常是在文件仍处于打开状态时造成的。当您不显式调用Closeable#close()时可能会发生这种情况在InputStream、OutputSt

java - 了解锁定范围

从这里link,我理解“由于lock()和unlock()方法调用是显式的,我们可以将它们移动到任何地方,建立任何锁定范围,从单行代码到跨越多个方法的范围”所以我从上面的说法中理解的是publicclassTest{Lockl=newReentrantLock();voidmyMethod1(){l.lock();//Domystuffhere}voidmyMethod2(){//Domorestuffherel.unlock();}}所以基本上1可以按顺序调用method1和method2并假设调用是线程安全的。我不确定上面说的是不是真的。如果有人在我已经在执行method1/met

java - 在java中检查是否打开大写锁定的方法

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:HowcanIdetectifcapslockistoggledinSwing?如何检测(知道方法)大写锁定是否在Java应用程序中打开,因为我想在用户在我的应用程序中输入密码时看到用户。

java - 如何从 Java 代码编写乐观和悲观锁定

我知道什么是乐观锁和悲观锁,但是写java代码的时候是怎么做的呢?假设我在Java中使用Oracle,JDBC中是否有任何方法可以帮助我做到这一点?我将如何配置这个东西?任何指针将不胜感激。 最佳答案 您可以通过这种方式在您的数据库表中实现乐观锁(这就是在Hibernate中实现乐观锁的方式):将整数“版本”列添加到您的表中。随着相应行的每次更新增加此列的值。要获得锁,只需读取该行的“version”值即可。在where子句中添加“version=obtained_version”条件你的更新声明。更新后验证受影响的行数。如果没有行

java - 使用 Spring Security Filter 锁定除少数路由之外的所有内容

我们正在重新设计我们的产品以删除SpringSecurity中默认的“anonymousUser”行为,并希望锁定除少数端点之外的所有URL(通过过滤器安全性)。我们想不通的是如何指定“锁定除X、Y和Z之外的所有内容”我们的安全设置基本上归结为以下内容:@ConfigurationpublicclassSecurityConfigextendsWebSecurityConfigurerAdapter{@Overrideprotectedvoidconfigure(HttpSecurityhttp)throwsException{http//disableanonymoususers.a