Java 如何使用Spring在服务器端的客户端服务调用之间共享数据/对象?
我目前正在使用Spring和Hibernate。此时,如果我从客户机发出一个createobject调用(例如),服务器端的服务存根就会收到一个请求。服务调用必须创建一个新的hibernate会话工厂,获取会话,然后进行事务处理。问题是这种情况每次都会发生,因此需要重新创建会话工厂才能使用。这似乎是非常浪费和性能影响,因为创建该工厂需要付出代价 我想做的是重用一个会话工厂,例如,跨客户端或多个客户端发出的不同服务调用。问题是我不知道怎么做,因为服务器端功能的入口点是服务调用。我知道我必须以某种方式在服务器端保存状态,以便不同的调用可以访问相同的会话工厂。我知道在保持状态等方面存在可伸缩性问题,但必须有一种方法来重用以前创建的对象 我的问题是如何使用Spring(我应该使用会话bean还是HttpSession)?容器是否可以在启动时设置这些内容,还是必须等待服务请求进入 我在很大程度上是一个Spring新手,只是我不了解web服务的角色吗 提前谢谢Java 如何使用Spring在服务器端的客户端服务调用之间共享数据/对象?,java,spring,hibernate,session,Java,Spring,Hibernate,Session,我目前正在使用Spring和Hibernate。此时,如果我从客户机发出一个createobject调用(例如),服务器端的服务存根就会收到一个请求。服务调用必须创建一个新的hibernate会话工厂,获取会话,然后进行事务处理。问题是这种情况每次都会发生,因此需要重新创建会话工厂才能使用。这似乎是非常浪费和性能影响,因为创建该工厂需要付出代价 我想做的是重用一个会话工厂,例如,跨客户端或多个客户端发出的不同服务调用。问题是我不知道怎么做,因为服务器端功能的入口点是服务调用。我知道我必须以某种方
您好,Santosh,是的,这是为一个webappAre准备的,您使用任何web框架,如Struts或Spring MVC吗?不,它是以GWT为中心的,所以使用MVP,服务器端更像是一个数据提供商。您好,Santosh,谢谢,我想我几乎找到了我想要的东西,多亏了您的指导。有几件事我需要考虑一下。基本上,我必须将我的spring上下文定义为一个servlet,以便在启动时加载配置,对吗?这是在web.xml中使用listener和servlet标记完成的吗?我想我还是不知道是谁为了声明bean之类的东西而加载了配置。它是在
web.xml
中完成的。检查Hi Santosh,谢谢,我仍然不确定如何检索servlet以获取您提供的链接中web应用程序上下文的servlet上下文参数,但我想我必须做更多的研究。您可以始终从请求对象中检索ServletContext
,作为HttpServletRequest.getServletContext()嗨,桑托什,我想我终于找到了。我让contextLoaderListener将applicationContext.xml加载到web.xml中。applicationContext.xml指定hibernate会话工厂bean,然后将会话工厂注入到需要它的DAO中。我还可以在需要时从请求工厂检索servlet上下文。谢谢你的帮助