java - for循环中控制事务
PHPz
PHPz 2017-04-17 17:45:26
0
3
818

Java项目开发过程中,有for循环,逐条处理10万条数据。由于逐条处理数据的时候,要更新6~7张表,希望,每次在执行for循环的时候,都对数据库做一次提交。
1.我的处理方法 是,将for循环中的方法提出来,然后,使用spring的手动开启事务的方法,在提取出来的方法上,配置了@Transactional(propagation = Propagation.REQUIRES_NEW),但是测试了几次,都没有效果。
2.由于提出处理的方法中,也有更新表,调用外部系统接口,查询表的操作。所以我想把有关联关系的操作 配置 在一个事务中,然后 外层的事务配置和内层的事务配置 如何来管理?

希望 得到各位的解答,谢谢!!!

PHPz
PHPz

学习是最好的投资!

membalas semua(3)
小葫芦
  1. Jika subjek menggunakan spring untuk melakukan transaksi deklaratif, kaedah memanggil kaedah dalaman secara terus tidak akan pergi ke kelas proksi (iaitu, ia tidak akan pergi ke aspek), jadi @Transactionalmungkin tidak sah

  2. Adakah antara muka luaran di sini dipanggil melalui kaedah RPC Jika ia dipanggil melalui RPC, adalah disyorkan agar subjek tidak memasukkannya terus ke dalam transaksi, kerana jika tamat masa berlaku, transaksi yang panjang akan berlaku, dan jika concurrency Jika ia terlalu besar, bilangan sambungan pangkalan data akan kehabisan dan sistem akan berada dalam keadaan tidak tersedia.

PHPzhong

https://docs.jboss.org/hibernate/orm/4.0/devguide/en-US/html/ch04.html

洪涛

Letakkan gelung for dalam lapisan pengawal atau lapisan bukan perkhidmatan, dan kemudian konfigurasikan transaksi pada kaedah lapisan perkhidmatan, supaya boleh diserahkan sekali setiap kali ia dipanggil.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan