亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? jpatransactionmanagertests.java

?? struts+spring 源碼 希望能給大家帶來幫助
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
						}
					});
				}
			});
			fail("expected exception");
		}
		catch (RuntimeException e) {
			// okay
		}

		assertTrue("Hasn't thread pm", !TransactionSynchronizationManager.hasResource(factory));
		assertTrue("JTA synchronizations not active", !TransactionSynchronizationManager.isSynchronizationActive());

		factoryControl.verify();
		managerControl.verify();
		txControl.verify();
	}

	public void testParticipatingTransactionWithRollbackOnly() {
		managerControl.expectAndReturn(manager.getTransaction(), tx);
		managerControl.expectAndReturn(manager.getTransaction(), tx);
		managerControl.expectAndReturn(manager.getTransaction(), tx);
		managerControl.expectAndReturn(manager.getTransaction(), tx);
		manager.flush();

		factoryControl.replay();
		managerControl.replay();
		txControl.replay();

		final List<String> l = new ArrayList<String>();
		l.add("test");

		assertTrue("Hasn thread emf", !TransactionSynchronizationManager.hasResource(factory));
		assertTrue("JTA synchronizations is active", !TransactionSynchronizationManager.isSynchronizationActive());

		try {
			tt.execute(new TransactionCallback() {
				public Object doInTransaction(TransactionStatus status) {
					txControl.reset();
					txControl.expectAndReturn(tx.isActive(), true);
					txControl.expectAndReturn(tx.isActive(), true);
					tx.setRollbackOnly();
					txControl.expectAndReturn(tx.getRollbackOnly(), true);
					tx.commit();
					txControl.setThrowable(new RollbackException());
					txControl.replay();

					assertTrue("Has no thread em", TransactionSynchronizationManager.hasResource(factory));

					return tt.execute(new TransactionCallback() {
						public Object doInTransaction(TransactionStatus status) {

							template.execute(new JpaCallback() {
								public Object doInJpa(EntityManager em2) {
									em2.flush();
									return l;
								}
							});

							status.setRollbackOnly();
							return null;
						}
					});
				}
			});
			fail("expected exception");
		}
		catch (UnexpectedRollbackException ure) {
			// it's okay
			assertTrue(ure.getCause() instanceof RollbackException);
		}

		assertTrue("Hasn't thread pm", !TransactionSynchronizationManager.hasResource(factory));
		assertTrue("JTA synchronizations not active", !TransactionSynchronizationManager.isSynchronizationActive());

		factoryControl.verify();
		managerControl.verify();
		txControl.verify();
	}

	public void testParticipatingTransactionWithWithRequiresNew() {
		factoryControl.expectAndReturn(factory.createEntityManager(), manager);
		managerControl.expectAndReturn(manager.getTransaction(), tx);
		managerControl.expectAndReturn(manager.getTransaction(), tx);
		managerControl.expectAndReturn(manager.getTransaction(), tx);
		managerControl.expectAndReturn(manager.getTransaction(), tx);
		managerControl.expectAndReturn(manager.getTransaction(), tx);
		managerControl.expectAndReturn(manager.getTransaction(), tx);

		tt.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
		manager.flush();
		manager.close();
		factoryControl.replay();
		managerControl.replay();
		txControl.replay();

		final List<String> l = new ArrayList<String>();
		l.add("test");

		assertTrue("Hasn thread emf", !TransactionSynchronizationManager.hasResource(factory));
		assertTrue("JTA synchronizations is active", !TransactionSynchronizationManager.isSynchronizationActive());

		Object result = tt.execute(new TransactionCallback() {
			public Object doInTransaction(TransactionStatus status) {
				txControl.verify();
				txControl.reset();
				txControl.expectAndReturn(tx.isActive(), true);

				tx.begin();
				txControl.expectAndReturn(tx.getRollbackOnly(), false);
				tx.commit();
				txControl.expectAndReturn(tx.getRollbackOnly(), false);
				tx.commit();

				txControl.replay();

				assertTrue("Has no thread em", TransactionSynchronizationManager.hasResource(factory));
				return tt.execute(new TransactionCallback() {
					public Object doInTransaction(TransactionStatus status) {
						return template.execute(new JpaCallback() {
							public Object doInJpa(EntityManager em2) {
								em2.flush();
								return l;
							}
						});
					}
				});
			}
		});

		assertSame("different lists", l, result);

		assertTrue("Hasn't thread pm", !TransactionSynchronizationManager.hasResource(factory));
		assertTrue("JTA synchronizations not active", !TransactionSynchronizationManager.isSynchronizationActive());

		factoryControl.verify();
		managerControl.verify();
		txControl.verify();
	}

	public void testParticipatingTransactionWithWithRequiresNewAndPrebound() {
		factoryControl.expectAndReturn(factory.createEntityManager(), manager);
		managerControl.expectAndReturn(manager.getTransaction(), tx);
		managerControl.expectAndReturn(manager.getTransaction(), tx);
		managerControl.expectAndReturn(manager.getTransaction(), tx);
		managerControl.expectAndReturn(manager.getTransaction(), tx);
		managerControl.expectAndReturn(manager.getTransaction(), tx);
		managerControl.expectAndReturn(manager.getTransaction(), tx);
		managerControl.expectAndReturn(manager.getTransaction(), tx);

		tt.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
		txControl.expectAndReturn(tx.isActive(), true);
		manager.flush();
		manager.close();
		factoryControl.replay();
		managerControl.replay();
		txControl.replay();

		final List<String> l = new ArrayList<String>();
		l.add("test");

		assertTrue("JTA synchronizations is active", !TransactionSynchronizationManager.isSynchronizationActive());
		TransactionSynchronizationManager.bindResource(factory, new EntityManagerHolder(manager));
		assertTrue("Has no thread emf", TransactionSynchronizationManager.hasResource(factory));

		try {
			Object result = tt.execute(new TransactionCallback() {
				public Object doInTransaction(TransactionStatus status) {
					txControl.verify();
					txControl.reset();
					txControl.expectAndReturn(tx.isActive(), true);

					tx.begin();
					txControl.expectAndReturn(tx.getRollbackOnly(), false);
					tx.commit();
					txControl.expectAndReturn(tx.getRollbackOnly(), false);
					tx.commit();

					txControl.replay();

					JpaTemplate template2 = new JpaTemplate(factory);
					template2.execute(new JpaCallback() {

						public Object doInJpa(EntityManager em) throws PersistenceException {
							return null;
						}
					});

					assertTrue("Has no thread em", TransactionSynchronizationManager.hasResource(factory));
					return tt.execute(new TransactionCallback() {
						public Object doInTransaction(TransactionStatus status) {
							return template.execute(new JpaCallback() {
								public Object doInJpa(EntityManager em2) {
									em2.flush();
									return l;
								}
							});
						}
					});
				}
			});
			assertSame("different lists", l, result);
		}
		finally {
			TransactionSynchronizationManager.unbindResource(factory);
		}

		assertTrue("Hasn't thread pm", !TransactionSynchronizationManager.hasResource(factory));
		assertTrue("JTA synchronizations not active", !TransactionSynchronizationManager.isSynchronizationActive());

		factoryControl.verify();
		managerControl.verify();
		txControl.verify();
	}

	public void testTransactionCommitWithPropagationSupports() {
		managerControl.reset();
		txControl.reset();
		manager.flush();
		manager.close();

		factoryControl.replay();
		managerControl.replay();
		txControl.replay();

		final List<String> l = new ArrayList<String>();
		l.add("test");

		tt.setPropagationBehavior(TransactionDefinition.PROPAGATION_SUPPORTS);

		assertTrue("Has thread emf", !TransactionSynchronizationManager.hasResource(factory));
		assertTrue("JTA synchronizations is active", !TransactionSynchronizationManager.isSynchronizationActive());

		Object result = tt.execute(new TransactionCallback() {
			public Object doInTransaction(TransactionStatus status) {
				assertTrue("Has thread emf", !TransactionSynchronizationManager.hasResource(factory));
				assertTrue("JTA synchronizations is not active",
						TransactionSynchronizationManager.isSynchronizationActive());
				assertTrue("Is not new transaction", !status.isNewTransaction());

				return template.execute(new JpaCallback() {
					public Object doInJpa(EntityManager em) {
						em.flush();
						return l;
					}
				});
			}
		});

		assertTrue("Correct result list", result == l);

		assertTrue("Hasn't thread pm", !TransactionSynchronizationManager.hasResource(factory));
		assertTrue("JTA synchronizations not active", !TransactionSynchronizationManager.isSynchronizationActive());

		factoryControl.verify();
		managerControl.verify();
		txControl.verify();
	}

	public void testInvalidIsolation() {
		tt.setIsolationLevel(TransactionDefinition.ISOLATION_SERIALIZABLE);
		txControl.reset();
		managerControl.reset();

		manager.close();

		factoryControl.replay();
		managerControl.replay();
		txControl.replay();

		try {
			tt.execute(new TransactionCallbackWithoutResult() {
				protected void doInTransactionWithoutResult(TransactionStatus status) {
				}
			});
			fail("Should have thrown InvalidIsolationLevelException");
		}
		catch (InvalidIsolationLevelException ex) {
			// expected
		}

		factoryControl.verify();
		managerControl.verify();
		txControl.verify();
	}

	public void testTransactionCommitWithPrebound() {
		factoryControl.reset();
		managerControl.reset();
		txControl.reset();
		
		managerControl.expectAndReturn(manager.getTransaction(), tx);
		txControl.expectAndReturn(tx.isActive(), true);
		manager.joinTransaction();
		
		factoryControl.replay();
		managerControl.replay();
		txControl.replay();

		final List<String> l = new ArrayList<String>();
		l.add("test");
		try {
			assertTrue("JTA synchronizations active", !TransactionSynchronizationManager.isSynchronizationActive());
			TransactionSynchronizationManager.bindResource(factory, new EntityManagerHolder(manager));
			assertTrue("Has no thread pm", TransactionSynchronizationManager.hasResource(factory));

			Object result = tt.execute(new TransactionCallback() {
				public Object doInTransaction(TransactionStatus status) {
					assertTrue("Has no thread pm", TransactionSynchronizationManager.hasResource(factory));
					return template.execute(new JpaCallback() {
						public Object doInJpa(EntityManager em) {
							return l;
						}
					});
				}
			});
			assertTrue("Correct result list", result == l);

			assertTrue("Has thread pm", TransactionSynchronizationManager.hasResource(factory));

		}
		finally {
			TransactionSynchronizationManager.unbindResource(factory);
		}
		assertTrue("JTA synchronizations not active", !TransactionSynchronizationManager.isSynchronizationActive());

		factoryControl.verify();
		managerControl.verify();
		txControl.verify();
	}

	public void testTransactionCommitWithDataSource() throws SQLException {
		MockControl dsControl = MockControl.createControl(DataSource.class);
		DataSource ds = (DataSource) dsControl.getMock();
		transactionManager.setDataSource(ds);
		
		managerControl.expectAndReturn(manager.getTransaction(), tx);
		managerControl.expectAndReturn(manager.getTransaction(), tx);
		txControl.expectAndReturn(tx.getRollbackOnly(), false);
		tx.commit();
		manager.flush();
		
		factoryControl.replay();
		managerControl.replay();
		txControl.replay();
		dsControl.replay();

		final List<String> l = new ArrayList<String>();
		l.add("test");

		assertTrue("Has thread emf", !TransactionSynchronizationManager.hasResource(factory));
		assertTrue("JTA synchronizations is active", !TransactionSynchronizationManager.isSynchronizationActive());

		Object result = tt.execute(new TransactionCallback() {
			public Object doInTransaction(TransactionStatus status) {
				assertTrue("Has no thread emf", TransactionSynchronizationManager.hasResource(factory));
				assertTrue("JTA synchronizations is not active",
						TransactionSynchronizationManager.isSynchronizationActive());
	
				return template.execute(new JpaCallback() {
					public Object doInJpa(EntityManager em) {
						em.flush();
						return l;
					}
				});
			}
		});
		
		assertTrue("Correct result list", result == l);

		assertTrue("Hasn't thread pm", !TransactionSynchronizationManager.hasResource(factory));
		assertTrue("JTA synchronizations not active", !TransactionSynchronizationManager.isSynchronizationActive());

		factoryControl.verify();
		managerControl.verify();
		txControl.verify();
		dsControl.verify();
	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
黄色成人免费在线| 欧美精品一二三区| 91麻豆精品国产91久久久更新时间| 精品国产人成亚洲区| 亚洲美女一区二区三区| 国产一区二区美女诱惑| 欧美一区二区三区四区五区| 日韩一区在线免费观看| 国产成人精品亚洲日本在线桃色 | 久久综合九色综合97婷婷| 一区二区三区电影在线播| 国产精品一区二区无线| 日韩欧美区一区二| 丝袜诱惑亚洲看片| 欧美在线一区二区三区| 亚洲视频精选在线| 成人永久aaa| 久久亚洲二区三区| 久久99国产乱子伦精品免费| 欧美日韩国产高清一区二区三区| 亚洲欧美自拍偷拍| 成人精品鲁一区一区二区| 久久久精品tv| 国产精品66部| 久久久久久久久久久久久女国产乱 | 色偷偷成人一区二区三区91| 中文字幕+乱码+中文字幕一区| 韩国视频一区二区| 26uuu久久天堂性欧美| 蜜臀av一区二区在线免费观看| 91精品在线免费| 美女在线一区二区| 精品99一区二区三区| 黄页网站大全一区二区| 久久综合网色—综合色88| 国产精品一二三四| 欧美国产一区视频在线观看| 成人免费的视频| 亚洲欧美另类久久久精品2019| 色综合天天综合在线视频| 亚洲综合激情网| 精品视频一区三区九区| 日本美女一区二区三区视频| 欧美一级一区二区| 精品亚洲aⅴ乱码一区二区三区| 2023国产精品视频| 成人免费观看av| 日韩毛片高清在线播放| 精品视频一区三区九区| 免费一级片91| 国产精品丝袜在线| 欧美三级视频在线观看| 捆绑调教一区二区三区| 久久久亚洲精华液精华液精华液| 成人动漫在线一区| 亚洲午夜三级在线| 日韩精品一区二区三区三区免费| 国产成人免费视频| 亚洲欧美在线视频观看| 欧美二区三区的天堂| 国产精品自拍毛片| 亚洲女同一区二区| 欧美人成免费网站| 成人午夜视频在线| 日韩电影免费在线看| 欧美激情一二三区| 欧美日韩精品一区二区三区四区 | 国内外精品视频| 国产精品嫩草影院com| 欧美写真视频网站| 国产一区二区三区精品欧美日韩一区二区三区| 国产三级欧美三级日产三级99| 欧美中文字幕亚洲一区二区va在线 | 在线看一区二区| 国产精品亚洲人在线观看| 亚洲综合色成人| 亚洲国产成人私人影院tom| 欧美三级午夜理伦三级中视频| 国产成人午夜视频| 日日骚欧美日韩| 国产精品久久久久久久蜜臀| 欧美一区二区久久| 在线观看亚洲专区| 国产精品一二二区| 蜜桃av一区二区三区| 亚洲天堂中文字幕| 久久综合999| 欧美一区二区三区四区在线观看| 99久久精品情趣| 国产精品伊人色| 免费成人av资源网| 亚洲一级二级在线| 亚洲男人的天堂在线aⅴ视频 | 99r国产精品| 国产精品一区一区三区| 捆绑调教一区二区三区| 婷婷国产v国产偷v亚洲高清| 亚洲乱码国产乱码精品精的特点| 久久综合给合久久狠狠狠97色69| 欧美一区二区三区播放老司机| 欧洲一区二区av| 97aⅴ精品视频一二三区| 国产成人欧美日韩在线电影| 蜜臀av性久久久久蜜臀av麻豆| 亚洲成年人网站在线观看| 亚洲你懂的在线视频| 国产精品久久久久久久久免费相片 | 三级久久三级久久久| 亚洲第一搞黄网站| 亚洲成av人片观看| 亚洲午夜久久久久久久久电影网| 亚洲精品福利视频网站| 亚洲精品老司机| 亚洲精品高清在线观看| 亚洲一区二区偷拍精品| 亚洲精品中文字幕乱码三区| 亚洲综合视频网| 亚洲成人一区二区在线观看| 亚洲妇熟xx妇色黄| 午夜成人免费视频| 日韩精品色哟哟| 精品一区二区三区视频在线观看| 国产一区二区电影| 波多野结衣精品在线| 欧美这里有精品| 欧美一级生活片| 日韩女优av电影| 欧美经典一区二区| 亚洲美女免费视频| 午夜av一区二区| 蜜臀av一区二区三区| 国产精品综合网| 91色视频在线| 91精品国产aⅴ一区二区| 欧美刺激午夜性久久久久久久| 久久亚洲一区二区三区四区| 国产精品传媒入口麻豆| 亚洲亚洲人成综合网络| 美女视频黄 久久| 成人av在线资源网| 91.麻豆视频| 国产亚洲美州欧州综合国| 国产精品美女久久久久aⅴ国产馆| 亚洲猫色日本管| 久久精品噜噜噜成人av农村| 国产成人精品亚洲午夜麻豆| 欧美亚洲国产一卡| 亚洲精品在线免费播放| 亚洲免费看黄网站| 裸体健美xxxx欧美裸体表演| yourporn久久国产精品| 欧美精品123区| 中文字幕在线观看一区| 美女视频黄 久久| 色视频一区二区| 久久久久久久久一| 日韩在线观看一区二区| 99r精品视频| 久久久电影一区二区三区| 亚洲制服丝袜在线| 成人免费视频视频| 日韩精品在线看片z| 亚洲一区日韩精品中文字幕| 黑人精品欧美一区二区蜜桃 | 婷婷久久综合九色综合伊人色| 国产aⅴ综合色| 日韩一区二区三区观看| 夜夜精品视频一区二区| 国产98色在线|日韩| 欧美成人一区二区三区在线观看 | 亚洲视频在线观看一区| 精品一区二区日韩| 欧美卡1卡2卡| 亚洲综合在线观看视频| caoporn国产一区二区| 欧美精品一区二区三区四区| 日韩成人一级大片| 在线观看视频一区二区欧美日韩| 国产欧美一区二区精品婷婷 | 免费在线观看成人| 欧美日韩一级片在线观看| 亚洲精品国久久99热| 菠萝蜜视频在线观看一区| 久久久精品国产免大香伊| 美国十次了思思久久精品导航| 欧美日韩国产美| 亚洲国产视频网站| 一本色道久久综合亚洲aⅴ蜜桃| 国产精品区一区二区三区 | 国产乱码精品一区二区三区av| 欧美剧情电影在线观看完整版免费励志电影 | 玖玖九九国产精品| 日韩美女天天操| 久久成人精品无人区| 精品理论电影在线| 另类的小说在线视频另类成人小视频在线 | 青青青爽久久午夜综合久久午夜| 欧美人与禽zozo性伦| 日韩在线a电影| 亚洲精品在线三区|