@Override protected void doBegin(Object transaction, TransactionDefinition definition) { //设置数据源 boolean readOnly = definition.isReadOnly(); //只读事务到读库,读写事务到写库 if (readOnly) { DynamicDataSourceHolder.putDataSource(DynamicDataSourceGlobal.READ); } else { DynamicDataSourceHolder.putDataSource(DynamicDataSourceGlobal.WRITE); } super.doBegin(transaction, definition); }
/** * 只读事务到读库,读写事务到写库 * * @param transaction * @param definition */ @Override protected void doBegin(final Object transaction, final TransactionDefinition definition) { //设置数据源 final boolean readOnly = definition.isReadOnly(); if (readOnly) { DynamicDataSourceHolder.putDataSource(DynamicDataSourceType.READ); } else { DynamicDataSourceHolder.putDataSource(DynamicDataSourceType.WRITE); } super.doBegin(transaction, definition); }
@Override protected void doBegin(Object transaction, TransactionDefinition definition) { logger.info("~~~~~~~~~~~~~~~~~~~Transaction begin~~~~~~~~~~~~~~~~~~~"); DataSourceHolder.setMaster(); logger.info("Master database is selected"); super.doBegin(transaction, definition); }
/** * This implementation sets the isolation level but ignores the timeout. */ @Override protected void doBegin(Object transaction, TransactionDefinition definition) { DBContextHolder.swithTotransaction(); LOG.debug("-->Transaction begin!"); super.doBegin(transaction, definition); }
@Override protected void doBegin(Object transaction, TransactionDefinition definition) { ReplicationRoutingDataSource .setCurrentTransactionReadOnly(definition.isReadOnly()); try { super.doBegin(transaction, definition); } finally { ReplicationRoutingDataSource.clear(); } }
/** * 只读事务到从库 * 读写事务到主库 */ @Override protected void doBegin(Object transaction, TransactionDefinition definition) { boolean readOnly = definition.isReadOnly(); if(readOnly){ DataSourceHolder.setSlave(); }else{ DataSourceHolder.setMaster(); } super.doBegin(transaction, definition); }
/** * 只读事务到读库,读写事务到写库 * @param transaction * @param definition */ @Override protected void doBegin(Object transaction, TransactionDefinition definition) { //设置数据源 boolean readOnly = definition.isReadOnly(); if(readOnly) { DynamicDataSourceHolder.putDataSource(DynamicDataSourceGlobal.READ); } else { DynamicDataSourceHolder.putDataSource(DynamicDataSourceGlobal.WRITE); } super.doBegin(transaction, definition); }
/** * 只读事务到读库,读写事务到写库 * @param transaction * @param definition */ @Override protected void doBegin(Object transaction, TransactionDefinition definition) { //设置数据源 boolean readOnly = definition.isReadOnly(); if(readOnly) { DynamicDataSourceHolder.putDataSource(DynamicDataSourceGlobal.READ); } else { DynamicDataSourceHolder.putDataSource(DynamicDataSourceGlobal.WRITE); } super.doBegin(transaction, definition); }
@Override protected void doBegin(Object transaction, TransactionDefinition definition) { MolgenisTransaction molgenisTransaction = (MolgenisTransaction) transaction; if (LOG.isDebugEnabled()) { LOG.debug("Start transaction [{}]", molgenisTransaction.getId()); } super.doBegin(molgenisTransaction.getDataSourceTransaction(), definition); if (!definition.isReadOnly()) { TransactionSynchronizationManager.bindResource( TRANSACTION_ID_RESOURCE_NAME, molgenisTransaction.getId()); transactionListeners.forEach(j -> j.transactionStarted(molgenisTransaction.getId())); } }
protected void doBegin(Object transaction, TransactionDefinition definition) { ContextSourceAndDataSourceTransactionObject actualTransactionObject = (ContextSourceAndDataSourceTransactionObject) transaction; super.doBegin(actualTransactionObject.getDataSourceTransactionObject(), definition); try { ldapManagerDelegate.doBegin(actualTransactionObject .getLdapTransactionObject(), definition); } catch (TransactionException e) { // Failed to start LDAP transaction - make sure we clean up properly super.doCleanupAfterCompletion(actualTransactionObject.getDataSourceTransactionObject()); throw e; } }
protected void doBegin(Object transaction, TransactionDefinition definition) { ContextSourceAndDataSourceTransactionObject actualTransactionObject = (ContextSourceAndDataSourceTransactionObject) transaction; super.doBegin(actualTransactionObject.getDataSourceTransactionObject(), definition); try { ldapManagerDelegate.doBegin(actualTransactionObject .getLdapTransactionObject(), definition); } catch (TransactionException e) { // Failed to start LDAP transaction - make sure we clean up properly super.doCleanupAfterCompletion(actualTransactionObject.getDataSourceTransactionObject()); throw e; } }
protected void doBegin(Object transaction, TransactionDefinition definition) { ContextSourceAndDataSourceTransactionObject actualTransactionObject = (ContextSourceAndDataSourceTransactionObject) transaction; super.doBegin(actualTransactionObject.getDataSourceTransactionObject(), definition); try { ldapManagerDelegate.doBegin(actualTransactionObject .getLdapTransactionObject(), definition); } catch (TransactionException e) { // Failed to start LDAP transaction - make sure we clean up properly super.doCleanupAfterCompletion(actualTransactionObject.getDataSourceTransactionObject()); throw e; } }
protected void doBegin(Object transaction, TransactionDefinition definition) { ContextSourceAndDataSourceTransactionObject actualTransactionObject = (ContextSourceAndDataSourceTransactionObject) transaction; super.doBegin(actualTransactionObject.getDataSourceTransactionObject(), definition); try { ldapManagerDelegate.doBegin(actualTransactionObject .getLdapTransactionObject(), definition); } catch (TransactionException e) { // Failed to start LDAP transaction - make sure we clean up properly super.doCleanupAfterCompletion(actualTransactionObject.getDataSourceTransactionObject()); throw e; } }