2016-02-05 68 views
1

当我请求一个页面时,我看到它被序列化并存储在磁盘上(和二级缓存中),在它被渲染后,所以在分离阶段。该页面本身也存储在会话中。为什么wicket页面被序列化?

当我再次请求页面时,它在会话中找到。所以没有查阅序列化的页面。

当我在另一个会话中要求页面时,页面会重新创建。我认为在这种情况下,序列化页面将被使用。

那么你能给我一个例子,一个场景,其中序列化页面从磁盘(或二级缓存)读取?

回答

2

看到此URL,跟踪:

第一页实例现在从磁盘反序列化。

+0

非常感谢。 – ericj

2

http会话保留仅引用已在上一个请求周期中使用的页面。任何较旧的页面只在磁盘中。如果您的用户使用浏览器后退按钮,则旧的实例将从磁盘加载。

磁盘上的文件用于存储每个会话的页面。 I.e。不同的用户使用自己的页面具有不同的文件。共享文件将是一个安全问题,就像分享http会话一样。

其他信息:磁盘存储是Wicket的一部分,用作默认持久存储。 WicketStuff-DataStores模块提供Redis,Hazelcast,Cassandra和Memcached的实现。如果您希望旧网页在一组Web服务器中可用,则可以使用它们。

+0

谢谢。我会试试这些数据存储。 – ericj