http://blog.sanmaozhao.com/articles/enable-agent-thread-debug.html
从 8.0 版开始,出于对旧版本兼容性的考虑,在 Designer 中编写 Java 代理时,编译器会生成与 Domino 6(JVM 1.2) 兼容的 class 文件。我们可以通过以下 Notes.ini 参数来修改它(以 1.5 为例,重启客户端生效):
JavaCompilerTarget=1.5
对于兼容版本的设定,这里有个权衡需要把握:版本设定的越高可用的新特性越多,但同时能够兼容的 Domino 版本越少。大家可以按照实际需要,参考下表来选择。
JavaCompilerTarget= |
等同的 javac 参数 |
兼容的 Notes/Domino 版本
|
1.1
|
-source 1.3 -target 1.1
|
N/D 5.0 及以上
|
1.2
|
-source 1.3 -target 1.2
|
N/D 6.0 及以上
|
1.3
|
-source 1.3 -target 1.3
|
N/D 6.0 及以上
|
1.4
|
-source 1.4 -target 1.4
|
N/D 7.0 及以上
|
1.5
|
-source 1.5 -target 1.5
|
N/D 8.0 及以上
|
1.6
|
-source 1.6 -target 1.6
|
N/D 8.5 及以上
|
CurrentJavaVersion
(取当前版本 Notes 附带的 Java版本,以 N/D 8.5 为例,此值等同于 1.6)
|
-source 1.6 -target 1.6
|
N/D 8.5 及以上
|
在开发过程中我们经常使用 msgbox 语句来调试代理,由于种种原因有时这些调试语句会被带入测试/生产环境。这种问题一旦发生,一般来说很难定位它究竟来自哪个代理。
此时我们可以在 notes.ini 中添加
Debug_Agent_Thread=1
参数来打开 Web 代理调试功能,在代理开始和结束时,控制台会打印出代理的名称、所在数据库以及 thread id。有了这些信息,我们就很容易定位调试语句的来源了