使用proxool连接池,cpu占用率很高

给别人用springmvc 做的一个网站,数据库用的proxool配的连接池,服务器用的tomcat。但是启动后cpu占用率一下就上去了,阿里云的服务器,单核,2G内存,windows 2012

我用visualvm查看运行情况
![图片说明](https://img-ask.csdn.net/upload/201506/05/1433486315_435141.png)图片说明

 <?xml version="1.0" encoding="UTF-8"?> 
<something-else-entirely>
    <proxool>
        <alias>mysql</alias>
        <driver-url>jdbc:mysql://127.0.0.1:3306/lingshang1?rewriteBatchedStatements=true&amp;useUnicode=true&amp;characterEncoding=UTF-8</driver-url>
        <driver-class>com.mysql.jdbc.Driver</driver-class>
        <driver-properties>
            <property name="user" value="root" />
            <property name="password" value="root" />
        </driver-properties> 
    <house-keeping-sleep-time>90000</house-keeping-sleep-time> 
    <prototype-count>5</prototype-count> 
    <maximum-connection-count>50</maximum-connection-count> 
    <minimum-connection-count>5</minimum-connection-count>
    </proxool>
</something-else-entirely> 

3个回答

建议你去检查下mysql本身的配置.很多时候是由于mysql本身的配置,导致你的程序在getconnections的时候大量的等待时间,
而你又强制要求了最小连接数.所以程序一直在不停的去拿数据库连接.

yueyakk
yueyakk 嗯,谢谢,我去看看。
接近 5 年之前 回复

首先,看下项目代码中的连接资源使用完成后是否及时关闭了呢?
其次,proxool连接池配置中有一项houseKeepingTestSql,只有添加了这一项proxool才会自动侦测各个连接的状态并决定是否销毁或创建。

这是由于proxool中有两个监控线程使用了while(true),这就占据了两个线程的CPU处理能力,以我的CPU,4核8线程,就相当于占据了一个核的运算量,即有一个CPU看起来是100%的使用率。
目前这个问题还无法避免。
我刚刚测试了proxool, c3p0, hikaricp这3个连接池,还是hikaricp的效率高,但稳定性尚不知,另外hikaricp需要jdk1.7及以上的环境,对老系统来说,还不能使用。
建议换用c3p0吧,效率比proxool要高出一些。从其它评测来看,稳定性也不如c3p0。
还有其它人推荐的druid,没有测试过,不清楚如何。

yueyakk
yueyakk 回复中年風雨: 换了之后,cpu占用一下就下来了
4 年多之前 回复
yueyakk
yueyakk 我换了c3p0
4 年多之前 回复
pardream
中年風雨 更正一下,hikaricp有java1.6版本的。
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
SSH项目使用proxool管理连接池,项目正常运行,但是控制台一直弹错误:

SSH项目使用proxool管理连接池,项目正常运行,但是控制台一直弹错误: No suitable driver found for jdbc:mysql://127.0.0.1:3306/test at java.sql.DriverManager.getConnection(DriverManager.java:596) at java.sql.DriverManager.getConnection(DriverManager.java:187) at org.logicalcobwebs.proxool.DefaultConnectionBuilder.buildConnection(DefaultConnectionBuilder.java:39) at org.logicalcobwebs.proxool.Prototyper.buildConnection(Prototyper.java:159) at org.logicalcobwebs.proxool.Prototyper.sweep(Prototyper.java:102) at org.logicalcobwebs.proxool.PrototyperThread.run(PrototyperThread.java:44) 求解答

请问,使用proxool连接池时,动态增加新数据库

请问各位大大,我最近做一个项目需要连接很多数据库,而且这些数据库偶尔会变更或者新增,我一直习惯用proxool连接池的,但是今天研究了一天都没有看出应该怎么配置能实现proxool的动态新增数据库,请大家给我提个思路,谢谢啦。 PS:项目框架是JSF+Spring+iBatis+Proxool [b]问题补充:[/b] 也就是说用Proxool不能动态配置数据库了啊? :cry: [b]问题补充:[/b] 多个库我知道怎么配,关键就是项目的需要,必须能改和加 或者大家给我提个思路,换条路走呢,谢谢啦

s2sh配置proxool连接池的问题

我在一个s2sh项目中配置了proxool的连接池,使用都正常,但是就是不能监控proxool。因为报了一个错: Could not find action or result There is no Action mapped for action name proxool/. - [unknown location] 这个错应该是struts2报的,但我不知道怎样解决。 另个web.xml中关于proxool监控的配置如下: <servlet> <servlet-name>proxool</servlet-name> <servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>proxool</servlet-name> <url-pattern>/proxool</url-pattern> </servlet-mapping> 访问时用的http://localhost/proxool,这些应该都没有错,有哪位高人能解答一下吗?

Proxool+java+hibernate

java应用程序,使用Proxool连接池和hibernate,怎么把Proxool.xml放到指定的地方,比如项目下的conf目录,而不是一定要放在src源路劲下

关于hibernate 关闭proxool 链接池 链接问题

小弟最近做了一个小型web 项目 框架只使用了 hibernate 5.012 结合proxool连接池,在使用中通过代码查看连接池链接数时发现 hibernate 关闭链接时不能 将链接送回proxool 连接池 public static void closeSession(Session session) { if (session != null) { if (session.isOpen()) { session.close(); } } }

mysql 和proxool 数据库连接池的问题(连接定时递增)

我在Struts2.0 + Spring2.0 + hibernate3.2的应用中采用了proxool 数据库连接池。 proxool.xml的配置如下: <?xml version="1.0" encoding="utf-8"?> <something-else-entirely> <proxool> <alias>test</alias> <driver-url>jdbc:mysql://127.0.0.1:3306/testdb?useUnicode=true&amp;characterEncoding=utf-8</driver-url> <driver-class>com.mysql.jdbc.Driver</driver-class> <driver-properties> <property name="user" value="root"/> <property name="password" value="root"/> </driver-properties> <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql> <house-keeping-sleep-time>90000</house-keeping-sleep-time> <prototype-count>5</prototype-count> <maximum-connection-count>100</maximum-connection-count> <minimum-connection-count>10</minimum-connection-count> </proxool> </something-else-entirely> 在applicationContext.xml中 <!-- Hibernate-Spring配置 --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="mappingResources"> <list> <value>com/test/User.hbm.xml</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> <prop key="hibernate.show_sql">false</prop> <prop key="hibernate.connection.autocommit">true</prop> <prop key="hibernate.connection.release_mode">after_statement</prop> <prop key="hibernate.bytecode.use_reflection_optimizer">true</prop> <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop> <prop key="hibernate.connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider</prop> <prop key="hibernate.proxool.xml">proxool.xml</prop> <prop key="hibernate.proxool.pool_alias">test</prop> </props> </property> </bean> MySqL 的 my.ini 配置参数 max_connections=500 interactive_timeout=10000000 wait_timeout=10000000 proxool 的 maximum-connection-lifetime(连接最大生命时间)默认4小时,发现每隔4个小时,通过show status命令查看MySQl 的Connections 增加10个,很快就会到达max_connections的最大限制,虽然可以把max_connections设置为16000,但是这只是延长出问题的时间而已。请各位遇到这样情况的朋友指导如何解决? MySQL 版本5.0和4.1都试过,proxool 版本为 proxool-0.9.0RC3。 [b]问题补充:[/b] 蔡华江:谢谢指点。我在数据库的查询、更新等方面都是通过hibernate来完成的,如查询用户 public User findUserByUsername(String username) { String queryStr=PropertyOwner.getKeyValue("getuserwithname"); Session session = this.getSession(); Query query=getQuery(queryStr,session); query.setString("username", username); if(query.list().size()>0) { User tmp=(User)query.list().get(0); this.closeSession(session); return tmp; } else { this.closeSession(session); return null; } } 在程序的最后都有this.closeSession(session);这样的语句,难道数据连接没有关闭? [b]问题补充:[/b] 现在我怀疑是 this.closeSession(session); 没有关闭连接。因为Session session = this.getSession(); 利用getSession强制获得了Hibernate的 Session,这个Session可能是当前事务中之前使用过的,或者可能是一个新的,并不在当前事务中,Spring只对当前事务中的Session 进行关闭。参考“spring整合hibernate关于session的管理”(http://solodu.iteye.com/blog/454469),我修改Session session = super.getSession(true);运行10分钟后还是递增连接。说明还有其他的数据库连接没有释放。查看Proxool的监控界面可以看到连接情况0 (active), 10 (available), 100 (max)。 我怀疑一个定时保存的地方有问题 try { otherDAO.updataOrSave(tmpp); } catch (Exception e) { } ......>跟踪 public void updataOrSave(T domainObject) throws Exception { saveOrUpdate((Object)domainObject); } ......>继续跟踪 protected void saveOrUpdate(final Object obj)throws Exception { run ( new TransactionRunnable () { public Object run (Session s) { saveOrUpdate(obj, s); return null; } }); } ......>继续跟踪 protected void saveOrUpdate(Object obj, Session s) { s.saveOrUpdate(obj); } 请问上述代码有问题吗? [b]问题补充:[/b] 现在我把定时保存部分关闭了,照样有此问题。 [b]问题补充:[/b] 经过多次试验,增加连接的地方是类似这样的hibernate的操作 public History queryHistory(String queryStr,String entity,Date time) { Session session = this.getHibernateTemplate().getSessionFactory().openSession();//该句照样增加连接数 //getSession();//该句照样增加连接数 Query query=super.getQuery(queryStr,session); int size=query.list().size(); if(size>0) { History temp=(History)query.list().get(0); session.close(); return temp; } else { session.close(); return null; } } [b]问题补充:[/b] 现在问题是Proxool连接池里的连接ID老是递增(通过Proxool监控界面看),连接数是没有超过最大连接。请问各位好手如何解决啊? [b]问题补充:[/b] 这个问题竟然是我的理解错了。 MySQL的SHOW STATUS提供服务器的状态信息: Connections 试图连接MySQL服务器的次数,是不断增加,不是真正的目前连接数(与MySqL 的 my.ini 配置参数 max_connections无关,好多人都理解错误)。 真正有用的是下述几个 Threads_created 表示创建过的线程数,该值太大,就要增加my.cnf中thread_cache_size的值 Threads_connected 当前打开的连接的数量。 Threads_running 不在睡眠的线程数量。 Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量。 Aborted_connects 尝试已经失败的MySQL服务器的连接的次数。 感谢蔡华江的指导。

急求帮忙:SSH 使用 proxool 连接池的 报错问题。谢谢了。

问题报错的log是: [14:51:11.774] javax.servlet.ServletException: org.springframework.orm.hibernate3.HibernateSystemException: connnection proxy not usable after transaction completion; nested exception is org.hibernate.HibernateException: connnection proxy not usable after transaction completion [14:51:11.774] at org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:535) [14:51:11.774] at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:433) [14:51:11.774] at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) [14:51:11.774] at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) [14:51:11.774] at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414) [14:51:11.774] at javax.servlet.http.HttpServlet.service(HttpServlet.java:115) [14:51:11.774] at javax.servlet.http.HttpServlet.service(HttpServlet.java:92) [14:51:11.774] at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:106) [14:51:11.774] at com.caucho.server.webapp.DispatchFilterChain.doFilter(DispatchFilterChain.java:115) [14:51:11.774] at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229) [14:51:11.774] at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:277) [14:51:11.774] at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:106) [14:51:11.774] at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085) [14:51:11.774] at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398) [14:51:11.774] at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241) [14:51:11.774] at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) [14:51:11.774] at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414) [14:51:11.774] at javax.servlet.http.HttpServlet.service(HttpServlet.java:115) [14:51:11.774] at javax.servlet.http.HttpServlet.service(HttpServlet.java:92) [14:51:11.774] at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:106) [14:51:11.774] at net.iptv.server.sgActivity.util.encoding.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:117) [14:51:11.774] at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70) [14:51:11.774] at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:173) [14:51:11.774] at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229) [14:51:11.774] at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:274) [14:51:11.774] at com.caucho.server.port.TcpConnection.run(TcpConnection.java:514) [14:51:11.774] at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:520) [14:51:11.774] at com.caucho.util.ThreadPool.run(ThreadPool.java:442) [14:51:11.774] at java.lang.Thread.run(Thread.java:595) [14:51:11.774] Caused by: org.springframework.orm.hibernate3.HibernateSystemException: connnection proxy not usable after transaction completion; nested exception is org.hibernate.HibernateException: connnection proxy not usable after transaction completion [14:51:11.774] at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:661) [14:51:11.774] at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412) [14:51:11.774] at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:424) [14:51:11.774] at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:339) spring 配置: <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName"> <value>org.logicalcobwebs.proxool.ProxoolDriver</value> </property> <property name="url"> <value>proxool.db</value> </property> </bean> Proxool.xml配置文件: <?xml version="1.0" encoding="UTF-8"?> <proxool-config> <proxool> <alias>db</alias> <driver-url>jdbc:jtds:sqlserver://120.165.19.16:1433/activity</driver-url> <driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class> <driver-properties> <property name="user" value="ma" /> <property name="password" value="123456" /> </driver-properties> <house-keeping-sleep-time>90000</house-keeping-sleep-time> <maximum-new-connections>20</maximum-new-connections> <prototype-count>3</prototype-count> <minimum-connection-count>20</minimum-connection-count> <maximum-connection-count>30</maximum-connection-count> </proxool> </proxool-config> hibernate.cfg.xml 配置: <hibernate-configuration> <session-factory> <!-- proxool连接池加载的类--> <property name="hibernate.connection.provider_class"> org.hibernate.connection.ProxoolConnectionProvider </property> <!--连接池的别名,即配置连接池时起的别名--> <property name="hibernate.proxool.pool_alias">db</property> <!--连接池文件的地址--> <property name="hibernate.proxool.xml"> WEB-INF/proxool.xml </property> <!--是否将运行期生成的SQL输出到日志以供调试--> <property name="show_sql">true</property> <!--指定连接的语言--> <property name="dialect"> org.hibernate.dialect.SQLServerDialect </property> <property name="hibernate.proxool.existing_pool">true</property> </session-factory> </hibernate-configuration>

