我们有一个带有 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)
但这没有帮助。我们预计连接会失败这些测试,然后进行更新。但这并没有发生。
对我们如何重建断开的连接有什么提示吗?
我有一组组件,一个是基本组件 (A),所有其他组件 (B1 .. Bn) 都依赖于基本组件。
我为每个组件都有 Jenkins 作业,这些作业是由相应存储库上的 SCM 更改触发的。现在,我想配置为,如果基础组件 A 当前正在构建,则 Bx 组件的作业将等待,以便将 A 的最新构建合并到其自己的构建中。
我查看了“节流并发构建”插件,但我认为在这种情况下我不能使用它。我还找到了代码片段来检测另一个特定作业是否正在运行。那么,如何让当前的工作等待其他工作完成呢?
我使用的是Nexus 3,随着上传工件,blob存储会占用越来越多的磁盘空间。现在,我从发布存储库中删除了一堆不再需要的工件,但是我没有看到消耗的磁盘空间有任何减少。我使用UI手动删除了它们,因为仍然没有自动的方法。
删除工件后,我是否需要执行任何重组工作或类似的工作?或如何减少Blob大小?
我正在使用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 .
我使用 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但它只将滚动的文件分成更小的部分,但不查看原始日志文件的大小。