GWT 应用程序:服务器范围的上下文,在哪里运行初始请求并保留其结果,以便每个会话稍后访问此结果?

发布于 2024-11-17 03:58:20 字数 328 浏览 1 评论 0原文

我正在使用 GlassFish 应用服务器开发 GWT 2.1 应用程序。

当有人请求网页时,所有的音乐就开始了:UI 被构建,它调用服务器端方法,这些方法查询数据库,然后进行全部量化。

我现在需要一个服务器范围的上下文,在其中一劳永逸地运行初始查询,并将其结果保留在内存中,以便每个会话稍后访问该结果。我希望运行的代码是服务器端 Java 代码。假设它在应用程序服务器启动时运行。或者 - 更微妙 - 当应用程序服务器启动后第一次请求 Web 主页时。

最初的代码构建了一个大的树状结构并且需要很长时间才能运行。树状结构不会改变,并且对于所有用户来说都是相同的。所以我只想构建一次然后阅读它。

I am developing a GWT 2.1 application, using the GlassFish app server.

All the music starts when someone requests the Web page: the UI gets built, it calls server-side methods, which query the database, and tutti quanti.

I need now a server-wide context, where to run an initial query, once and for all, and keep its result in memory, so that every session access this result later on. The code I wish to run is server-side Java code. Let's say it runs at start of the app server. Or - more subtle - when the Web home page is requested for the first time since app server start.

The initial code builds a big arborescence and takes a long time to run. The arborescence does not change and is the same for all users. So I want to construct it only once and then read it.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

苦妄 2024-11-24 03:58:20

实际上取决于您如何生成解决方案。

您至少有 3 个选项 -

1) 数据库持久性 - 您可以将解决方案存储在数据库中。

2) XML - (预)计算解决方案,将其存储在 XML 文件中,访问 xml 文档并使用解决方案

3) 生成解决方案并将其存储在服务器端的静态类中。使用 servlet 访问此静态类。 (问题是,如果服务器出现故障,您会丢失解决方案,并且每次重新启动服务器时都必须重新计算)

如果解决方案只是一次性计算,我更喜欢使用解决方案 1 或 2。不过,更多信息会有所帮助为您找到正确的解决方案。

Really depends on how you generate the solution.

you have 3 options atleast -

1) Database persistence- You can store the solution in a database.

2) XML - (Pre)calculate the solution, store it in an XML file, access the xml doc and use the solution

3) Generate and store the solution in a static class on the server side. Use the servlets to access this static class. (Problem, if the server goes down, you loose the solution and will have to recalculate everytime you restart the server)

If the solution is just a one time computation, I would prefer using solution 1 or 2. Some more info will be helpful though to pinpoint the right solution for you.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文