项目连接池总是提示连接数超了 proxool.xml 里面配置属性貌似不管用啊

proxool.xml 里面的配置属性 house-keeping-sleep-time:90000 maximum-active-time:180000 maximum-connection-lifetime:300000 都试了 一段时间后还是报连接数超了。 日志显示:Couldn't get connection because we are at maximum connection count (50/50) and there are none available 这个还有其他的解决办法吗

项目连接池总是提示连接数超了 proxool.xml 里面配置属性貌似不管用啊

proxool.xml 里面的配置属性 house-keeping-sleep-time:90000 maximum-active-time:180000 maximum-connection-lifetime:300000 都试了 一段时间后还是报连接数超了。 日志显示:Couldn't get connection because we are at maximum connection count (50/50) and there are none available

myeclipse使用proxool连接sqlserver数据库出现错误

错误信息如下: 严重: Servlet.service() for servlet [action] in context with path [/PersonalBlogSystem] threw exception [java.lang.ExceptionInInitializerError] with root cause 实在是不知道从何下手啊,有没有遇到过同样错误的,请指点一下,谢谢。

数据库连接池报错问题

数据库连接池信息 <!-- 数据源配置, 使用proxool连接池 --> <bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource"> <property name="alias" value="BAP database" /> <property name="driver" value="${jdbc.driver}" /> <property name="driverUrl" value="${jdbc.url}"/> <property name="user" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <!-- 最少保持的空闲连接数 --> <property name="prototypeCount" value="2" /> <!-- proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁,默认30秒,我们设置60秒 --> <property name="houseKeepingSleepTime" value="60000" /> <!-- 最大活动时间(超过此时间线程将被kill,默认5分钟) --> <!-- <property name="maximumActiveTime" value=""/> --> <!-- 最小连接数据 --> <property name="minimumConnectionCount" value="${jdbc.minConnection}" /> <!-- 最大连接数 --> <property name="maximumConnectionCount" value="${jdbc.maxConnection}" /> <!-- 测试的sql语句 --> <property name="houseKeepingTestSql" value="${jdbc.testSQL}" /> </bean> 现在项目启动报错,mysql已修改timeout时间,因为是在别人项目基础上改动,不考虑还c3p0连接池,该如何修改求大神指点下![报错信息](https://img-ask.csdn.net/upload/201709/14/1505361116_456865.png)

