大家好,
WebSphere似乎不允许Spring以编程方式重写在server.xml(在WebSphere datasource中)中配置的html" target="_blank">事务隔离级别。那么,在这种情况下,当需要重写事务隔离时,最好的选择是什么呢?
假设默认情况下隔离级别设置为REPITABLE_READ,那么有一个方法······庞大的方法,有许多选择和耦合更新在结束。让我们假设无论如何都没有办法重构这个方法,但是我们知道在这个方法中间的某个地方有两个选择,它们可以在RR隔离之外使用,因为它们很大,有很多连接,当我们运行这些选择时,我们正在为其他事务锁定数据库中的行。问题是,将它们提取到由@transactional(isolation=read_commited)注释的单独方法中不会改变情况,因为WebSphere或数据库驱动程序忽略了这种隔离。
感谢所有人!
似乎无法通过@Transactional注释更改server.xml中在DataSource上设置的隔离级别。尽管可以通过方面拦截DAO方法调用,并通过setTransactionIsolation()直接在连接上设置隔离级别,但一旦事务启动,就无法返回隔离,因为不允许在全局事务中运行的可共享连接上设置隔离级别。
因此,可能的解决方案--添加单独的数据源,并使用读提交隔离,并在任何需要的地方使用它。另一种解决方案是--在DB2中,可以直接在SELECT语句中指定隔离级别子句:WITH UR、CS、RS、RR
例:从带有CS的城市中选择名称;
本文向大家介绍说一下 spring 的事务隔离?相关面试题,主要包含被问及说一下 spring 的事务隔离?时的应答技巧和注意事项,需要的朋友参考一下 spring 有五大隔离级别,默认值为 ISOLATION_DEFAULT(使用数据库的设置),其他四个隔离级别和数据库的隔离级别一致: ISOLATION_DEFAULT:用底层数据库的设置隔离级别,数据库设置的是什么我就用什么; ISOLATI
MSDN 描述其 OLEDB 提供程序的 JET 事务隔离,如下所示: Jet支持事务中的五级嵌套。事务唯一支持的模式是提交读取。设置较低级别的事务分离意味着提交读取。设置更高的级别将导致StartTransaction失败。 Jet仅支持单相提交。 MSDN对的描述如下: 指定读取数据时保持共享锁,以避免脏读,但可以在事务结束前更改数据,从而导致不可重复读取或幻像数据。此选项是SQL服务器默认值
我正在尝试用Connector/J和MySql构建一个Java(JDK1.8)应用程序。有人告诉我,Serializable是最高级别,但它会影响性能,所以Serializable并不常用。 但是考虑一下这种情况: 有两个提交将更新同一行的字段(提交A和提交B)。如果A和B同时发生,并且隔离级别不可序列化,则会出现数据竞争,这会导致字段不一致。但在可序列化级别,这两个更新不会同时发生,因此A发生在
我正在用JPA在Spring中实现一个应用程序,并将其部署在weblogic服务器中。我想知道如何处理交易。对于数据库配置,我配置了persistence.xml将事务类型声明为JTA。在我的持久性逻辑中,当更新一些东西时,我使用这个逻辑: 但它抛出了一个例外。如果我不提交,数据库表中的数据就不会更新。即使我尝试在方法级别声明@Transactional,它也不起作用。有没有人能告诉我如何处理交易
我正在尝试使用JobLauncher启动作业,代码如下 我在batchjob.xml中配置了具有相同id的作业 任何帮助都是值得的。Thnks
我正在尝试SRSpring AMQP关于事务性消息处理的功能。 我有以下设置-我有一个消息消费者,被注释为 在I保存店铺并发送另一条关于创建的消息: 我想实现以下目标——如果数据库操作成功,则在方法中发送的消息应该直接发送到代理。如果失败,则不发送消息,并回滚接收到的消息。 我还配置了重试功能,所以我希望每条消息在被拒绝之前都会重试3次: 我观察到以下行为: 当我按照以下方式配置容器时,消息会重试
我的应用程序使用以下框架和应用程序服务器: > WebSphere Application Server Liberty for BluemixJava 应用程序工作正常,但在运行数小时后连接超时。请参见以下例外情况: 我知道Spring Boot需要在application.properties.中设置配置属性 然而,我发现在Spring boot 1.3中,我们必须使用它们各自的前缀(Spri
我在使用@Transactional注释进行事务回滚时遇到了一个问题。 我在backingbean、service和dao类中有以下方法: