‘壹’ java连接websphere连接池(DB2的)代码谁给我个啊谢谢了
ibm的东西我用了5年了,这东西用不好的话挺麻烦,用好了倒是很方便。
你的问题可能在于您的项目中已经具备db2所需的3个jar包,而websphere中已经包含这几个jar包,很有可能是冲突导致。解决办法就是使用jndi方式配置数据源。
这样做的好处就是避免和websphere中的某些jar冲突,除了数据库之外还有报表,任务调度等jar包都有可能冲突,但不是绝对的。
希望你能尽快解决。
可以看看ibm的官方文档,虽然不方便,但是ibm的文档就是这模样。
另外,站长团上有产品团购,便宜有保证
‘贰’ 数据库连接池
在实际应用开发中,特别是在WEB应用系统中,如果JSP、Servlet或EJB使用JDBC直接访问数据库中的数据,每一次数据访问请求都必须经历建立数据库连接、打开数据库、存取数据和关闭数据库连接等步骤,而连接并打开数据库是一件既消耗资源又费时的工作,如果频繁发生这种数据库操作,系统的性能必然会急剧下降,甚至会导致系统崩溃。数据库连接池技术是解决这个问题最常用的方法,在许多应用程序服务器(例如:Weblogic,WebSphere,JBoss)中,基本都提供了这项技术,无需自己编程,但是,深入了解这项技术是非常必要的。
数据库连接池技术的思想非常简单,将数据库连接作为对象存储在一个Vector对象中,一旦数据库连接建立后,不同的数据库访问请求就可以共享这些连接,这样,通过复用这些已经建立的数据库连接,可以克服上述缺点,极大地节省系统资源和时间。
数据库连接池的主要操作如下:
(1)建立数据库连接池对象(服务器启动)。
(2)按照事先指定的参数创建初始数量的数据库连接(即:空闲连接数)。
(3)对于一个数据库访问请求,直接从连接池中得到一个连接。如果数据库连接池对象中没有空闲的连接,且连接数没有达到最大(即:最大活跃连接数),创建一个新的数据库连接。
(4)存取数据库。
(5)关闭数据库,释放所有数据库连接(此时的关闭数据库连接,并非真正关闭,而是将其放入空闲队列中。如实际空闲连接数大于初始空闲连接数则释放连接)。
(6)释放数据库连接池对象(服务器停止、维护期间,释放数据库连接池对象,并释放所有连接)。
‘叁’ websphere mysql 连接池报错
首先检查jdbc提供程序的版本,路径是否正确;
检查数据源jdbc/pgw的ip地址,用户名密码,数据库sid都对吗?
看上面的错误有连接超时,方法调用时找不到的错误等,先检查下,看看
‘肆’ 请教Websphere的JDBC连接池的配置
您好,很高兴为您解答。
看一下:http://bbs.csdn.net/topics/50493897
如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】
希望我的回答对您有所帮助,望采纳!
~ O(∩_∩)O~
‘伍’ 您好 我想请问一下websphere中间件能够提供数据库连接池的信息吗该如何获得呢
你是想问websphere能不能够配置连接池吗?
‘陆’ 什么是数据库连接池,有什么作用
数据库连接是一种有限的昂贵的资源,
数据库连接影响到程序的性能指标。
数据库连接池正是针对这个问题提出来的。数据库连接池负责分配、
管理和释放数据库连接,
它允许应用程序重复使用一个现有的数据库连接,
而再不是重新建立一个;
释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数
据库连接而引起的数据库连接遗漏。
这项技术能明显提高对数据库操作的性能。
‘柒’ websphere 数据库连接池比其他连接池好么
websphere的连接池
还是先来段题外话:记得有人说过,websphere只有版本6以后才算是websphere,个人很赞同。websphere 5以及以前的版本。。。还是忘了吧。
其实websphere的连接池秉承ibm一贯的风格:功能强大,使用复杂:
进入控制台使用“JDBC提供程序”功能菜单进行连接池的基本配置,一路下来,不同的数据库配置方式不尽相同,最奇怪的是还要单独手工加上user和password参数,如果没有
资料指导的话还真是摸不着头脑。这些基本设置还是网上找吧很多的。连接池设置完还需要设置数据源,jndi名字一样与之前的对应:jdbc/myapp
高级设置包括初始化连接数,最大连接,连接有效性检查,不使用超时。
连接池监控:使用运行监控菜单,里边会有一个监控项目选择,选jdbc监控即可,可恶的是一开始弹出什么服务器操作系统需要安装什么图形化控件,选择是那么就得去找到控件在操作系统(linux)下安装,然后很多的依赖组件都没有。。。搞了半天才发现选择否,监控数据以及图形一样能出来嘛,真是要怒了。
虽然经过一番波折但是监控的内容还是很强大的,就连接池来说一样包括当前连接数、曾经达到的峰值、可以使用的连接数、从数据库打开的连接数、曾经关闭的连接数。。。其中前3项是我最关注的,比较奇怪的现象是应用刚启动的时候已开启的连接数量竟然没有达到初始定义的连接数量,不清楚websphere是怎么个计算机制。
另外在压力大的时候可使用的连接数会是负数,当时很奇怪,想想也了然了,那个负数肯定是排队等待的数量了
使用评价:在具体项目应用中,此连接池的持续运行的稳定性相当强,在大并发量的压力下性能也足够优秀,另外在一些异常情况下连接池里的连接能够及时释放,连接池监控配置有些复杂,但是配置好后各项指标一目了然并且有图形显示 。
总结:
这种商业级别的连接池功能强大,使用稳定,性能优秀,监控到位。
下面这个话题可能和比较本身没有直接关系,但个人认为应该是更有价值的一些经验分享吧,那就是---这么多指标配置,那些最大和最小连接数以及其他一些必要的配置指标,在一个正式的生产项目中到底应该配置什么值呢?
其实这个值首先还是要根据具体的项目情况、数据规模以及并发数来制定的(尽管像是套话,但是我们研发人员严谨的作风还是必要的:)。具体而言在中型偏小型的项目--给个数值把,用户数300到3000,数据量100万到1亿---中,建议websphere最小200最大300,前提是设置的最小内存要在1G以上,当然如果条件允许内存越大越好,不过32位机内存1.5G的限制是一定的(64位嘛我愿意设个4G内存过来,速度提升的感觉很爽啊)。这个数字出来以后相信会有不少问题要抛过来,
1 为什么是200或300而不是更高?
回答: 再分配多了效果也不大了,一个是应用服务器维持这个连接数需要内存支持,刚才说了32位的机器只能支持到1.5G,并且维护大量的连接进行分配使用对cpu也是一个不小的负荷,因此不宜太大。
2 为什么不小一点?
回答: 如果太小,那么在上述规模项目的并发量以及数据量上来以后会造成排队现象,系统会变慢,数据库连接会经常打开和关闭,性能上有压力,用户体验也不好。
3 为什么websphere最小最大不一样
回答: 其实和分配内存的最小最大值的情况一样,一般都推荐2个值应该一致,都放在内存里就好了嘛。但是ibm官方推荐2个值要有区别---官方说法还是要听的
4 其他开源连接池的分配方案还没说呢?
回答: 开源的个人认为到100就可以了,再高他也不会太稳定,当然1G的最小内存是一定要给tomcat分的
‘捌’ 求助,webshpere下数据源连接问题
有两个可能:
1、数据源配置错误。如没有设置好数据库登录用户名及密码。
2、没有指定ojdbc14.jar路径,可以在控制台中,环境-Websphere变量-ORACLE_JDBC_DRIVER_PATH中指定ojdbc14.jar访问路径
‘玖’ websphere+oracle连接池不稳定,求助分析
可以的。首先应加入连接池和数据库连接的配置文件:数据库连接包:ojdbc6.jar数据库连接池包:commons-pool2-2.2.jarcommons-dbcp2-2.0.jar数据库连接配置文件:config.properties使用连接池连接一定不要忘记关闭否则会很倒霉DBHelper的写法importjava.io.IOException;importjava.io.InputStream;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.util.Properties;importorg.apache.commons.dbcp2.BasicDataSource;publicclassDBHelper{=newBasicDataSource();static{InputStreamis=DBHelper.class.getResourceAsStream("config.properties");Propertiesprop=newProperties();try{prop.load(is);ds.setDriverClassName(prop.getProperty("driver"));ds.setUrl(prop.getProperty("url"));ds.setUsername(prop.getProperty("username"));ds.setPassword(prop.getProperty("password"));System.out.println(ds.getDriverClassName()+ds.getUrl());}catch(IOExceptione){e.printStackTrace();}finally{try{if(is!=null)is.close();}catch(IOExceptione){e.printStackTrace();}}}()throwsSQLException{returnds.getConnection();}publicstaticvoidclose(ResultSetrs,PreparedStatementps,Connectionconn){try{if(rs!=null)rs.close();if(ps!=null)ps.close();if(conn!=null)conn.close();}catch(SQLExceptione){e.printStackTrace();}}}config.properties文件配置:driver=oracle.jdbc.driver.OracleDriverurl=jdbc\:oracle\:thin\:@10.141.42.119\:1521\:orclusername=hdid01password=hdid01
‘拾’ websphere 发布web项目启动问题
通俗的讲,web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。确切一点,你可以说:web服务器专门处理http请求(request),但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑(business
logic)。
web服务器(web
server)
web服务器可以解析(handles)http协议。当web服务器接收到一个http请求(request),会返回一个http响应(response),例如送回一个html页面。为了处理一个请求(request),web服务器可以响应(response)一个静态页面或图片,进行页面跳转(redirect),或者把动态响应(dynamic
response)的产生委托(delegate)给一些其它的程序例如cgi脚本,jsp(javaserver
pages)脚本,servlets,asp(active
server
pages)脚本,服务器端(server-side)javascript,或者一些其它的服务器端(server-side)技术。无论它们(译者注:脚本)的目的如何,这些服务器端(server-side)的程序通常产生一个html的响应(response)来让浏览器可以浏览。
要知道,web服务器的代理模型(delegation
model)非常简单。当一个请求(request)被送到web服务器里来时,它只单纯的把请求(request)传递给可以很好的处理请求(request)的程序(服务器端脚本)。web服务器仅仅提供一个可以执行服务器端(server-side)程序和返回(程序所产生的)响应(response)的环境,而不会超出职能范围。服务器端(server-side)程序通常具有事务处理(transaction
processing),数据库连接(database
connectivity)和消息(messaging)等功能。
虽然web服务器不支持事务处理或数据库连接池,但它可以配置(employ)各种策略(strategies)来实现容错性(fault
tolerance)和可扩展性(scalability),例如负载平衡(load
balancing),缓冲(caching)。集群特征(clustering—features)经常被误认为仅仅是应用程序服务器专有的特征。