myeclipse使用proxool连接sqlserver配置出现的问题

出现的错误显示如下: Attempt to refer to a unregistered pool by its alias 上网查的主要原因是使用java Application调试,使用jsp就不会出现问题,但是我使用的就是jsp调试的,我觉得是配置文件的问题,proxool.xml或者web.xml,但具体从哪调试却无从下手,求高手指点。

spring+struts2+hibernate 中如何用proxool配置连接池

自己在网上找了些spring配置proxool的例子,但都没有成功,不知道问题到底出在哪里! applicationcontext.xml ------------------------- <bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource" destroy-method="close"> <property name="alias"> <value>proxool</value> </property> <property name="driver"> <value>oracle.jdbc.driver.OracleDriver</value> </property> <property name="driverUrl"> <value>jdbc:oracle:thin:user/password@localhost:1521:myServer</value> </property> <property name="user"> <value>tset</value> </property> <property name="password"> <value>test</value> </property> <property name="houseKeepingSleepTime"> <value>90000</value> </property> <property name="prototypeCount"> <value>5</value> </property> <property name="maximumConnectionCount"> <value>100</value> </property> <property name="minimumConnectionCount"> <value>10</value> </property> <property name="trace"> <value>true</value> </property> <property name="verbose"> <value>true</value> </property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource"/> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.Oracle9Dialect </prop> </props> </property> <property name="mappingResources"> <list> <value>com/pojo/ServerInfo.hbm.xml</value> <value>com/pojo/MPermissionsMappingInfo.hbm.xml</value> </list> </property> </bean> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"/> </bean> <bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor"> <property name="transactionManager" ref="transactionManager"/> <property name="transactionAttributes"> <props> <prop key="*">PROPAGATION_REQUIRED</prop> </props> </property> </bean> <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> <property name="beanNames"> <list> <value>*Service</value> </list> </property> <property name="interceptorNames"> <list> <value>transactionInterceptor</value> </list> </property> </bean> ----------------------------------- proxool.xml <?xml version="1.0" encoding="UTF-8"?> <proxool-config> <proxool> <alias>proxool</alias> <driver-url>jdbc:oracle:thin:@localhost:1521:myServer</driver-url> <driver-class>oracle.jdbc.driver.OracleDriver</driver-class> <driver-properties> <property name="user" value="test"/> <property name="password" value="test"/> </driver-properties> <maximum-connection-count>10</maximum-connection-count> <house-keeping-test-sql>select 1 from dual</house-keeping-test-sql> </proxool> </proxool-config> ------------------------------------------- web.xml <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation </param-name> <param-value>/WEB-INF/classes/applicationContext.xml</param-value> </context-param> <servlet> <servlet-name>proxoolServletConfigurator</servlet-name> <servlet-class>org.logicalcobwebs.proxool.configuration.ServletConfigurator</servlet-class> <init-param> <param-name>xmlFile</param-name> <param-value>WEB-INF/proxool.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet> <servlet-name>proxooladmin</servlet-name> <servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>proxooladmin</servlet-name> <url-pattern>/proxooladmin</url-pattern> </servlet-mapping> ----------------------------------------------------------------------- 按照以上配置文件设置后运行在tomcat中有如下错误: 严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'datasource' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Instantiation of bean failed; nested exception is java.lang.AbstractMethodError: org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator.determineConstructor(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Constructor; Caused by: java.lang.AbstractMethodError: org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator.determineConstructor(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Constructor; at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineConstructorFromBeanPostProcessors(AbstractAutowireCapableBeanFactory.java:743) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:716) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:387) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352) at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:244) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:187) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3934) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4429) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:987) at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:909) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:495) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardHost.start(StandardHost.java:722) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:516) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:583) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) 2010-1-21 17:42:31 org.apache.catalina.core.StandardContext start 严重: Error listenerStart 先谢过!

