【通过Java锁定oracle中的登录用户】教程文章相关的互联网学习教程文章

双重检查锁定是否与Java中的最终Map一起使用?【代码】

我正在尝试实现一个线程安全的Map缓存,我希望缓存的字符串被懒惰地初始化.这是我在实施中的第一次传递:public class ExampleClass {private static final Map<String, String> CACHED_STRINGS = new HashMap<String, String>();public String getText(String key) {String string = CACHED_STRINGS.get(key);if (string == null) {synchronized (CACHED_STRINGS) {string = CACHED_STRINGS.get(key);if (string == null) {string ...

java – 在现代JVM中双重检查锁定【代码】

我有一个类可能会在初始化期间抛出任何运行时异常.我希望这个类是一个单例,因为在内存中保存多个对象的成本很高.我在另一堂课中使用那门课. 我的用例如下: >我必须使用Controller的单个实例.> Parent的每个实例都必须使用相同的Controller实例.>控制器构造函数可能会抛出异常.>如果实例化失败,我应该一段时间后重试实例化. 因此,当我尝试在Controller上执行“get”时,检查我的Controller实例是否为null,如果是,我尝试再次实例化它...

java – 无法获取锁定的Thread会发生什么?【代码】

线程无法获得锁定(非旋转)会发生什么?它进入BLOCKED状态.它是如何再次执行的?Lock lck = new ReentrantLock(); lck.lock() try { } finally {lck.unlock(); }解决方法:调度程序(或底层的Lock实现)负责使其再次运行.如果锁定操作被转换为内核中的互斥锁调用,则调度程序将不会重新调度该线程,直到互斥锁变为可用为止;那么OS调度程序将重新唤醒线程.阅读Context Switch上的维基百科页面以及其中的链接可能会提供有关所涉及的详细机制...

java – 双重检查锁定 – 陷阱?【代码】

我正在使用java大约一个月,而且我一般都是编程的业余爱好者,所以如果我出错了,请随时纠正我.也许我会提供一些过多的细节,但我现在很困惑,我无法决定什么是重要的. 所以,我一直在开发多线程客户端 – 服务器应用程序.所有线程都使用相同的对象,其中存储了某些配置值和共享记录器;此对象在服务器线程中初始化,然后作为参数传递给客户端线程类构造函数.首先,假设当服务器启动时,该对象的字段只更改一次,因此并发访问无需担心,但现在需...

java – 为什么Thread在引用发生变化时不释放锁定【代码】

public class UThread implements Runnable {Object o;UThread(Object o) {this.o = o;}@Overridepublic void run() {synchronized (o) {System.out.println("inside before change" + Thread.currentThread().getName());try {Thread.sleep(5000);} catch (Exception er) {}o = new Object();System.out.println("inside after change" + Thread.currentThread().getName());try {Thread.sleep(5000);} catch (Exception er) {}}S...

使用Java LocalTime锁定下溢/溢出【代码】

当从LocalTime对象中减去给定量时,我意识到可能发生上溢/下溢. 例:00:30 - 35 minutes = 23:55 23:30 + 35 minutes = 00:05对于我的应用程序,我想锁定时间,以便上面将在下溢时生成00:00,在溢出时生成23:59. 这可能吗?解决方法:我的建议是:LocalTime orig = LocalTime.of(0, 30);int minutesToSubtract = 35;long minutesSinceMidnight = ChronoUnit.MINUTES.between(LocalTime.MIN, orig);LocalTime result;if (minutesToSubtra...

java – Gradle – 手动下载依赖项,锁定版本和更新依赖项【代码】

问题. Gradle依赖管理如下: >没有简单的方法来检查依赖项更新的可用性(仅使用某些第三方插件,如ben-manes/gradle-versions-plugin)并下载更新替换旧版本;>依赖项工件从远程存储库下载,然后存储在gradle缓存中并在后续构建中重用;但是,成功编译项目不能依赖于连接到Internet,远程存储库的可用性以及这些存储库中特定版本的依赖项的存在. 目标. >在VCS中下载并存储所有依赖项工件;>手动检查这些依赖项的更新并下载它们.解决方法:我的...

java-如何通过JDBC锁定PostgreSQL数据库?

在我的Java webapp中,每个实例都在启动时检查数据库是否通过JDBC连接是最新的.如果数据库不是最新的,它将通过执行SQL脚本来执行更新例程. 我无法控制实例何时启动.因此,我需要确保只有一个实例同时在执行数据库更新.理想情况下,我需要锁定整个数据库,但是根据 http://www.postgresql.org/docs/8.4/static/explicit-locking.html 和 http://wiki.postgresql.org/wiki/Lock_database PostgreSQL不支持它(我仍在使用8.4版). 我还有什么...

通过Java锁定oracle中的登录用户

我在jsp,servlet和db中有一个Java Web应用程序,它是oracle 10g EE.在登录时,如果一个用户已经登录,那么我如何才能阻止同一用户再次登录,除非注销? 注意:我并不是在告诉登录的用户如果单击登录页面,那么他将立即转到他的主页. 我问的是,如果他已经登录,我该如何防止该登录用户再次登录.假设用户A已登录到db(退出未完成),那么用户B尝试使用db2登录到db.用户ID和用户A的密码,那么将仅阻止用户B登录.我该如何实施?解决方法:您需要管...

java-使用多个线程更新数据库时,如何避免“锁定超时”?【代码】

我正在尝试使用多个线程更新表.但是我不是在同一时间更新相同的记录/行.我将表分为不同的组,并尝试同时更新它们.但是,我一直都收到锁定超时错误. 我正在使用Hibernate,Spring MVC,ThreadPoolTask??Executor和MySQL.我正在从另一个数据库模式中获取数据并更新自己的数据库.数据巨大,这就是为什么我要使用多线程,以便可以更快地完成.但是,它会产生“锁定超时”错误.有人可以帮忙吗?谢谢你的好心 我调用sessionFactory.getCurrenSess...

java – Hibernate错误“数据库被锁定”.我如何正确关闭会话?【代码】

在我的应用程序中,我打开会话,创建标准,但不要关闭它.然后在其他方法中我再次打开会话,更新对象和接收数据库被锁定在tr.commit()上. 如果我把session.close()放在我接收的第一个实例中could not initialize proxy – no Session.如何正确关闭和打开会话?或者我是否需要将代理对象复制到我创建的那些对象然后关闭()?Session session = HibernateUtil.getSessionFactory().openSession();Transaction tr=session.beginTransaction(...

如何在java中锁定应用程序的redis集群【代码】

我有两个java应用程序(app1,app2).这两个应用程序都使用JedisCluster客户端用于Redis群集. app1从Redis群集写入或读取数据. app2就像一个调度程序,它只向Redis集群写入一些数据.它在固定的间隔时间后运行.我要确保当app2进行写操作时,在app2完成整个写操作之前,没有为app1提供或写入数据.我想在app2运行时为app1锁定Redis群集. app1是否在当时获得异常并不重要.解决方法:你试过Redisson的锁吗?这是一个基于Redis的框架. 它提供了L...

java“数据库被锁定”SQL异常【代码】

我正在创建一个真正的数据库密集型java程序,但我在连接上遇到错误.代码是:try{Statement st;ResultSet rs;conn = DBConnection.dbconnection();st = conn.createStatement();String s = "select * from tab2DB order by Scadenza";rs = st.executeQuery(s);while(rs.next()){ResultSet rs2;PreparedStatement st2;conn2 = DBConnection.connection();String s2 = "select * from Prodotti where Nome = ?";st2 = conn2.prepareSt...

我正在恢复数据库,我需要在执行此操作时从我的Java应用程序中锁定任何活动【代码】

我正在使用带有Spring和Hibernate的c3p0 ComboPooledDataSource,我提出的解决方案是一个自定义Datasource类,它接受它的构造函数中的实际Datasource.我将所有责任委托给实际的数据源.我有一个锁定的布尔值,当设置为true时,getConnection()等待,直到锁定为false. 我只是想知道是否有人能看到我的方法存在缺陷或者有更好的选择?谢谢!public interface LockableDataSource extends DataSource {public boolean isLocked();public voi...

java – 嵌入式H2的Tomcat WebApp:数据库可能已在使用中:“被另一个进程锁定”【代码】

我正在使用嵌入式H2数据库上的Hibernate开发Maven Spring Boot Web应用程序.应用程序部署在Tomcat 8应用程序容器上,使用Maven目标tomcat7:从Maven Tomcat插件重新部署(tomcat7-maven-plugin). 当我第一次尝试在Tomcat上部署这个Web应用程序时,我没有异常(在Tomcat重启之后). 但是当我尝试在Tomcat上重新部署此Web应用程序时,我有以下异常:org.h2.jdbc.JdbcSQLException: Database may be already in use: “Lockedby another pro...