Techboy Asked: 2010-02-06 02:51:41 +0800 CST2010-02-06 02:51:41 +0800 CST 2010-02-06 02:51:41 +0800 CST 更改 WebDynpro 参数的含义:sap.locking.maxWaitInterval 772 SAP OSS 注释 1234847提到更改 WebDynpro 参数sap.locking.maxWaitInterval 将此设置为 30 分钟或 1 小时有什么含义? sap 1 个回答 Voted Best Answer Techboy 2010-07-30T05:15:52+08:002010-07-30T05:15:52+08:00 从https://forums.sdn.sap.com/message.jspa?messageID=8713259复制的答案 正如注释 1234847 所解释的,一旦用户会话的请求被处理,用户会话就会在请求期间被阻塞,即始终最多有一个线程获得用户会话的锁定。 引用同一用户会话(即从同一浏览器进程触发)的并发请求被序列化并一个接一个地处理。如果有一个请求由于某种等待/阻塞条件而阻塞或挂起,那么其他同时传入的请求正在等待一段时间,用户会话锁被释放。如果他们在此时间间隔后无法获取用户会话锁,则等待线程终止并出现 LockException 错误页面。 在这种情况下,“sap.locking.maxWaitInterval”很有帮助。根据请求,管理员可以增加它。 在之前的案例中,我们已经让客户在 Web Dynpro default.properties 中将其从 100s 增加到 300s(或 500s),这取决于他们的需要。这不会使服务器处理时间变慢,但会有额外的缓冲时间,以便用户请求可以通过。 客户根据长时间运行的应用程序改变参数的值。 提供更多信息:http: //help.sap.com/saphelp_nwce71/helpdata/en/43/8a1a8ece230c8ce10000000a11466f/content.htm SAP note 1113811 也提供了一些信息。 但是,即使在增加此参数之后,如果存在锁定问题,那么这可能是由于应用程序错误造成的。我们将需要分析线程转储以在锁定过程中检查线程的状态。如您所知,Java 线程负责实际执行服务器任务,类似于 ABAP 工作流程。 SAP Note No. 710154 - 如何为 J2EE 引擎创建线程转储
从https://forums.sdn.sap.com/message.jspa?messageID=8713259复制的答案
正如注释 1234847 所解释的,一旦用户会话的请求被处理,用户会话就会在请求期间被阻塞,即始终最多有一个线程获得用户会话的锁定。
引用同一用户会话(即从同一浏览器进程触发)的并发请求被序列化并一个接一个地处理。如果有一个请求由于某种等待/阻塞条件而阻塞或挂起,那么其他同时传入的请求正在等待一段时间,用户会话锁被释放。如果他们在此时间间隔后无法获取用户会话锁,则等待线程终止并出现 LockException 错误页面。
在这种情况下,“sap.locking.maxWaitInterval”很有帮助。根据请求,管理员可以增加它。
在之前的案例中,我们已经让客户在 Web Dynpro default.properties 中将其从 100s 增加到 300s(或 500s),这取决于他们的需要。这不会使服务器处理时间变慢,但会有额外的缓冲时间,以便用户请求可以通过。
客户根据长时间运行的应用程序改变参数的值。
提供更多信息:http: //help.sap.com/saphelp_nwce71/helpdata/en/43/8a1a8ece230c8ce10000000a11466f/content.htm
SAP note 1113811 也提供了一些信息。
但是,即使在增加此参数之后,如果存在锁定问题,那么这可能是由于应用程序错误造成的。我们将需要分析线程转储以在锁定过程中检查线程的状态。如您所知,Java 线程负责实际执行服务器任务,类似于 ABAP 工作流程。
SAP Note No. 710154 - 如何为 J2EE 引擎创建线程转储