Sql server 2008 r2 如何为AspectJ设置JAVA_选项,使其在Tomcat中作为Windows服务器上的服务运行?
问题 我需要将AspectJ代码集成到运行在Tomcat上的现有应用程序中,但我认为我没有正确设置JAVA_选项 我们的供应商已经创建了一些AspectJ代码,将登录的用户id信息传递到MSSQLServer连接中的CONTEXT_INFO()对象。这样,在我们创建的审计数据库触发器中,我们可以捕获进行更改的用户id 我所做的Sql server 2008 r2 如何为AspectJ设置JAVA_选项,使其在Tomcat中作为Windows服务器上的服务运行?,sql-server-2008-r2,tomcat7,aspectj,catalina,java-opts,Sql Server 2008 R2,Tomcat7,Aspectj,Catalina,Java Opts,问题 我需要将AspectJ代码集成到运行在Tomcat上的现有应用程序中,但我认为我没有正确设置JAVA_选项 我们的供应商已经创建了一些AspectJ代码,将登录的用户id信息传递到MSSQLServer连接中的CONTEXT_INFO()对象。这样,在我们创建的审计数据库触发器中,我们可以捕获进行更改的用户id 我所做的 在数据库触发器中添加了以下代码 声明@appUserID INT SET@appUserID=ISNULL(替换(CONVERT(VarChar(128),CONTEXT
set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%
我把它改成了
set JAVA_OPTS=”%JAVA_OPTS% %LOGGING_CONFIG% -javaagent:D:\tomcat\tomcat7.0.27\lib\aspectjweaver.jar"
但它似乎不起作用
因此,我尝试将其设置为这样,添加一组新的JAVA_选项:
set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%
set JAVA_OPTS="-javaagent:D:\tomcat\tomcat7.0.27\lib\aspectjweaver.jar"
但这似乎也没有奏效
进行以下更改并通过web应用程序前端运行测试后,插入到数据库中的用户id为0,因此这告诉我有些事情没有做对,我对上述所有步骤感到不舒服的部分是步骤5
经过多次尝试和错误,我发现了如何将AspectJ集成到Tomcat中,并在Windows服务器上作为服务运行。我不知道为什么,但大胆的东西是我的问题的原因 当然,正如我在上面的问题中提到的,您需要以下先决条件:
echo OFF
ECHO Removing Tomcat Service...
sc stop YourServiceName
sc delete YourServiceName
ECHO Removing Registry Key containing config data for Tomcat7
REG DELETE "HKLM\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\YourServiceName" /f
REG DELETE "HKLM\SOFTWARE\Wow6432Node\Apache Software Foundation\Tomcat\7.0" /f
ECHO Uninstall Complete - File Directories remain intact.
ECHO OFF
ECHO Running Service.bat to install the Tomcat 7 - YourServiceName - Service
cd "C:\Path to your tomcat\tomcat7.0.27\bin"
service.bat install