问题标签 [bonecp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Tomcat memory leak - Stopping Guava Finalizer thread
I have a Spring web application running on Tomcat.
When trying to shutdown Tomcat with the shutdown.sh
script, the java process doesn't end because it has a Thread that's still running. The catalina.log
contains
Apparently BoneCP
has some Guava
integration that causes this thread to block. Is there a clean or intended way to kill this thread?
spring - 在 Hibernate、Spring、Bonecp 中没有看到 BoneCP shutdown()
我正在使用 Spring、Hibernate 和 BoneCP 实现一个应用程序。当我调用 Tomcat 的关闭脚本时,我看到这样的错误
当我看到我的日志时,我没有看到“正在关闭连接池......”,所以我假设我在这里遗漏了一些东西。
谢谢
java - java bonecp 连接池处理问题
我在任何地方都找不到有关如何启用连接监视的网络代码示例,因为我在日志中收到此消息
这是我的定义:
我还使用了:
但它没有给我额外的调试帮助。
javascript - 处理会话超时的最佳方法是什么?
我正在处理一个 JSP-Web-Application 并在会话到期时遇到麻烦。如放置在 web.xml 中一样,超时是在 30 分钟后定义的。但我想在用户保持窗口打开期间保持会话处于活动状态。我首先想到了一个简单的 AJAX 组件,它每 10 分钟向服务器说一次“你好”,并且可能会向数据库发送一个简单的测试语句(例如“选择 1”)。
但是有两件事让我对此产生怀疑:
- 如果我将一个简单的循环放入
setTimeout(sayHi(),600)
一个无休止的 while-JS 循环中,这是一个有效且明智的决定吗? - 甚至这个概念是个好主意吗?
系统的所有用户共享一个到数据库的公共池化 BoneCP 连接,以执行来自数据库的短查询。还有几个数据行是通过 Hibernate 获取的。Hibernate 部分是整个应用程序中最容易出错的部分,超时后,这些集合也需要重新加载。有没有办法让 Hibernate-Session 也保持活跃?
谢谢您的帮助!
java - 使用 MySQL 和 BoneCP 组合时 jdbc executeBatch 挂起
这是我从文件中读取 SQL 然后进行批量更新的代码
我试过的数据库:HSQLDB(in-process mode)
,,,HSQLDB(memory mode)
MySQL
数据库池我试过了:No Pooling(DriverManger)
,,,DBCP
BoneCP
我的应用程序按以下顺序运行:
几乎所有 DB 和 DB Pool 的组合都可以完美运行,没有conn.setAutoCommit(true);
我在代码中突出显示的,除了一个:BoneCP
+ MySQL
。为了使这种组合起作用,我必须将其放在代码conn.setAutoCommit(true);
的末尾。update()
否则,程序将在第三个进程(第二个批处理更新)开始时挂起。
我的猜测是它挂起是因为它等待write lock
释放,而我第一个持有锁的唯一可能原因batchUpdate()
可能是因为我将连接设置为不自动提交,这导致 BoneCP 不释放write lock
. 所以我添加了setAutCommit(true)
它并且它起作用了。该程序不再挂起。
所以,我只想问,我猜对了吗?还是因为其他原因?是否应该将其视为错误,因为没有其他组合会产生这种奇怪的行为?谢谢。
java - Netty 和 BoneCP / Basic Socket Server 的更多并发用户
免责声明 - 我不是 Java 程序员。很可能我需要根据给出的任何建议做功课,但我很乐意这样做:)
也就是说,我编写了一个完整的数据库支持的套接字服务器,它在我的小型测试中工作得很好,现在我正在为初始版本做准备。因为我不太了解 Java/Netty/BoneCP——我不知道我是否在某个地方犯了一个根本性的错误,甚至会在我的服务器出现之前就对其造成伤害。
例如,我不知道 executor group 究竟做了什么以及我应该使用什么数字。是否可以将 BoneCP 实现为单例,是否真的有必要为每个数据库查询提供所有这些 try/catch?等等
我试图将我的整个服务器简化为一个与真实事物相同的基本示例(我在文本中删除了所有内容,没有在 java 本身中进行测试,因此请原谅任何语法错误)。
基本思想是客户端可以连接,与服务器交换消息,断开其他客户端,并无限期地保持连接,直到他们选择或被迫断开连接。(客户端将每分钟发送一次 ping 消息以保持连接处于活动状态)
除了未测试此示例之外,唯一的主要区别是 clientID 的设置方式(安全地假设每个连接的客户端确实是唯一的)以及在检查值等方面有更多的业务逻辑。
底线 -可以做任何事情来改进这一点,以便它可以处理尽可能多的并发用户吗?谢谢!
slf4j - 如何在boneCP上配置slf4j
BoneCP 版本=0.7.1
slf4j=1.7.5
每次我连接到mysql时。它会说
但是我找不到任何用boneCP配置的例子,给我一个例子,用解释就好了!
java - bonecp - 对池中的所有连接执行语句
我在 Spring 应用程序中使用 bonecp、JDBCTemplate 和 postgresql。
我想设置连接池中每个连接的application_name
以下 psql 语句设置应用程序名称:
但是 JDBCTemplate 只会在第一个可用连接上执行它。
有谁知道是否有办法迭代池中的连接,或者是否有办法在所有连接上执行单个语句。
mysql - BoneCP 连接意外关闭
我正在将 DataNucleus 与 BoneCP-0.8.0-rc2 集成,我随机收到此异常:
读完这篇文章后,我已经设置
- datanucleus.connectionPool.maxConnectionAgeInSeconds = 170(秒)
我使用的其他属性:
- datanucleus.connectionPool.minPoolSize=0
- datanucleus.connectionPool.maxPoolSize=8
我测试此属性的本地 MySQL 服务器具有 wait_timeout=28800(秒)。
由于我添加了这个新属性,因此我比以前更频繁地遇到上述异常。
由于异常没有明确指定连接被驱动程序关闭,我假设它被连接管理器关闭。
您还有其他线索可能导致此异常吗?
tomcat - 尝试使用 BoneCP 配置 Tomcat 全局 JNDI 连接池时出错
我在 C:\Tomcat5.5\common\lib 中有以下文件
activation.jar
bonecp-0.7.1.RELEASE.jar
commons-el.jar
ecj-3.7.2.jar
guava-15.0.jar
jasper-compiler.jar
jasper-runtime.jar
jsp-api.jar
jtds-1.3.1。 jar
log4j-1.2.17.jar
mail.jar
命名工厂-dbcp.jar
命名工厂.jar 命名
资源.jar
servlet-api.jar
slf4j-api-1.7.5.jar
我在 server.xml 中有以下内容
以及 C:\Tomcat5.5\conf\context.xml 中的以下内容:
我在 Tomcat5-stdout.log 中得到以下信息:
2013-09-22 21:28:52 Commons Daemon procrun stdout 已初始化 SLF4J:无法加载类“org.slf4j.impl.StaticLoggerBinder”。SLF4J:默认为无操作 (NOP) 记录器实现 SLF4J:参见 http://www.slf4j.org/codes.html#StaticLoggerBinder了解更多详情。java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect。 Method.invoke(Unknown Source) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433) 原因:java。 lang.IllegalAccessError: 试图访问方法 com.google.common.collect.MapMaker.makeComputingMap(Lcom/google/common/base/Function;)Ljava/util/concurrent/ConcurrentMap; 来自 sun.reflect.NativeConstructorAccessorImpl 的 com.jolbox.bonecp.BoneCPDataSource.(BoneCPDataSource.java:64) 的 com.jolbox.bonecp.BoneCPDataSource 类。