数据库
首页 > 数据库> > java-REST服务的单个MySql数据库连接

java-REST服务的单个MySql数据库连接

作者:互联网

我正在开发Android应用程序,该应用程序通过REST服务将数据获取和发布到数据库.我已经用Java在Jersey和Tomcat中配置了REST服务.

我在REST服务启动时创建了单数据库连接.现在所有的android客户端都使用单数据库连接.现在我只想知道在我的场景中使用单数据库连接是一种好习惯..单数据库连接可以容纳多个并发请求

请建议….

更新
当我测试以下场景时,它会给出不同的结果..我仅使用带有Get批注的Jersey使用tomcat配置了简单的REST服务器,在此批注内,我使用建立的数据库连接编写代码以获取ID为300的员工姓名当REST启动时..所以当我在网络浏览器上写http://192.168.15.9:8080/Rest/rest/person/sample时,我得到了员工的名字…然后我创建了批处理文件以在100中打开url标签,我执行了批处理文件.同时,我从虚拟机打开url,并没有延迟地获得了雇员名称..20秒后,雇员名称也显示在100个选项卡中.如果不能将单个数据库连接用于并发用户,那么为什么我给出响应迅速谁能解释一下吗?

解决方法:

不,单个数据库连接不应用于并发请求.您应该创建一个连接池(基本上是一组可重用的连接),根据需要从该池中获取一个连接,然后将其释放到该池中.

不要自己做!

由于您具有Tomcat,因此可以配置JDBC data source,然后使用JNDI获取对此数据源的引用.数据源将为您提供连接,而无需您自己创建连接. Tomcat将在后台合并(激活,维护和处置)连接.
另外,您可以使用诸如c3p0之类的自定义连接池,但我强烈建议您使用服务器提供的功能.

如果由于某种原因必须在几分钟内部署产品(因此您没有时间设置数据源),那么最好为每个请求打开和关闭连接-这很浪费-而不是共享一个所有请求之间的单一连接.

标签:rest,database-connection,database-concurrency,java
来源: https://codeday.me/bug/20191031/1974712.html