重启服务器时会丢失会话变量吗?

时间:2013-03-28 15:06:08

标签: coldfusion

我们不得不经常重启(每天一次),因为我们在VPS上从SQL Server收到9001错误。 重新启动似乎可以解决问题,我们正在与我们的提供商进行讨论。

问:重启后,每个人都会失去会话范围吗?

4 个答案:

答案 0 :(得分:6)

是的,假设您在内存中使用ColdFusion的会话范围。重新启动服务器时,将清除所有内存。如果您使用数据库或其他外部来源,会话可能会持续存在。

为了它的价值,应用范围和服务器范围也被清除。

答案 1 :(得分:4)

根据查理·艾哈特的Hidden Gems in CF10,Tomcat上的CF10能够在重新启动时保存会话

  

也许CF10(和Tomcat)中最好的隐藏宝石

     
      
  • 能够在重新启动时保存会话。是的!
  •   
  • 认真考虑的一些重要利弊
  •   
  • 掌握Tomcat(您现在拥有)中的配置知识
  •   
  • 更多:http://tomcat.apache.org/tomcat-7.0-doc/config/manager.html
  •   
  • 需要修改[cf10] [instance] \ runtime \ conf \ context.xml
  •   
  • Adob​​e doc在“安装CF 10”中的简短讨论很遗憾,很遗憾
  •   
  • 请参见第20页,“启用持久会话”(原文如此)
  •   
  • 表示取消注释已经未注释的XML行
  •   
  • 键是,如果取消注释,则MANAGER元素不能包含空白PATH,因此:
  •   
  • 可以评论它(CF10默认情况下没有评论,但PATH是空白的)
  •   
  • 或者可以设置PATH值。 PATH =“sessions.ser”会将会话保存到sessions.ser文件
  •   
  • 在[cf10] [instance] \ runtime \ work \ Catalina \ localhost \ tmp
  • 中   
     

CF需要在更改生效后重新启动

     
      
  • 测试:配置/重启/创建会话/重新启动/测试是否已保存
  •   
  • 好消息:即使复杂的变量仍然存在(查询,CFC,结构等)
  •   
  • 问题:仅在正常CF关闭时保存会话
  •   
  • 如果CF崩溃/被杀,则不会保存/恢复会话
  •   
  • 但是现在和现在没有什么不同。如果你“期待”保存就好了
  •   
  • 此外,关机时可以有很多I / O,然后是启动,尤其是。如果有很多会议
  •   
  • 由于蜘蛛,机器人等,您可能会有比您想象的更多的会话。
  •   
  • 可能会让您感到困惑:在CF启动时不会出现sessions.ser文件
  •   
  • 在关机时创建,在启动后删除
  •   

答案 2 :(得分:1)

Miguel-F的答案是正确的,但在这里它是马的嘴(Adobe docs)。我用谷歌搜索“coldfusion会话服务器重启”找到它 - 第三个结果。第二个结果是2010年最初提出的Stack Overflow问题。

  

会话:包含可用于单个客户端浏览器的变量,用于应用程序中的单个浏览器会话。

     

对于特定于客户的信息非常有用,例如购物车   您希望在客户端访问您的内容时保留的内容   应用

     

数据存储在内存中并在一段时间不活动后超时或   当服务器关闭时。

     

ColdFusion Administrator允许您在两种会话之间进行选择   管理,标准ColdFusion会话管理和J2EE会话   管理。有关会话管理类型的信息,请参阅   ColdFusion和J2EE会话管理。

     

在变量名称中使用会话范围前缀。

答案 3 :(得分:0)

是。会话是服务器端变量。我刚刚测试过它。