Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何创建自定义Hibernate会话管理器?_Java_Spring_Hibernate_Threadpoolexecutor - Fatal编程技术网

Java 如何创建自定义Hibernate会话管理器?

Java 如何创建自定义Hibernate会话管理器?,java,spring,hibernate,threadpoolexecutor,Java,Spring,Hibernate,Threadpoolexecutor,我有一个基本要求: 1) 需要一个hibernate会话管理器,它在我每次使用会话打开和关闭或执行任何其他操作时都会被调用。 2) 它应该作为hibernate会话的包装器。 3) 例如:我创建了一个会话实用程序,它一次只允许创建5个会话,如果其中5个会话已经在使用中,我的请求必须等待5个会话中的一个会话返回。确实不需要编写特殊的会话管理器来执行此操作,因为您可以利用连接池轻松处理此行为 您首先需要做的是使用最大可用连接数定义连接池,在您的情况下,该连接数为5。然后,您需要配置连接池,使其具有合

我有一个基本要求: 1) 需要一个hibernate会话管理器,它在我每次使用会话打开和关闭或执行任何其他操作时都会被调用。 2) 它应该作为hibernate会话的包装器。
3) 例如:我创建了一个会话实用程序,它一次只允许创建5个会话,如果其中5个会话已经在使用中,我的请求必须等待5个会话中的一个会话返回。

确实不需要编写特殊的会话管理器来执行此操作,因为您可以利用连接池轻松处理此行为

您首先需要做的是使用最大可用连接数定义连接池,在您的情况下,该连接数为5。然后,您需要配置连接池,使其具有合理的等待超时。请理解,在拒绝服务攻击场景中,此超时可能会有问题,因此使用此超时会有风险


在正确配置连接池的情况下,如果前5个正在执行一些耗时数秒的长时间运行任务,并且第6个请求出现,它将等待从连接池中获取与数据库的连接,然后再继续,因此,您的数据库在任何时候都只有5个并发连接。

您的问题并不清楚。任何相关的代码或参考都会很有帮助,任何关于为什么要这样做而不是使用已经调试过的现有基础设施的解释都会很有帮助。通常情况下,问题应与说明问题的示例代码一起发布。你的问题太宽泛了