草庐IT

half-closed

全部标签

java - 对卡在 CLOSE_WAIT 状态的连接进行故障排除

我有一个Java应用程序在Windows上的WebLogic11g中运行,几天后它变得无响应。我注意到的一个可疑症状是大量连接(大约3000个)出现在netstat中,即使服务器处于空闲状态也是如此。由于应用程序服务器正在管理客户端连接,我不确定是什么原因造成的。我们还进行了许多返回到同一服务器的Web服务调用,但我相信这些连接会正确关闭。还有什么可能导致此问题以及如何解决此类问题? 最佳答案 CLOSE_WAIT是本地TCP状态机在远程主机发送FIN(关闭其连接)但本地应用程序没有执行相同操作并发送回复FIN时所处的状态。此时本地

java - 幂等方法是什么意思,调用java.lang.AutoCloseable的close方法有什么副作用?

java.lang.AutoCloseable的close()方法的Java文档说Notethatunliketheclose()methodofCloseable,thisclose()methodisnotrequiredtobeidempotent.Inotherwords,callingthisclosemethodmorethanoncemayhavesomevisiblesideeffect,unlikeCloseable#close()whichisrequiredtohavenoeffectifcalledmorethanonce.However,implementer

java - 在 Java 中,如何检查 AutoCloseable.close() 是否已被调用?

我正在编写一个Java库。一些旨在供库用户使用的类保存本地系统资源(通过JNI)。我想确保用户“处理”这些对象,因为它们很重,并且在测试套件中它们可能会导致测试用例之间的泄漏(例如,我需要确保TearDown将被处理)。为此,我让Java类实现了AutoCloseable,但这似乎还不够,或者我没有正确使用它:我不知道如何使用try-with-resources测试上下文中的语句(我使用JUnit5和Mockito),因为“资源”不是短暂的-它是测试夹具的一部分。一如既往的勤奋,我尝试实现finalize()并在那里测试关闭,但结果是finalize()甚至没有被调用(Java10)。

java - "Closing"阻塞队列

我在一个非常简单的生产者-消费者场景中使用java.util.concurrent.BlockingQueue。例如。这个伪代码描述了消费者部分:classQueueConsumerimplementsRunnable{@Overridepublicvoidrun(){while(true){try{ComplexObjectcomplexObject=myBlockingQueue.take();//dosomethingwiththecomplexobject}catch(InterruptedExceptione){Thread.currentThread().interrupt

java - close 是否会抛出 IOException?

在此处提供了一些答案并阅读了一些评论后,似乎在实践中,IOException永远不会在关闭文件I/O时抛出。是否存在在Stream/Reader/Writer上调用close实际上会引发IOException的任何情况?如果真的抛出了异常,应该如何处理? 最佳答案 我发现了两种情况:当缓冲区中仍有数据需要刷新时断开网络连接。当缓冲区中仍有要刷新的数据时,让文件系统填满(或达到文件大小的用户限制)。这两个示例都依赖于缓冲区中仍有数据时发生的事情。Close在文件关闭之前刷新缓冲区,因此如果将数据写入文件时出错,它会引发IOExcept

java - 如何使用 BigDecimal.ROUND_HALF_UP 将 0.745 舍入到 0.75?

我尝试了以下,doubledoubleVal=1.745;doubledoubleVal1=0.745;BigDecimalbdTest=newBigDecimal(doubleVal);BigDecimalbdTest1=newBigDecimal(doubleVal1);bdTest=bdTest.setScale(2,BigDecimal.ROUND_HALF_UP);bdTest1=bdTest1.setScale(2,BigDecimal.ROUND_HALF_UP);System.out.println("bdTest:"+bdTest);//1.75System.out.

JDK 8 : Invalid "self-closing element not allowed" 中的 Javadoc

使用JDK8运行javadoc并收到此错误时,最好的解决方法是什么。对于JDK8,似乎已经决定使用之类的标签。和应该会产生错误,因为它们是无效的(严格的)HTML4。seediscussionJDKmailinglisthere我想知道,因为我只是想使用maven编译一些java项目并被这个问题绊倒。当然,我可以向项目提交票证(我想我会的),但如果有办法禁用这种行为(对于机器),那就太好了。否则,我预计需要修复很多项目才能在JDK8上毫无问题地构建它们。 最佳答案 对于这两种特殊情况,我认为建议的操作是将它们替换为.This是Ora

java.lang.IllegalStateException : BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext

我需要将带有自定义登录页面和数据库连接的SpringSecurity添加到我的SpringMVC项目中。我收到以下错误消息,根据其他问题的答案,我尝试更改代码,例如我将SpringSecuritySchema版本更改为4.0,但代码返回以下错误:将架构更改为4.0http://www.springframework.org/schema/security/spring-security-4.0.xsd错误Cannotinitializecontextbecausethereisalreadyarootapplicationcontextpresent-checkwhetheryouha

java - 为什么使用 Java 配置配置的 JPAPagingItemReader 的销毁方法 'close' 失败?

我们正在尝试将Spring-Batch作业从XML配置转换为Java配置。我们正在使用Spring4.0.1.RELEASE和SpringBatch2.2.1.RELEASE。转换一项作业后,日志文件中开始出现以下警告:15-Apr-201409:59:26.335[Thread-2]WARNo.s.b.f.s.DisposableBeanAdapter-Invocationofdestroymethod'close'failedonbeanwithname'fileReader':org.springframework.batch.item.ItemStreamException:E

java - com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException : No operations allowed after connection closed

我构建了一个应用程序并在本地部署......它运行良好。我将它部署在远程服务器上并开始收到主题行中提到的异常。这不是因为任何防火墙问题。我更改了我的hibernate.xml以通过我的IP地址而不是localhost进行连接,现在我在本地部署的应用程序上得到了相同的超时。当我让应用程序运行超过一天时出现此错误。我自己提交事务或关闭session后没有执行任何操作。我在hibernate.cfg.xml中使用以下属性org.hibernate.dialect.MySQLDialectcom.mysql.jdbc.Driverjdbc:mysql://myremotehost:3306/a