iBatis SqlMapClient и потокобезопасность

Я знаю состояние API "Ориентированный на многопотоковое исполнение клиент для работы с Вашими Картами SQL", но я хочу понять, как это работает немного лучше и задавалось вопросом, выполнял ли кто-либо эту INA многопоточная среда с транзакциями. Например, использование:

void doSomeSql() throws SQLException{
  sqlMapper.startTransaction();
  sqlMapper.startBatch();
  final Map paramMap = new HashMap();
  paramMap.put("data", "data"); 
  Integer num = (Integer) sqlMapper.queryForObject("getRowCount", paramMap);//get row count
  sqlMapper.insert("insertData", paramMap); //insert row
  num = (Integer) sqlMapper.queryForObject("getRowCount", paramMap);//get row count again
  sqlMapper.executeBatch();
  sqlMapper.commitTransaction();
}

Если это использовалось на том, где несколько потоков могут назвать это и существует, только один совместно использовал объект sqlMapper, там будут некоторые потоки, которые выполняют пакет потому что другой поток, названный executeBatch ()? Это становится большим количеством проблемы, если у меня есть много других методов, делающих обновления delete и т.д. с помощью того же sqlMapper в других потоках.

Я не хочу, запускают транзакцию в одном потоке и имеют другую фиксацию потока, прежде чем предыдущее сообщение было сделано.

Я понимаю, что могу синхронизироваться на всем этом, но не имел бы к.

5
задан Nick 23 July 2010 в 14:20
поделиться