我有一个网络服务器,运行了2个tomcat实例。在每个tomcat实例上,我有多个Web应用程序或Web服务。
在第二个tomcat服务器上运行的webapp上,从第一个tomcat服务器的webapp调用函数(或使用参数触发某个事件)的最佳方法是什么。如果是使用带参数的url的呼叫,则此呼叫应该是安全的,并且无法从服务器外部访问。
我已经阅读了一些关于获取servlet上下文的内容,但是这可能在不同的tomcat实例上吗?我认为只有在同一个实例中运行的webapp才能实现这一点。
我不想使用CORBA,RMI或SOAP,因为这对我的问题有点过分......这就是我的想法:)
欢迎使用代码示例。谢谢!
答案 0 :(得分:0)
ServletContext
仅在同一容器中有效,无法在两个JVM之间共享。你要问的最简单的方法就是在两个容器之间使用各种各样的RPC,而RMI似乎不是特别矫枉过正。另一种常用的方法是在接收容器中调用逻辑的简单HTTP Web服务(注意小写的“s”)。
答案 1 :(得分:0)
Spring的HTTPInvoker很适合这个。您可以使用Java接口,并且每个实例上的代码都不需要知道调用是远程的 - 它只是调用Java方法。
为了安全起见,您可以在不同的端口上使用Sun HTTP服务器(而不是在Tomcat中使用servlet),并且只在localhost上监听。
看看这里
答案 2 :(得分:0)
使用简单的REST服务,而不是那么安全。