社区
Web Services
帖子详情
web service 连接池问题
fletcher
2004-08-28 03:48:10
在我的项目里有多个web service 都有数据库连接我想让他们共享同一个连接怎么实现?
...全文
615
11
打赏
收藏
web service 连接池问题
在我的项目里有多个web service 都有数据库连接我想让他们共享同一个连接怎么实现?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ddggggdd
2004-09-01
打赏
举报
回复
连接池应该可以满足,只要连接串相同,都会放在同一池中,如果非要别的办法,考虑一下连接工厂.
jamzh
2004-08-31
打赏
举报
回复
帮你顶!
fletcher
2004-08-31
打赏
举报
回复
还有更好的办法吗
pgwron
2004-08-30
打赏
举报
回复
心情不好,没分也回
Tomgus
2004-08-29
打赏
举报
回复
连接池允许应用程序从连接池中获得一个连接并使用这个连接,而不需要为每一个连接请求重新建立一个连接。一旦一个新的连接被创建并且放置在连接池中,应用程序就可以重复使用这个连接而不必实施整个数据库连接创建过程。
当应用程序请求一个连接时,连接池为该应用程序分配一个连接而不是重新建立一个连接;当应用程序使用完连接后,该连接被归还给连接池而不是直接释放。
如何实现连接池
确保你每一次的连接使用相同的连接字符串(和连接池相同);只有连接字符串相同时连接池才会工作。如果连接字符串不相同,应用程序就不会使用连接池而是创建一个新的连接。
优点
使用连接池的最主要的优点是性能。创建一个新的数据库连接所耗费的时间主要取决于网络的速度以及应用程序和数据库服务器的(网络)距离,而且这个过程通常是一个很耗时的过程。而采用数据库连接池后,数据库连接请求可以直接通过连接池满足而不需要为该请求重新连接、认证到数据库服务器,这样就节省了时间。
缺点
数据库连接池中可能存在着多个没有被使用的连接一直连接着数据库(这意味着资源的浪费)。
技巧和提示
1. 当你需要数据库连接时才去创建连接池,而不是提前建立。一旦你使用完连接立即关闭它,不要等到垃圾收集器来处理它。
2. 在关闭数据库连接前确保关闭了所有用户定义的事务。
3. 不要关闭数据库中所有的连接,至少保证连接池中有一个连接可用。如果内存和其他资源是你必须首先考虑的问题,可以关闭所有的连接,然后在下一个请求到来时创建连接池。
连接池FAQ
1. 何时创建连接池?
当第一个连接请求到来时创建连接池;连接池的建立由数据库连接的连接字符创来决定。每一个连接池都与一个不同的连接字符串相关。当一个新的连接请求到来时如果连接字符串和连接池使用的字符串相同,就从连接池取出一个连接;如果不相同,就新建一个连接池。
2. 何时关闭连接池?
当连接池中的所有连接都已经关闭时关闭连接池。
3. 当连接池中的连接都已经用完,而有新的连接请求到来时会发生什么?
当连接池已经达到它的最大连接数目时,有新的连接请求到来时,新的连接请求将放置到连接队列中。当有连接释放给连接池时,连接池将新释放的连接分配给在队列中排队的连接请求。你可以调用close和dispose将连接归还给连接池。
4. 我应该如何允许连接池?
对于.NET应用程序而言,默认为允许连接池。(这意味着你可以不必为这件事情做任何的事情)当然,如果你可以在SQLConnection对象的连接字符串中加进Pooling=true;确保你的应用程序允许连接池的使用。
5. 我应该如何禁止连接池?
ADO.NET默认为允许数据库连接池,如果你希望禁止连接池,可以使用如下的方式:
1) 使用SQLConnection对象时,往连接字符串加入如下内容:Pooling=False;
2) 使用OLEDBConnection对象时,往连接字符串加入如下内容:OLE DB Services=-4;
zhpsam109
2004-08-29
打赏
举报
回复
http://www.microsoft.com/china/msdn/events/featureevents/2004/MSDevTrainingCourse.mspx#XSLTsection124121120120
zhpsam109
2004-08-29
打赏
举报
回复
顶!
The123
2004-08-29
打赏
举报
回复
最好还是不要共享同一个连接,否则就会同楼上所说的
如果硬要使用,那就必须要用一个独立的线程监视这个连接了,一旦该连接被一个对象调用了,那其他需要调用这个连接的对象就排队等候吧,直到这个对象结束对连接的调用,下一个对象再上吧。呵呵,不知描述的是否清楚。
serf
2004-08-28
打赏
举报
回复
不要用静态连接对象,这样不管你的池有多大,只要不关闭,总是使用其中一个连接而已,容易产生访问冲突。
serf
2004-08-28
打赏
举报
回复
.net数据库连接池还没有特别明确的规格,目前是oleConnection和sqlConnection实现不一样。ole的是靠驱动程序的管理器去配置,程序内不用控制。sqlConnection是根据连接字符串确定连接池的,只要连接串同,就是使用的一个连接池。连接串内增加"Min Pool Size=x;Max Pool Size=y",x,y是池容纳连接的最小最大数限定。池是基于应用域,而不是进程管理的。
1979xt
2004-08-28
打赏
举报
回复
设一个静态的连接对象就行,不过共享连接容易造成使用时的冲突问题,而且.net中的连接对象并不是长连接的,对资源的消耗也不是很大,共享有什么好外吗?
从零开始实现C++ Tiny
Web
Server(四)---- 拨开云雾见天日,一文讲透线程池与
连接池
Pool
好吧,我承认有点标题党的成分所在。可能是最近干啥都比较急功近利,写博客也有种完成任务的感觉所在。我觉得我的大脑只能够单进程执行,多进程并发一起做不是我的风格,玩就是玩,学就是学,我最讨厌一边学一边玩了。我们总能在网上看到一些人告诫后人,要学会平衡生活和工作,但是根本不存在平衡,我们只能在某一个阶段聚焦于某一件事情。
web
activeMq
连接池
实现JMS消息发送连接管理
1.今天来说一下在使用到MQ时如果使用MQ的
连接池
。之前我也是没有注意到MQ也是有
连接池
的,后来因为系统之前实现每次创建和关闭链接消耗资源、宕机频繁,所以领导要求解决我才接触到。 我在网上看到的关于JMS的讲解还挺多,但是对于MQ
连接池
的讲解时大家都是讲如何在spring中配置
连接池
。首先采用spring配置后原系统加密配置的密码就成明文了,另外如果要改成spring发送那改动就大了。如果在不使用
web
logic
连接池
不释放
问题
解决_
web
logic
连接池
问题
总结(转载)
目录1. 概述 31.1 概述: 31.2 系统信息: 32.
连接池
问题
52. 1
问题
描述 52.2 错误日志分析 52.3
连接池
问题
总结 143. 其他
问题
143. 1 部署 143. 1 部署类型 151. 概述1.1 概述:应客户的要求,某局BATCH系统存在的
问题
进行诊断。经过日志分析及故障现象定位造成
问题
的原因,形成此份报告。为了提供系统的稳定和性能,建议针对性的修改一些参数(会...
Spring框架中获取
连接池
的四种方式
1、
连接池
概述 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库
连接池
正是针对这个
问题
提出来的。 数据库
连接池
负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没
Java数据库
连接池
几种方式及其特点
主流的数据库
连接池
在目前技术前沿比较流行的数据库
连接池
有:DBCP、Tomcat Jdbc Pool、BoneCP、Druid、C3P0等 DBCP:由Apache开发的一个Java数据库
连接池
项目, Jakarta commons-pool对象池机制,Tomcat使用的
连接池
组件就是DBCP。单独使用dbcp需要3个包:common-dbcp.jar,common-pool.jar,com...
Web Services
12,162
社区成员
16,328
社区内容
发帖
与我相关
我的任务
Web Services
.NET技术 Web Services
复制链接
扫一扫
分享
社区描述
.NET技术 Web Services
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章