它说,我似乎无法让hibernate使用c3p0进行连接池
12:30:35,038 INFO DriverManagerConnectionProvider:64 - Using Hibernate built-in connection pool (not for production use!)
12:30:35,038 INFO DriverManagerConnectionProvider:65 - Hibernate connection pool size: 20
Run Code Online (Sandbox Code Playgroud)
Hibernate配置:
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/xxx?autoReconnect=true</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">xxxx</property>
<property name="show_sql">false</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<property name="hibernate.c3p0.min_size">5</property>
<property name="hibernate.c3p0.max_size">200</property>
<property name="hibernate.c3p0.max_statements">200</property>
<property name="current_session_context_class">thread</property>
</session-factory>
</hibernate-configuration>
Run Code Online (Sandbox Code Playgroud) 我正在使用Android BLE API在Nexus 4上开发BLE应用程序.我有几个疑问/疑惑:
1)有没有办法设置/覆盖BLE中央设备的连接或通知间隔.我发现对于Android,默认连接间隔固定为7.5毫秒.有没有办法更改此连接/通知延迟间隔设置.
资料来源:http://processors.wiki.ti.com/index.php/Bluetooth_SensorTag?DCMP = lprf-stdroid&HQS = lprf-stdroid-pr-wiki1 #Supported_Android_devices
2)在连接到远程设备时,我面临着在随机时间间隔之后断开连接的问题.有许多人面临连接丢弃问题,说明当Android使用Android 4.3 API进行BLE连接时,android是不稳定的.这有什么解决方案吗?
编辑
我在这里观察到的另一个问题是,当需要时间重新连接时,它会随着一些L2CAP日志而来......跟随日志
Trying to create a new connection laststate_ BOND_NONE
D/BluetoothGatt( 9620): connect() - device: 1C:BA:81:11:CA:36, auto: true
D/BluetoothGatt( 9620): registerApp()
D/BluetoothGatt( 9620): registerApp() - UUID=1a9a0911-4d5c-41dc-8ac0-0284ef550510
D/BtGatt.GattService( 3208): registerClient() - UUID=1adsds0911-4sdsc-41dc-8ac0-0sdsdf550510
D/BtGatt.btif( 3208): btif_gattc_register_app
D/BtGatt.btif( 3208): btgattc_handle_event: Event 1000
D/BtGatt.btif( 3208): btif_gattc_upstreams_evt: Event 0
D/BtGatt.GattService( 3208): onClientRegistered() - UUID=1a9a0911-4d5c-41dc-8ac0-0284ef550510, clientIf=5
D/BluetoothGatt( 9620): onClientRegistered() - status=0 clientIf=5
D/BtGatt.GattService( 3208): clientConnect() - address=1C:BA:8C:1E:CA:36, isDirect=true
D/BtGatt.btif( …Run Code Online (Sandbox Code Playgroud) 我正在使用Tomcat JDBC连接池以及Spring启动,JDBC模板和SQL Server.当应用程序等待数据库连接时,我需要知道连接池内部的内容.如....
有没有办法通过调试或使用log4j等日志框架来获取这些信息?
任何想法将不胜感激.
我负责开发和维护一组以类似数据为中心的Web应用程序.我当时决定的架构是每个应用程序都有自己的数据库和Web-root应用程序.每个应用程序都维护到自己的数据库的连接池和共享数据的中央数据库(登录等)
一位同事一直认为这种策略不会扩展,因为有这么多不同的连接池将无法扩展,我们应该重构数据库,以便所有不同的应用程序使用单个中央数据库,并且可能是任何修改系统特有的将需要从该数据库中反映出来,然后使用由Tomcat提供支持的单个池.他假定有很多"元数据"在网络中来回传递,以维护连接池.
我的理解是,通过适当的调整,在不同的池中使用尽可能多的连接(小批量应用程序获得更少的连接,大批量应用程序获得更多,等等),池的数量与数量相比无关紧要.连接或更正式地说,与1个30个连接池相比,维护3个10个连接池所需的开销差异可以忽略不计.
最初将系统分解为一个应用程序一个数据库设计的原因是,应用程序之间可能存在差异,并且每个系统都可以根据需要对架构进行修改.同样,它消除了系统数据渗透到其他应用程序的可能性.
不幸的是,公司没有强有力的领导作出艰难的决定.虽然我的同事只是模糊地支持他的担忧,但我想确保理解多个小型数据库/连接与一个大型数据库/连接池的分支.
有没有人有在实际生产负载下使用Oracle UCP的经验?它是否能很好地处理数据库重新连接?有任何多线程问题吗?有没有人将它与C3P0或Apache DBCP进行比较?
我们有一个针对.NET 4.5.1的应用程序,并且保持不变.
但是,当我们从4.5.1 - > 4.7.1升级服务器上的.NET框架时,我们几小时后开始体验SQL超时(应用程序目标保持在4.5.1).
"Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached."
Run Code Online (Sandbox Code Playgroud)
其他具有相同处理的服务器也产生了这个问题,因此我们在.NET中寻找一个重大变化,并发现了这篇文章:https://blogs.msdn.microsoft.com/dataaccesstechnologies/2016/05/07/connection-超时问题,与净框架-4-6-1-transparentnetworkipresolution /
那篇文章引用了一个不同的异常类型,但可能有些相关.但是,如果我们的DNS查询时间超过500毫秒,我会感到震惊.此外,我希望看到更多的连接字符串配置报告和使用的情况.
我们的应用程序流量很大,但我们确信我们不会泄漏连接,因为在我们更新.NET框架之前,这一直是问题多年.
我们将尝试应用此修复程序(并等待> 24小时以查看结果),但还有什么我们可能错过的吗?我们不相信这是解决方案.
编辑:即使将.NET回滚到4.5.1并重新启动所有服务器,我们仍然会看到问题.代码库中没有其他任何变化,但我们还没有回滚启用'SchUseStrongCrypto'的注册表更改 - 如果这可能是原因?
在应用程序服务器中创建JNDI JDBC连接池时,我始终将类型指定为javax.sql.ConnectionPoolDataSource.我从来没有真正给过太多考虑,因为在非汇集时更喜欢汇集连接似乎总是很自然.
但是,在查看一些示例(特别是对于Tomcat)时,我注意到它们指定了javax.sql.DataSource.此外,似乎有设置maxIdle并maxWait给人以这些连接汇集的印象.无论选择何种类型的数据源,Glassfish都允许使用这些参数.
javax.sql.DataSource在应用程序服务器(或servlet容器)中池化?javax.sql.ConnectionPoolDataSource结束有什么(如果有的话)优势javax.sql.DataSource(反之亦然)?java database configuration connection-pooling application-server
Dapper隐含地期望连接在使用时打开.为什么不自己打开和关闭它?这不是简单的连接管理吗?
我问,因为我和同事一直在寻找有关连接池的幕后故事的性质,以及如何在多个命令之间保持连接打开,或打开和关闭它有任何好处对于每个命令.
我的问题如下.我需要一个类作为Web系统中数据库连接的单点,因此避免让一个用户有两个打开的连接.我需要尽可能优化它,它应该管理系统中的每个事务.换句话说,只有该类应该能够实例化DAO.为了使它更好,它还应该使用连接池!我该怎么办?
我正在使用Tomcat 6.0.29,Tomcat 7的连接池和MySQL.测试我的应用程序,它不会重用池中的任何内容,但最终会创建一个新池,最终我无法使用数据库,因为当池的最大活动大小设置时,池中有数百个睡眠连接到20.
见这里参考:
+----+------+-----------------+--------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------------+--------+---------+------+-------+------------------+
| 2 | root | localhost:51877 | dbname | Sleep | 9 | | NULL |
| 4 | root | localhost | NULL | Query | 0 | NULL | show processlist |
| 5 | root | localhost:49213 | dbname | Sleep | 21 | | NULL |
| 6 | root | localhost:53492 | …Run Code Online (Sandbox Code Playgroud)