c3p0

Javaweb项目中出现java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized...

不羁的心 提交于 2021-02-13 17:13:31
javaweb项目中java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone. 异常,如下图: 服务器时区值“????±××?±?无法识别或代表一个以上的时区。如果希望利用时区支持,则必须配置服务器或JDBC驱动程序(通过serverTimezone配置属性)以使用更具体的时区值。 修改从c3p0-config.xml配置文件 < default -config> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql://localhost/hejh ?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC</property> <property name="user">root</property> <property name="password">root</property> <property name=

HikariCP

江枫思渺然 提交于 2021-02-12 03:13:51
数据库连接池技术 数据库连接池负责分配、管理和释放数据库的连接。 数据库连接复用。重复使用现有的数据库连接,可以避免连接频繁建立、关闭的开销。 统一的连接管理。释放空闲时间超过最大空闲时间的数据库连接,避免因为没有释放数据库连接而引起的数据库连接泄漏。 HikariCP 字节码精简:优化代码,直到编译后的字节码最少,这样,CPU缓存可以加载更多的程序代码; 优化代理和拦截器:减少代码,例如HikariCP的Statement proxy只有100行代码,只有BoneCP的十分之一; 自定义数组类型(FastStatementList)代替ArrayList:避免每次get()调用都要进行range check,避免调用remove()时的从头到尾的扫描; 自定义集合类型(ConcurrentBag):提高并发读写的效率; 其他针对BoneCP缺陷的优化,比如对于耗时超过一个CPU时间片的方法调用的研究(但没说具体怎么优化)。 数据库连接中断的情况测试: HikariCP:等待5秒钟后,如果连接还是没有恢复,则抛出一个SQLExceptions 异常;后续的getConnection()也是一样处理; C3P0:完全没有反应,没有提示,也不会在“CheckoutTimeout”配置的时长超时后有任何通知给调用者;然后等待2分钟后终于醒来了,返回一个error; Tomcat

c3p0 connection pool without testing on either check-in or check-out

半城伤御伤魂 提交于 2021-02-10 15:51:45
问题 From the c3p0 documentation: For some applications, high performance is more important than the risk of an occasional database exception. In its default configuration, c3p0 does no Connection testing at all. Setting a fairly long idleConnectionTestPeriod , and not testing on checkout and check-in at all is an excellent, high-performance approach. If I understand the meaning of the c3p0 configuration properties correctly, if the database becomes unavailable for a short period of time and then

Connections checking in c3p0 pool

我的梦境 提交于 2021-02-06 12:47:07
问题 I'm developing with Java SE application using Hibernate 4 and c3p0 for communication with MariaDB database. It's long running application, waiting for signals from outside, so sometimes database closes my connections after 8 hours of inactivity. I tried to configure c3p0 connections validating but it's not working. Could you help me? Error log (thrown during named query execution): 2014-10-27 08:10:19.062 ERROR [trans] com.example.runnable.T1 - Exception thrown during event processing,

Connections checking in c3p0 pool

我只是一个虾纸丫 提交于 2021-02-06 12:46:26
问题 I'm developing with Java SE application using Hibernate 4 and c3p0 for communication with MariaDB database. It's long running application, waiting for signals from outside, so sometimes database closes my connections after 8 hours of inactivity. I tried to configure c3p0 connections validating but it's not working. Could you help me? Error log (thrown during named query execution): 2014-10-27 08:10:19.062 ERROR [trans] com.example.runnable.T1 - Exception thrown during event processing,

Reasons why resources in c3p0 cannot get checked out?

吃可爱长大的小学妹 提交于 2021-01-27 20:30:23
问题 So I was looking into the c3p0 API to debug one of our production issues which was resulting in a stack overflow error while checking out a connection. I found below comments in BasicResourcePool class's checkoutResource method: /* * This function recursively calls itself... under nonpathological * situations, it shouldn't be a problem, but if resources can never * successfully check out for some reason, we might blow the stack... * * by the semantics of wait(), a timeout of zero means

缓冲&缓存&对象池概念的理解

