我有一个Vaadin v6应用程序,它使用embed组件显示来自另一个应用程序的JSP页面(在本例中为JPivot)。两个应用程序都在同一个应用程序服务器(Tomcat)中运行。我需要两个应用程序进行通信,并且我尝试使用会话属性来执行此操作。但是,每个应用程序都有自己的会话,因此人们不了解其他属性。我的问题是如何在不使用数据库或外部文件的情况下使这些应用程序进行通信?它可以是除会话属性之外的其他解决方案。
答案 0 :(得分:0)
您希望做的是两个网络应用之间的IPC, 或者在他们之间分享一些信息。
如果您有可用的缓存(memcached或类似),您可以 在那里存储/检索信息。
如果没有可用的缓存,那么CrossContext = true可能会对您有所帮助。 有了这个,你可以从servlet / request中调用“另一个”webapp。
这是一个简单的解释如何工作
http://lukaszbudnik.blogspot.ch/2009/06/session-sharing-in-apache-tomcat.html
如果您谷歌搜索“tomcat会话共享”,您将获得更多结果。
请注意,只要它们位于同一个tomcat实例中,此CrossContext内容才有效。 只要为负载平衡或高可用性添加另一个tomcat实例,就会中断。在这种情况下,您应该使用某种消息总线或消息队列。