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. Есть решение:
- SQL-триггер для таблицы, которая вызывает хранимую процедуру
- Хранимая процедура вызывает некоторый код на C#, который восстановит службу по http.
- Ваш бэкэнд будет обрабатывать http запросы от хранимых процедур.