List of usage examples for org.springframework.transaction.support DefaultTransactionDefinition setReadOnly
public final void setReadOnly(boolean readOnly)
From source file:jp.terasoluna.fw.batch.util.BatchUtil.java
/** * ?TransactionDefinition??//from www . j a va 2 s . c om * @param propagationBehavior ??(@see TransactionDefinition) TransactionDefinition.PROPAGATION_REQUIRED * @param isolationLevel (@see TransactionDefinition) TransactionDefinition.ISOLATION_DEFAULT * @param timeout () TransactionDefinition.TIMEOUT_DEFAULT (??) * @param readOnly false * @return */ public static TransactionDefinition getTransactionDefinition(int propagationBehavior, int isolationLevel, int timeout, boolean readOnly) { DefaultTransactionDefinition td = new DefaultTransactionDefinition(); td.setPropagationBehavior(propagationBehavior); td.setIsolationLevel(isolationLevel); td.setTimeout(timeout); td.setReadOnly(readOnly); return td; }
From source file:cherry.sqlapp.service.sqltool.exec.ExecQueryServiceImpl.java
@Override public PageSet query(String databaseName, final String sql, final Map<String, ?> paramMap, final Consumer consumer) { final DataSource dataSource = dataSourceDef.getDataSource(databaseName); PlatformTransactionManager txMgr = new DataSourceTransactionManager(dataSource); DefaultTransactionDefinition txDef = new DefaultTransactionDefinition(); txDef.setReadOnly(true); TransactionOperations txOp = new TransactionTemplate(txMgr, txDef); return txOp.execute(new TransactionCallback<PageSet>() { @Override/*w ww . j a va 2s . c o m*/ public PageSet doInTransaction(TransactionStatus status) { try { long numOfItems = extractor.extract(dataSource, sql, paramMap, consumer, new NoneLimiter()); PageSet pageSet = paginator.paginate(0L, numOfItems, (numOfItems <= 0L ? 1L : numOfItems)); return pageSet; } catch (IOException ex) { throw new IllegalStateException(ex); } } }); }
From source file:cherry.sqlapp.service.sqltool.exec.ExecQueryServiceImpl.java
@Override public PageSet query(String databaseName, final QueryBuilder queryBuilder, final Map<String, ?> paramMap, final long pageNo, final long pageSz, final Consumer consumer) { final DataSource dataSource = dataSourceDef.getDataSource(databaseName); PlatformTransactionManager txMgr = new DataSourceTransactionManager(dataSource); DefaultTransactionDefinition txDef = new DefaultTransactionDefinition(); txDef.setReadOnly(true); TransactionOperations txOp = new TransactionTemplate(txMgr, txDef); return txOp.execute(new TransactionCallback<PageSet>() { @Override/*from w w w . j a v a 2s . co m*/ public PageSet doInTransaction(TransactionStatus status) { try { long count = count(dataSource, queryBuilder.buildCount(), paramMap); PageSet pageSet = paginator.paginate(pageNo, count, pageSz); long numOfItems = extractor.extract(dataSource, queryBuilder.build(pageSz, pageSet.getCurrent().getFrom()), paramMap, consumer, new NoneLimiter()); if (numOfItems != pageSet.getCurrent().getCount()) { throw new IllegalStateException(); } return pageSet; } catch (IOException ex) { throw new IllegalStateException(ex); } } }); }
From source file:org.seedstack.spring.internal.SpringTransactionHandler.java
@Override public void doInitialize(TransactionMetadata transactionMetadata) { try {// ww w .j a va2s . co m transactionManager = injector.getInstance( Key.get(AbstractPlatformTransactionManager.class, Names.named(springTransactionManagerBeanId))); DefaultTransactionDefinition defaultTransactionDefinition = new DefaultTransactionDefinition( TransactionDefinition.PROPAGATION_REQUIRES_NEW); defaultTransactionDefinition.setReadOnly(transactionMetadata.isReadOnly()); transactionLink.push(transactionManager.getTransaction(defaultTransactionDefinition)); } catch (TransactionException e) { throw new IllegalStateException(e); } }
From source file:edu.illinois.ncsa.springdata.Transaction.java
/** * Start a new transaction. This will use the readonly flag as a hint for * the transaction manager../*from w w w.ja v a 2s. c om*/ * * @param readonly * a hint for the transaction manager that the transaction should * be used for readonly operations only. * @throws Exception * throws an exception if there was a problem creating the * transaction or another transaction is already in use. */ public void start(boolean readonly) throws Exception { if (status != null) { throw (new Exception("Already have transaction open.")); } DefaultTransactionDefinition def = new DefaultTransactionDefinition(); def.setReadOnly(readonly); status = transactionManager.getTransaction(def); Map<Transaction, Exception> localtrans = transactions.get(Thread.currentThread()); if (localtrans == null) { localtrans = new HashMap<Transaction, Exception>(); transactions.put(Thread.currentThread(), localtrans); } else { if (localtrans.size() > 0) { logger.info(getThreadTransaction()); } } localtrans.put(this, new Exception()); }
From source file:es.urjc.mctwp.service.ServiceDelegate.java
private TransactionStatus getTxStatus(String action, boolean readOnly, String isolation, String propagation) { DefaultTransactionDefinition def = new DefaultTransactionDefinition(); def.setName(action);/*ww w. ja v a 2 s . co m*/ //Set readOnly configuration def.setReadOnly(readOnly); //Set isolation configuration if (isolation.equals(Command.ISOLATION_DEFAULT)) { def.setIsolationLevel(DefaultTransactionDefinition.ISOLATION_DEFAULT); } //Set propagation configuration if (propagation.equals(Command.PROPAGATION_REQUIRED)) { def.setPropagationBehavior(DefaultTransactionDefinition.PROPAGATION_REQUIRED); } return txManager.getTransaction(def); }
From source file:es.us.isa.ideas.app.controllers.AbstractController.java
protected void beginTransaction(boolean readOnly) { Assert.isNull(txStatus);/*w w w .j av a2 s . co m*/ DefaultTransactionDefinition definition; definition = new DefaultTransactionDefinition(); definition.setIsolationLevel(DefaultTransactionDefinition.ISOLATION_DEFAULT); definition.setPropagationBehavior(DefaultTransactionDefinition.PROPAGATION_REQUIRES_NEW); definition.setReadOnly(readOnly); txStatus = transactionManager.getTransaction(definition); }
From source file:org.malaguna.cmdit.service.ServiceDelegate.java
private TransactionStatus getTxStatus(String action, boolean readOnly, String isolation, String propagation) { DefaultTransactionDefinition def = new DefaultTransactionDefinition(); def.setName(action);/*w ww . j a v a 2 s . c o m*/ //Set readOnly configuration def.setReadOnly(readOnly); //Set isolation configuration if (isolation.equals(Command.ISOLATION_DEFAULT)) { def.setIsolationLevel(DefaultTransactionDefinition.ISOLATION_DEFAULT); } else if (isolation.equals(Command.ISOLATION_READ_COMMITED)) { def.setIsolationLevel(DefaultTransactionDefinition.ISOLATION_READ_COMMITTED); } else if (isolation.equals(Command.ISOLATION_READ_UNCOMMITED)) { def.setIsolationLevel(DefaultTransactionDefinition.ISOLATION_READ_UNCOMMITTED); } else if (isolation.equals(Command.ISOLATION_REPEATABLE_READ)) { def.setIsolationLevel(DefaultTransactionDefinition.ISOLATION_REPEATABLE_READ); } else if (isolation.equals(Command.ISOLATION_SERIALIZABLE)) { def.setIsolationLevel(DefaultTransactionDefinition.ISOLATION_SERIALIZABLE); } //Set propagation configuration if (propagation.equals(Command.PROPAGATION_REQUIRED)) { def.setPropagationBehavior(DefaultTransactionDefinition.PROPAGATION_REQUIRED); } else if (propagation.equals(Command.PROPAGATION_MANDATORY)) { def.setPropagationBehavior(DefaultTransactionDefinition.PROPAGATION_MANDATORY); } else if (propagation.equals(Command.PROPAGATION_NESTED)) { def.setPropagationBehavior(DefaultTransactionDefinition.PROPAGATION_NESTED); } else if (propagation.equals(Command.PROPAGATION_NEVER)) { def.setPropagationBehavior(DefaultTransactionDefinition.PROPAGATION_NEVER); } else if (propagation.equals(Command.PROPAGATION_NOT_SUPPORTED)) { def.setPropagationBehavior(DefaultTransactionDefinition.PROPAGATION_NOT_SUPPORTED); } else if (propagation.equals(Command.PROPAGATION_REQUIRES_NEW)) { def.setPropagationBehavior(DefaultTransactionDefinition.PROPAGATION_REQUIRES_NEW); } else if (propagation.equals(Command.PROPAGATION_SUPPORTS)) { def.setPropagationBehavior(DefaultTransactionDefinition.PROPAGATION_SUPPORTS); } return txManager.getTransaction(def); }
From source file:nz.co.senanque.functions.CustomerDAOImpl.java
@SuppressWarnings({ "unused", "unchecked" }) public void transactionTester() { final DefaultTransactionDefinition def = new DefaultTransactionDefinition(); // explicitly setting the transaction name is something that can only be done programmatically def.setName("SomeTxName"); def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); def.setReadOnly(true); final TransactionStatus status = m_txManager.getTransaction(def); Session session = getSessionFactory().getCurrentSession(); final Transaction transaction = session.getTransaction(); Query query = session.createQuery("select p from nz.co.senanque.madura.sandbox.Customer p"); List<Customer> customers = query.list(); for (Customer customer : customers) { final Session session1 = getSessionFactory().openSession(); final Session currentSession = getSessionFactory().getCurrentSession(); final Transaction transaction1 = currentSession.getTransaction(); getSubTransaction().process(customer); }/*from w w w. j ava 2s . com*/ }
From source file:nz.co.senanque.base.CustomerDAOImpl.java
@SuppressWarnings("unused") public void transactionTester() { final DefaultTransactionDefinition def = new DefaultTransactionDefinition(); // explicitly setting the transaction name is something that can only be done programmatically def.setName("SomeTxName"); def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); def.setReadOnly(true); final TransactionStatus status = m_txManager.getTransaction(def); Session session = getSessionFactory().getCurrentSession(); final Transaction transaction = session.getTransaction(); Query query = session.createQuery("select p from nz.co.senanque.madura.sandbox.Customer p"); @SuppressWarnings("unchecked") List<Customer> customers = query.list(); for (Customer customer : customers) { final Session session1 = getSessionFactory().openSession(); final Session currentSession = getSessionFactory().getCurrentSession(); final Transaction transaction1 = currentSession.getTransaction(); getSubTransaction().process(customer); }/*from w ww . ja va 2 s. co m*/ }