Могу ли я изменить 'appName' на уже открытом соединении JTDS? - PullRequest
1 голос
/ 26 июля 2011

Я ищу способ передачи информации о транзакциях веб-приложения в базовый процесс базы данных. В моем Java-коде у меня может быть транзакционный метод ReservationService # search (), который запускает один или несколько SQL. В СУБД я просто вижу SPID и некоторые блокировки. Я ищу способ добавить тег "ReservationService # search" в процесс базы данных.

В jTDS / Sybase ASE есть appName, которое можно передать как свойство соединения. Поскольку мы используем пул соединений, существующие соединения используются повторно, но, насколько мне известно, appName читается только при установлении нового соединения.

Как мне переустановить appName на уже существующее соединение (без закрытия / открытия)? Или, если это просто невозможно, есть ли другие идеи для передачи транзакционной контекстной информации из Java в СУБД?

  • Tomcat Webapplication (Java 6)
  • Пул соединений C3P0 (поддерживает только JDBC 3)
  • jTDS подключается к Sybase ASE 15

Спасибо Simon

1 Ответ

1 голос
/ 04 августа 2011

К сожалению, нет, кажется, что вы можете указать это только в параметрах URL, когда открываете соединение, но не можете изменить его после слов.Java / Tomecat для всех ваших запросов Sybase.Для меня это было легко, поскольку я использую хранимые процедуры для всех взаимодействий между моим Java-приложением и SQL-сервером.Я основал свой SessionID в Java на сеансе J2EE.

...