Java 对Apache Tomcat 6上的所有请求使用相同的Hibernate sessionFactory

Java 对Apache Tomcat 6上的所有请求使用相同的Hibernate sessionFactory,java,apache,hibernate,rest,tomcat,Java,Apache,Hibernate,Rest,Tomcat,我正在试图了解m是如何工作的,到目前为止,我相信它正在为每个请求创建我的应用程序的另一个实例。这就是我从这一行中得到的: result = m.invoke(cls.newInstance(), parameters); 在RestfulTools.java中 我正在我的应用程序中使用,并从另一个类获取Hibernate会话,该类包含与会话管理相关的方法 是否可能每个请求创建的所有这些实例都使用相同的sessionFactory来获取会话?通常,应用程序每个数据源使用一个sessionFact

我正在试图了解m是如何工作的,到目前为止,我相信它正在为每个请求创建我的应用程序的另一个实例。这就是我从这一行中得到的:

result = m.invoke(cls.newInstance(), parameters);
RestfulTools.java

我正在我的应用程序中使用,并从另一个类获取Hibernate会话,该类包含与会话管理相关的方法


是否可能每个请求创建的所有这些实例都使用相同的
sessionFactory
来获取会话?

通常,应用程序每个数据源使用一个sessionFactory。但实际上,这取决于你如何创建和使用它们。您的会话是否遇到特殊问题?我有一个充满函数的类,即web服务。如果为每个请求创建一个新实例,则意味着为每个请求创建一个新的sessionfactory,这非常昂贵。因此,如果有一种方法可以对所有请求使用会话工厂(我尝试读取ApacheTomcat中的所有文档和内容,我相信现在不是这样),这将节省大量资源,并将极大地提高meIt的性能。据我所知,tomcat默认情况下只创建一个servlet实例。但我不确定你是如何实现你的应用程序/网络服务的。如果您确定您将获得多个实例,那么应该将SessionFactory的创建删除到外部的某个位置,并将其注入到您需要的地方。但是,如果没有更多的实现细节,很难说得更多。