连接池的Connection问题

<div class="iteye-blog-content-contain" style="font-size: 14px;"> <p>项目中使用了proxool数据源,配置了静态创建连接类。</p> <p> </p> <pre name="code" class="java">public class DBConnection { public static Connection getConn() throws Exception{ return DriverManager.getConnection("proxool.db_master"); } public static void closeDB(Connection conn){ try{ if (conn!=null) conn.close(); }catch (Exception e) { // TODO: handle exception } }}</pre> <p> <span style="line-height: 1.5;">那这样使用的时候还需不需要调用Connection.close()方法呢?</span></p> <p>try{conn.close();conn=null;}catch(Exception e){}</p> <p>这个close方法是直接调用了java.sql.Connection.close()方法,这样是不是绕过连接池直接关闭 Conn了呢?</p> <p>如果需要那么Connection就是我手动关闭的,跟连接池没什么关系?<br> 如果不关闭的话那是什么时候关闭呢?<br> 请达人给我解释一下。               </p> </div>

Hibernate3.2+Mysql+Tomcat的中型企业应用用选择哪个连接池最稳定?

目前正开发某企业内部的办公系统,日常同时在线人数500左右。 开源连接池可选的很多: A,Tomcat自带的DBCP B,Hibernate支持的单独DBCP C,C3P0 D,proxool E,其它 希望大家能能给出一个最优的选择,十分感谢! [b]问题补充:[/b] 听取了大家的建议,于前天(2008-06-28)替换掉了以前tomcat自带的DBCP连接池,改为了C3P0,配置如 下: [code] <property name="c3p0.min_size">10</property><!--连接池的最小连接数--> <property name="c3p0.max_size">50</property><!--最大连接数--> <property name="c3p0.timeout">100</property><!--连接超时时间--> <!--每隔100秒检测连接是否可正常使用 --> <property name="c3p0.idle_test_period">100</property> <!--当池中的连接耗尽的时候,一次性增加的连接数量,默认为3--> <property name="hibernate.c3p0.acquire_increment">3</property> <!--statemnets缓存大小--> <property name="c3p0.max_statements">150</property> [/code] 原来的DBCP配置 [code] <Resource maxActive="200" maxIdle="60" maxWait="-1" /> [/code] 今天(2008-06-30)访问量达到了200,并且某一瞬间并发查询达到了150左右。出现用DBCP时未出现过的 问题:瞬间打开页面很慢,并有部分用户超时掉线,我估计是我C3P0设置的问题。并提高悬赏5分,请大家 给予回答!

Javaweb在Java类的main方法中无法通过Proxool连接数据库

Javaweb在Java类的main方法中无法通过Proxool连接数据库,报SQLException,找不到驱动,同样的代码启动tomcat后在服务器中能运行???????![图片说明](https://img-ask.csdn.net/upload/201509/06/1441530878_72376.png)

proxool 监控页面怎么理解(Connections: 0 (active), 6 (available), 20 (max))

proxool 监控页面 0 (active),是什么意思,什么时候会变化

proxool连接sqlserver出现类似假死现象的问题

在项目中通过proxool配置jdbc连接sqlserver。 配置文件如下: proxool.xml <?xml version="1.0" encoding="ISO-8859-1"?> <something-else-entirely> <proxool> <alias>pool</alias> <driver-url>jdbc:sqlserver://localhost:1433;DatabaseName=xibowork</driver-url> <driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class> <driver-properties> <property name="user" value="sa"/> <property name="password" value="密码"/> </driver-properties> <maximum-connection-count>1000</maximum-connection-count> <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql> </proxool> </something-else-entirely> web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name></display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>ServletConfigurator</servlet-name> <servlet-class>org.logicalcobwebs.proxool.configuration.ServletConfigurator</servlet-class> <init-param> <param-name>xmlFile</param-name> <param-value>WEB-INF/proxool.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!-- zh-cn encoding --> <filter> <filter-name>struts-cleanup</filter-name> <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class> </filter> <filter-mapping> <filter-name>struts-cleanup</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping> </web-app> 最后通过 Class.forName( "org.logicalcobwebs.proxool.ProxoolDriver" ); conn = DriverManager.getConnection("proxool.pool"); 获取连接,都是按照常规来配置的,myeclipse不报错。问题就来了。 在运行到conn = DriverManager.getConnection("proxool.pool");[b]即不报错也无法取得conn,就是说类似在这句话上假死了一样[/b], 求大牛解惑,急

proxool的简单问题

各位大侠: 你们好,我在用proxool获取外网地址的MySQL数据库连接会报: java.sql.SQLException: Access denied for user ''@'222.1.1.1' (using password: YES) 但直接使用JDBC的方法却可以连接上,MySQL数据库的用户名和密码都配置正确了,而且可以获取同台机子上的其他数据库的获取。 这是什么回事呢?

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

你以为这样写Java代码很6,但我看不懂

为了提高 Java 编程的技艺,我最近在 GitHub 上学习一些高手编写的代码。下面这一行代码(出自大牛之手)据说可以征服你的朋友,让他们觉得你写的代码很 6,来欣赏一下吧。 IntStream.range(1, 5).boxed().map(i -&gt; { System.out.print("Happy Birthday "); if (i == 3) return "dear NAME"...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

程序员写出这样的代码,能不挨骂吗?

当你换槽填坑时,面对一个新的环境。能够快速熟练,上手实现业务需求是关键。但是,哪些因素会影响你快速上手呢?是原有代码写的不够好?还是注释写的不够好?昨夜...

带了6个月的徒弟当了面试官,而身为高级工程师的我天天修Bug......

即将毕业的应届毕业生一枚,现在只拿到了两家offer,但最近听到一些消息,其中一个offer,我这个组据说客户很少,很有可能整组被裁掉。 想问大家: 如果我刚入职这个组就被裁了怎么办呢? 大家都是什么时候知道自己要被裁了的? 面试软技能指导: BQ/Project/Resume 试听内容: 除了刷题,还有哪些技能是拿到offer不可或缺的要素 如何提升面试软实力:简历, 行为面试,沟通能...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

Python爬虫,高清美图我全都要(彼岸桌面壁纸)

爬取彼岸桌面网站较为简单,用到了requests、lxml、Beautiful Soup4

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

Java岗开发3年,公司临时抽查算法,离职后这几题我记一辈子

前几天我们公司做了一件蠢事,非常非常愚蠢的事情。我原以为从学校出来之后,除了找工作有测试外,不会有任何与考试有关的事儿。 但是,天有不测风云,公司技术总监、人事总监两位大佬突然降临到我们事业线,叫上我老大,给我们组织了一场别开生面的“考试”。 那是一个风和日丽的下午,我翘着二郎腿,左手端着一杯卡布奇诺,右手抓着我的罗技鼠标,滚动着轮轴,穿梭在头条热点之间。 “淡黄的长裙~蓬松的头发...

大牛都会用的IDEA调试技巧!!!

导读 前天面试了一个985高校的实习生,问了他平时用什么开发工具,他想也没想的说IDEA,于是我抛砖引玉的问了一下IDEA的调试用过吧,你说说怎么设置断点...

面试官:你连SSO都不懂,就别来面试了

大厂竟然要考我SSO,卧槽。

立即提问
相关内容推荐