小编sch*_*enk的帖子

如何修复“C3P0:已发出连接错误信号的 PooledConnection 仍在使用中”

我们有一个带有 Spring、Hibernate、C3P0、Oracle DB 驱动程序堆栈(背后有 Oracle DB)的 Web 应用程序。有时我们会遇到较长时间的阻塞锁,然后在数据库端被杀死。(我们知道这是由糟糕的应用程序设计引起的,我们将修复它,但这不是这个问题的重点)。在数据库会话被数据库终止后,连接池似乎重用了现在断开的连接,这导致了错误:


A PooledConnection that has already signalled a Connection error is still in use!
Another error has occurred [ java.sql.SQLRecoverableException: Closed Connection ] which will not be reported to listeners!
Run Code Online (Sandbox Code Playgroud)

在我们配置的DataSource上

dataSource.setTestConnectionOnCheckin(true);
dataSource.setTestConnectionOnCheckout(true);
Run Code Online (Sandbox Code Playgroud)

但这没有帮助。我们预计连接会失败这些测试,然后进行更新。但这并没有发生。

对我们如何重建断开的连接有什么提示吗?

spring hibernate c3p0

7
推荐指数
1
解决办法
1万
查看次数

詹金斯:让一个作业等待另一个作业正在运行

我有一组组件,一个是基本组件 (A),所有其他组件 (B1 .. Bn) 都依赖于基本组件。

我为每个组件都有 Jenkins 作业,这些作业是由相应存储库上的 SCM 更改触发的。现在,我想配置为,如果基础组件 A 当前正在构建,则 Bx 组件的作业将等待,以便将 A 的最新构建合并到其自己的构建中。

我查看了“节流并发构建”插件,但我认为在这种情况下我不能使用它。我还找到了代码片段来检测另一个特定作业是否正在运行。那么,如何让当前的工作等待其他工作完成呢?

continuous-integration jenkins

5
推荐指数
1
解决办法
1万
查看次数

删除工件后,Nexus 3 Blob大小未减小

我使用的是Nexus 3,随着上传工件,blob存储会占用越来越多的磁盘空间。现在,我从发布存储库中删除了一堆不再需要的工件,但是我没有看到消耗的磁盘空间有任何减少。我使用UI手动删除了它们,因为仍然没有自动的方法。

删除工件后,我是否需要执行任何重组工作或类似的工作?或如何减少Blob大小?

nexus3

4
推荐指数
1
解决办法
2838
查看次数

如何优先于Weblogic域中的JAR而不是来自weblogic系统的JAR

我正在使用Weblogic Server 12.1.1并将一些JAR复制到我的域的lib文件夹中.其中一个JAR是一个org.apache.commons.io罐子.现在我遇到的问题是Weblogic本身在其系统类路径中带有不同版本的commons-io,因此我得到了NoSuchMethodErrors.有没有办法配置Weblogic来优先选择来自域的库而不是来自Weblogic系统的库?

Filtering Classloader仅适用于随application(WEB-INF/lib)提供的那些JAR .

java weblogic classloader java-ee weblogic12c

3
推荐指数
1
解决办法
1万
查看次数

Logback:是否可以将 TimeBasedRollingPolicy 与 SizeBasedTriggeringPolicy 结合起来?

我使用 LogbackTimeBasedRollingPolicy每小时滚动一次文件:

<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    <fileNamePattern>${serverpath}/logs/history-debug/debug.%d{yyyy-MM-dd_HH}.log.zip</fileNamePattern>
    <maxHistory>168</maxHistory> <!--7Days-->
    <totalSizeCap>2GB</totalSizeCap>
</rollingPolicy>
Run Code Online (Sandbox Code Playgroud)

有时,在我的情况下,原始(尚未滚动)日志文件可能会变得非常大(几个 GB)。我现在想SizeBasedTriggeringPolicy在配置中添加一个,以便在原始日志文件超过特定限制(例如 5GB)时额外滚动文件。因此,日志文件应该每小时滚动一次,除非文件变得很大,那么应该更早滚动。

我尝试过这个:

<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    <fileNamePattern>${serverpath}/logs/history-debug/debug.%d{yyyy-MM-dd_HH}.%i.log.zip</fileNamePattern>
    <maxHistory>168</maxHistory> <!--7Days-->
    <totalSizeCap>2GB</totalSizeCap>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
    <maxFileSize>5GB</maxFileSize>
</triggeringPolicy>
Run Code Online (Sandbox Code Playgroud)

但随后我收到错误,因为它%i与 TimeBasedRollingPolicy 不兼容。

我也尝试过,SizeAndTimeBasedRollingPolicy但它只将滚动的文件分成更小的部分,但不查看原始日志文件的大小。

logging logback rollingfileappender

1
推荐指数
1
解决办法
2272
查看次数