问题标签 [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.

0 投票
1 回答
1870 浏览

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?

0 投票
1 回答
714 浏览

spring - 在 Hibernate、Spring、Bonecp 中没有看到 BoneCP shutdown()

我正在使用 Spring、Hibernate 和 BoneCP 实现一个应用程序。当我调用 Tomcat 的关闭脚本时,我看到这样的错误

当我看到我的日志时,我没有看到“正在关闭连接池......”,所以我假设我在这里遗漏了一些东西。

谢谢

0 投票
1 回答
1645 浏览

java - java bonecp 连接池处理问题

我在任何地方都找不到有关如何启用连接监视的网络代码示例,因为我在日志中收到此消息

这是我的定义:

我还使用了:

但它没有给我额外的调试帮助。

0 投票
1 回答
799 浏览

javascript - 处理会话超时的最佳方法是什么?

我正在处理一个 JSP-Web-Application 并在会话到期时遇到麻烦。如放置在 web.xml 中一样,超时是在 30 分钟后定义的。但我想在用户保持窗口打开期间保持会话处于活动状态。我首先想到了一个简单的 AJAX 组件,它每 10 分钟向服务器说一次“你好”,并且可能会向数据库发送一个简单的测试语句(例如“选择 1”)。

但是有两件事让我对此产生怀疑:

  1. 如果我将一个简单的循环放入setTimeout(sayHi(),600)一个无休止的 while-JS 循环中,这是一个有效且明智的决定吗?
  2. 甚至这个概念是个好主意吗?

系统的所有用户共享一个到数据库的公共池化 BoneCP 连接,以执行来自数据库的短查询。还有几个数据行是通过 Hibernate 获取的。Hibernate 部分是整个应用程序中最容易出错的部分,超时后,这些集合也需要重新加载。有没有办法让 Hibernate-Session 也保持活跃?

谢谢您的帮助!

0 投票
1 回答
1674 浏览

java - 使用 MySQL 和 BoneCP 组合时 jdbc executeBatch 挂起

这是我从文件中读取 SQL 然后进行批量更新的代码

我试过的数据库:HSQLDB(in-process mode),,,HSQLDB(memory mode)MySQL

数据库池我试过了:No Pooling(DriverManger),,,DBCPBoneCP

我的应用程序按以下顺序运行:

几乎所有 DB 和 DB Pool 的组合都可以完美运行,没有conn.setAutoCommit(true);我在代码中突出显示的,除了一个:BoneCP+ MySQL。为了使这种组合起作用,我必须将其放在代码conn.setAutoCommit(true);的末尾。update()否则,程序将在第三个进程(第二个批处理更新)开始时挂起。

我的猜测是它挂起是因为它等待write lock释放,而我第一个持有锁的唯一可能原因batchUpdate()可能是因为我将连接设置为不自动提交,这导致 BoneCP 不释放write lock. 所以我添加了setAutCommit(true)它并且它起作用了。该程序不再挂起。

所以,我只想问,我猜对了吗?还是因为其他原因?是否应该将其视为错误,因为没有其他组合会产生这种奇怪的行为?谢谢。

0 投票
1 回答
584 浏览

java - Netty 和 BoneCP / Basic Socket Server 的更多并发用户

免责声明 - 我不是 Java 程序员。很可能我需要根据给出的任何建议做功课,但我很乐意这样做:)

也就是说,我编写了一个完整的数据库支持的套接字服务器,它在我的小型测试中工作得很好,现在我正在为初始版本做准备。因为我不太了解 Java/Netty/BoneCP——我不知道我是否在某个地方犯了一个根本性的错误,甚至会在我的服务器出现之前就对其造成伤害。

例如,我不知道 executor group 究竟做了什么以及我应该使用什么数字。是否可以将 BoneCP 实现为单例,是否真的有必要为每个数据库查询提供所有这些 try/catch?等等

我试图将我的整个服务器简化为一个与真实事物相同的基本示例(我在文本中删除了所有内容,没有在 java 本身中进行测试,因此请原谅任何语法错误)。

基本思想是客户端可以连接,与服务器交换消息,断开其他客户端,并无限期地保持连接,直到他们选择或被迫断开连接。(客户端将每分钟发送一次 ping 消息以保持连接处于活动状态)

除了未测试此示例之外,唯一的主要区别是 clientID 的设置方式(安全地假设每个连接的客户端确实是唯一的)以及在检查值等方面有更多的业务逻辑。

底线 -可以做任何事情来改进这一点,以便它可以处理尽可能多的并发用户吗?谢谢!


0 投票
1 回答
447 浏览

slf4j - 如何在boneCP上配置slf4j

BoneCP 版本=0.7.1

slf4j=1.7.5

每次我连接到mysql时。它会说

但是我找不到任何用boneCP配置的例子,给我一个例子,用解释就好了!

0 投票
1 回答
239 浏览

java - bonecp - 对池中的所有连接执行语句

我在 Spring 应用程序中使用 bonecp、JDBCTemplate 和 postgresql。

我想设置连接池中每个连接的application_name

以下 psql 语句设置应用程序名称:

但是 JDBCTemplate 只会在第一个可用连接上执行它。

有谁知道是否有办法迭代池中的连接,或者是否有办法在所有连接上执行单个语句。

0 投票
0 回答
952 浏览

mysql - BoneCP 连接意外关闭

我正在将 DataNucleus 与 BoneCP-0.8.0-rc2 集成,我随机收到此异常:

读完这篇文章后,我已经设置

  • datanucleus.connectionPool.maxConnectionAgeInSeconds = 170(秒)

我使用的其他属性:

  • datanucleus.connectionPool.minPoolSize=0
  • datanucleus.connectionPool.maxPoolSize=8

我测试此属性的本地 MySQL 服务器具有 wait_timeout=28800(秒)。

由于我添加了这个新属性,因此我比以前更频繁地遇到上述异常。

由于异常没有明确指定连接被驱动程序关闭,我假设它被连接管理器关闭。

您还有其他线索可能导致此异常吗?

0 投票
1 回答
1528 浏览

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 类。