session - grails SQL 错误

标签 session tomcat serialization grails

<分区>

我在 grails 中使用新的 Sql 方法时遇到问题。

import groovy.sql.Sql
def datasource    
def organization_config = new Sql(dataSource)
    def orgs = organization_config.rows("select o.organizationId,o.name from organization o ")
    session.setAttribute("org_results", orgs);

应用程序正在运行,但在重新启动 tomcat 服务器时出现这些错误。

严重:加载持久 session 时发生 IOException:java.io.WriteAbortedException:写入中止; java.io.NotSerializableException: groovy.sql.GroovyRowResult
java.io.WriteAbortedException:写入中止; java.io.NotSerializableException:groovy.sql.GroovyRowResult

谁能告诉我为什么会这样。

提前致谢, 斯里..

最佳答案

如果您的所有 session 对象都实现了 java.io.Serializable,Tomcat 可以保持 session 访问关闭和重新启动。如果 session 对象未实现 java.io.Serializable,您的 session 将无法在关闭和重新启动后继续存在。在您的情况下,groovy.sql.GroovyRowResult 类型的对象未实现 java.io.Serializable

只要您不集群多个 Tomcat 实例来为您的应用程序提供服务,就正常运行期间的功能而言,该消息可以被认为是无害的。在这种情况下,您确实应该在放入 session 的每个类中实现此接口(interface)。否则 Tomcat 无法在多个集群节点之间传送 session 。

关于session - grails SQL 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3067419/

相关文章:

batch-file - 如何通过批处理文件从 Windows 服务中找到 Tomcat 路径

PHP $_SESSION 不在请求之间共享

php - 将 PHP session 从子域共享到 TLD

java - Servlet 在本地 Windows 上工作,但在 Linux 上不工作

java - 访问 Elastic Beanstalk 端点时出现 502 代理错误

python - 类型错误 : Object of type 'datetime' is not JSON serializable (with serialize function)

c# - 如何将包含 ILIST 成员的对象序列化为 XML?

在 java 类中进行某些修改后反序列化对象时出现 java.io.InvalidClassException

Codeigniter - 在 View 中使用 session 数据

PHP 如何启动安全 session