倖福魔咒の 提交于 2021-01-16 04:55:06
一)、缓冲 作用:缓解程序上下层之间的性能差异。 1)、当上层组件的性能优于下层组件时加入缓冲机制可以减少上层组件对下 层组件的等待时间。 2)、上层组件不需要等待下层组件接收全部数据,即可返回操作,加快了上 层组件的处理速度。 缓冲的应用: JDK的I/O组件提供了缓冲功能。 例:当对文件进行写操作时需要从内存中读取数据写入到硬盘,此时,文件从 内存中的读取速度比写入硬盘的速度快,此时就出现了上层组件的性能优 于下层组件的情况,此时可以加入缓冲机制BufferInputStream()先将数据 写入缓冲区,再将数据写道硬盘中。 二)、缓存 定义:是一块为提高系统性能的内存空间。 作用:暂存数据处理结果,并提供下次访问使用。 应用场景: 数据处理或数据获取可能会非常耗时,当数据的请求量很大时,频繁的数据处 理会耗尽cpu资源。 简单缓存的实现:直接使用HashMap 弊端: 1)、不知道应该何时清理无效数据。 2)、如何防止数据过多导致内存溢出。 基于java的缓存框架: EHCache: Hibernate默认的数据缓存解决方案。 OSCache: 由OpenSymphony设计的,可以缓存任何对象,甚至是缓存 部分JSP页面,或者Http请求。 JBossCache: 由JBoss开发,可用于JBoss集群间数据共享的缓存框架。 缓存的应用

SpringBoot微服务

大城市里の小女人 提交于 2021-01-14 05:22:42
  在企业级软件的架构模型上,我们主要讨论下SOA与微服务架构。   SOA的全称是Service-Oriented Architecture,可译为“面向服务的架构”,它是一个组件模型,将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。   SOA是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。SOA可以看作是B/S模型、XML(标准通用标记语言的子集)/Web Service技术之后的自然延伸。   SOA服务具有平台独立的自我描述XML文档。Web服务描述语言(WSDL, Web Services Description Language)是用于描述服务的标准语言。   SOA 服务用消息进行通信,该消息通常使用XML Schema来定义(也叫做XSD, XML Schema Definition)。消费者和提供者或消费者和服务之间的通信多见于不知道提供者的环境中。服务间的通讯也可以看作企业内部处理的关键商业文档。   在一个企业内部,SOA服务通过一个扮演目录列表(directory listing)角色的登记处(Registry

【转】mysql交互式连接&非交互式连接

ぐ巨炮叔叔 提交于 2021-01-12 19:07:04
交互式操作:通俗的说,就是你在你的本机上打开mysql的客户端,就是那个黑窗口,在黑窗口下进行各种sql操作,当然走的肯定是tcp协议。 非交互式操作:就是你在你的项目中进行程序调用。比如一边是tomcat web服务器,一边是数据库服务器,两者怎么通信?在java web里,我们通常会选择hibernate或者是jdbc来连接。那么这时候就是非交互式操作。 在之前,我基本上不关系这两个属性,都是用的是mysql服务商推荐的默认值,就是8小时。 但是,从昨天开始,由于在新网租用了一个空间,而他的mysql的wait_time设置了10s,所以引出来一系列的问题,就顺便来研究下。 或者这个标题可以改为“mysql的8小时自动关闭”问题,这个标题你到百度上搜搜,一搜一大堆,但是都没有讲明白,今天我就给大家来说说这两个值。 一、概念 1)interactive_time:是指如果空余Ns(N就是这个属性的值),那么就会自动关闭mysql的连接。关闭什么样的mysql连接?在之前,我们在《 什么是mysql的交互式操作和非交互式操作? 》 这篇文章中讲到,mysql是有两种操作方式,那就有两种连接的,一种是交互式,一种是非交互式。而这个属性控制的是交互式。就是你打开一个mysql客 户端黑窗口,进入操作之后,又隔了Ns你不操作了,之后你想继续操作,对不起

学习shiro第二天

泄露秘密 提交于 2020-12-31 09:31:40
昨天讲了shiro的认证流程以及代码实现,今天将对这个进行扩展。 因为我们的测试数据是shiro.ini文件中配置的静态数据,但实际上数据应该从数据库中查询出来才合理,因此我们今天讲讲JdbcRealm的使用。 本次需要的jar包如下: commons-beanutils-1.9.3.jar commons-logging-1.2.jar jcl-over-slf4j-1.7.12.jar log4j-1.2.16.jar shiro-all-1.4.1.jar slf4j-api-1.7.25.jar slf4j-log4j12-1.6.4.jar mysql-connector-java-5.1.47.jar mchange-commons-java-0.2.11.jar c3p0-0.9.5.2.jar IniSecurityManagerFactory部分源码: public static final String MAIN_SECTION_NAME = " main " ; public static final String SECURITY_MANAGER_NAME = " securityManager " ; public static final String INI_REALM_NAME = " iniRealm " ; ...... protected