Значение TimeOut весенней транзакции программно - PullRequest
0 голосов
/ 20 мая 2019

Я хочу дать общее время ожидания транзакции. Это значение должно быть задано параметрическим.

Этот блок кода является рабочим, но не параметрическим.

@Transactional(timeout=10)
@Override
public List<EntityModel> search(EntityModel model) {
    List list = new ArrayList<EntityModel>();
    try {
        Criteria criteria = createCriteria(model);
        list = criteria.list();

        }
    } catch (Exception e) {

    }
    return list;
}

Это параметрический, но не рабочий. Я дал значение тайм-аута из базы данных программно. Я воспользовался этой страницей http://neopatel.blogspot.com/2012/08/spring-query-timeout-or-transaction.html

@Transactional
@Override
public List<EntityModel> search(EntityModel model) {
    List list = new ArrayList<EntityModel>();
    try {
        Criteria criteria = createCriteria(model);

        EntityManagerFactoryInfo info = (EntityManagerFactoryInfo) entityManager.getEntityManagerFactory();
        DataSourceTransactionManager transactionManager = new DataSourceTransactionManager(info.getDataSource());
         transactionManager.setDefaultTimeout(PropertyUtil.getTimeoutMiliseconds());            
         list = criteria.list();

        }
    } catch (Exception e) {

    }
    return list;
}
...