Java + Ms SQL Server 2008 R2 после уведомления о вставке триггера

Мне нужно написать веб-приложение с использованием java webgui Vaadin Framework, которое будет обновляться в режиме реального времени, добавляя новые записи в базу данных MsSQL с помощью MsWin2k8R2 NPS.

Поскольку NPS хранит журналы в файлах и / или БД, я предпочитаю БД, но я хотел бы знать, как моя SQL-программа может получать уведомления от SQL-сервера, когда NPS-сервер вставляет данные в базу данных, а затем повторно извлекает или извлекает из SQL-сервера уведомление и отобразить его в браузере.

У меня уже установлено соединение Java<->Ms SQL.

Что я уже знаю:

  • Класс SqlDependency можно использовать, но это только для.NET, и я работаю в Java
  • SQL Server Service Broker - это какая-то функция в SQL Server, которую можно использовать для этого, но в настоящее время я не совсем правильно понимаю, как это сделать и что это такое на самом деле
  • Расширенные события SQL - так же, как и выше
  • Уведомления SQL - так же, как выше
  • Триггеры SQL CRL - триггер, написанный на C++, C# или, возможно, на Java, который выполняется в указанной ситуации, но выполняется синхронно и замедляет всю операцию

Сейчас. Я нашел это сообщение: /questions/6436527/mogut-li-triggeryi-sql-clr-sdelat-eto-ili-est-luchshij-sposob/6436553#6436553

Я предложил бы иметь в таблице триггер, который вызывает SQL Server Service Broker, который затем (асинхронно) выполняет хранимую процедуру CLR, которая выполняет всю вашу работу в другом потоке.

Но я не знаю, как это сделать.

Итак, что мне нужно: Простая таблица в SQL Server, которая при вставке данных каким-то образом уведомит мою Java-программу. Это может быть использование веб-сервисов REST, JMS или что-то, что не зависит от языка.

Пожалуйста, предоставьте пошаговые примеры / решения.

1 ответ

Вы можете использовать триггерную функциональность SQL. Есть решение:

  1. SQL-триггер для таблицы, которая вызывает хранимую процедуру
  2. Хранимая процедура вызывает некоторый код на C#, который восстановит службу по http.
  3. Ваш бэкэнд будет обрабатывать http запросы от хранимых процедур.
Другие вопросы по тегам