Я работаю с программой java, где мне нужно вызвать родную библиотеку, чтобы вызвать другую DLL, которая, в свою очередь, свяжется с какой-либо службой Remote Amailus (служба, связанная с авиакомпанией). Заявление о проблемах: jni dll создает сеанс каждый раз, когда он связывается с удаленной службой, и закрывает сеанс после завершения намеченной задачи. Его очень похоже на подход jdbc, в котором не задействован пул соединений. Теперь кажется, что сеанс фактически не закрывается должным образом, и на конце сервера он в конечном итоге приводит к максимальному исключению сеанса и отказу от любых последующих запросов на соединение. Похоже, что существует некоторая проблема на конце соединения с удаленными службами dll, потому что из кода Java соединение должным образом закрывается, вызывая собственный вызов. Обходное решение: Перезапуск приложения исправляет эту проблему, поскольку он заставляет все открытые соединения закрываться. У нас пока нет доступа к изменению dll, поэтому мы думаем, что если бы у нас был такой же вкус перезапуска jvm, но мы фактически не перезапустили jvm, а повторно подключили (разгрузили и перезагрузили) dll. Здесь мы думаем, что если мы сможем отключить dll, вся память, выделенная для dll, будет очищена и, следовательно, заставит закрыть/собрать открытые сеансы на сервере. Вопрос: Можем ли мы действительно выгрузить, а затем перезагрузить dll без перезапуска jvm?Разгрузка и перезагрузка dll без перезагрузки jvm
Пожалуйста, помогите нам.
Заранее спасибо.
Krgds, Debojit