Поддерживает ли драйвер JDBC для SQL Server асинхронные операции? - PullRequest
1 голос
/ 23 августа 2010

Из некоторого поиска в Google, похоже, что .NET поддерживает асинхронные операции с SQL Server 2005+.Поддерживает ли это последний драйвер JDBC?Я не могу найти упоминание об этом нигде, так что я думаю, что, вероятно, нет.Но я подумал, что спрашивать не повредит.

Спасибо!Avi

Ответы [ 3 ]

3 голосов
/ 23 августа 2010

Нет, но это не значит, что вы не можете выполнять асинхронные операции с базой данных. Вы бы просто поместили асинхронный символ в соответствующий слой, такой как управляемый сообщениями компонент или поток процесса. Я не понимаю, почему JDBC должен поддерживать понятие среднего уровня, такое как асинхронная обработка.

2 голосов
/ 23 ноября 2011

Библиотека commons-dbutils предоставляет удобную оболочку для вызовов JDBC и даже обеспечивает асинхронный способ выполнения вызовов: AsyncQueryRunner.Стоит посмотреть: http://commons.apache.org/dbutils/apidocs/org/apache/commons/dbutils/AsyncQueryRunner.html

2 голосов
/ 24 августа 2010

JDBC в значительной степени однопоточный.Ожидается, что из соединения вниз только один поток будет использовать его в течение своего срока службы (хорошо, соединения могут быть объединены, но это должно быть невидимо для приложения, и только один поток должен использовать соединение одновременно).

Тамэто одно исключение, Statement.cancel(), которое позволяет другому потоку прерывать / отменять выполняемый запрос, но я считаю, что это единственный случай многопоточности.

Как обычно, duffymo говорит, если вы хотите асинхронныйповедение, которое вы могли бы построить что-то поверх JDBC (и я думаю, это то, что .NET делает под прикрытием).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...