我目前正在使用 Spring 和 Hibernate。目前,如果我从客户端进行创建对象调用(例如),则会在服务器端的服务存根上发出请求。服务调用必须创建一个新的休眠会话工厂,获取会话,然后进行事务。问题是每次都会发生这种情况,因此需要重新创建会话工厂才能使用。由于创建该工厂需要付出代价,因此这似乎非常浪费并且影响性能。
我想做的是重用一个会话工厂,例如,跨客户端或多个客户端进行的不同服务调用。问题是我不知道该怎么做,因为服务器端功能的入口点是服务调用。我知道我必须以某种方式在服务器端保存状态,以便不同的调用可以访问同一个会话工厂。我知道保持状态等的可伸缩性问题,但必须有一种方法可以重用以前创建的对象。
我的问题是如何使用 Spring 执行此操作(我应该使用 Session bean 还是 HttpSession)?容器是否可以在启动时设置这些东西,还是必须等待服务请求进入?
我大部分是Spring新手,只是我不了解Web服务角色吗?
提前致谢。