Проблема
Мне нужно интегрировать код AspectJ в существующее приложение, работающее на Tomcat, но я думаю, что неправильно устанавливаю JAVA_OPTS.
Наш поставщик создал некоторый код AspectJ, который передает зарегистрированную информацию об идентификаторе пользователя объекту CONTEXT_INFO() в рамках подключения MSSQLServer. Это сделано для того, чтобы в созданном нами триггере базы данных аудита мы могли зафиксировать идентификатор пользователя, внесшего изменение.
Что я сделал
Добавлен следующий код в триггер нашей базы данных
ОБЪЯВИТЬ @appUserID INT
SET @appUserID = ISNULL(REPLACE(CONVERT(VarChar(128), CONTEXT_INFO()),CHAR(0), ''), '0');
Добавлен aspectjrt.jar в папку веб-приложения WEB-INF\lib.
- Добавлен vendorAspectJCode.jar в папку веб-приложения WEB-INF\lib.
- Добавлен aspectjweaver.jar в папку lib tomcat \tomcat7.0.27\lib.
- Отредактировано catalina.bat со следующим:
есть строка кода, которая выглядит так:
set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%
я изменил это на
set JAVA_OPTS=”%JAVA_OPTS% %LOGGING_CONFIG% -javaagent:D:\tomcat\tomcat7.0.27\lib\aspectjweaver.jar"
но, похоже, это не сработало.
Итак, я попытался настроить его так, добавив новый набор JAVA_OPTS:
set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%
set JAVA_OPTS="-javaagent:D:\tomcat\tomcat7.0.27\lib\aspectjweaver.jar"
но это тоже не помогло
После внесения следующих изменений и запуска теста через внешний интерфейс веб-приложения идентификатор пользователя, который был вставлен в базу данных, был 0, так что это говорит мне о том, что что-то было сделано неправильно, и часть, которая Я чувствую себя менее комфортно со всеми шагами выше, чем с шагом 5.
- Кто-нибудь знает, правильный ли синтаксис для установки JAVA_OPTS?
- или есть ли другое место, чтобы положить его?