草庐IT

half-closed

全部标签

java - 为什么 DirContext.close() 不将 LDAP 连接返回到池中?

我注意到在使用LDAP连接池时,尽管有文档saying,但在上下文中调用close()似乎并未将其返回到池中otherwise.因此,当我尝试从池中获取已达到其最大大小的项目时,它会挂起。我设法将其缩小到最小范围。尽管我相信我正在确定性地对所有相关对象调用close(),但它似乎依赖于垃圾收集来实际将对象返回到池中,这是出乎意料的。为什么会这样?是否还有其他一些我应该关闭的对象?在下面的代码片段中:我人为地将最大池大小设置为1以突出问题。我从池中得到一个DirContext(第(2)行),尝试将它返回到池中(第(4)行),然后从池中得到另一个(第(6)行))应该返回相同的返回对象。相反

java - hibernate : closing the session factory does not close the c3p0 connection pool

我最近开始在我的应用程序中使用hibernate和c3p0作为ORM。但是,当我关闭session工厂时,连接池并没有自行关闭!这是我的应用程序中也是唯一的地方,我可以在其中对session执行任何操作。StatelessSessionsession=null;Transactiontransaction=null;try{session=sessionFactory.openStatelessSession();transaction=session.beginTransaction();Listlist=session.getNamedQuery("getAvailableThin

java - hibernate ,Java : no session or session was closed

我已经在Stackoverflow上看到过此类问题,但没有任何方法可以帮助我解决问题。我是Hibernate新手,有一个项目要用Java和MySQL做,所以用hibernate。我设法访问了我的数据,修改了它们,删除了它们,但是我阻塞了一个方法,因为我有一个异常到达了..并且看到我仍然不明白我设法不删除这个错误的所有线程:这是我的错误:org.hibernate.LazyInitializationExceptionGrave:failedtolazilyinitializeacollectionofrole:DAO.User.files,nosessionorsessionwascl

java - 我应该使用方法 close 还是 closeQuietly 来关闭输出流?

当我们需要关闭输出流时,我们有两种选择。closeQuietly表示关闭流,不会抛出任何异常。try{close(out)}catch(IOExceptione){}关闭try{close(out)}catch(IOExceptione){throwanException;}众所周知,输出流在关闭时会在文件末尾写入一个/几个字符,如果这些写入错误,文件也无法正确打开,例如ZipoutputStream。如果我使用第一个,我将面临关闭失败的风险。如果我使用第二个,它会让我的代码变得不友好。有人可以给我一些建议吗?很抱歉,问题描述不清楚。我的意思是如何安全地进行IO操作。如果资源的发布失败

java - Java8 中的 RoundingMode.HALF_DOWN 问题

我正在使用jdk1.8.0_45,我们的测试发现了路由中的错误。当决定四舍五入的最后一位小数为5时,RoundingMode.HALF_DOWN与RoundingMode.HALF_UP的作用相同。我发现了与RoundingMode.HALF_UP相关的问题,但它们已在更新40中得到修复。我还向oracle提出了一个错误,但根据我的经验,它们确实没有响应。packagetestjava8;importjava.math.RoundingMode;importjava.text.DecimalFormat;publicclassFormatori{publicstaticvoidmain

Java 8 流 IllegalStateException : Stream has already been operated on or closed

我正在尝试使用StreamAPI生成Order实例。我有一个创建订单的工厂函数,一个DoubleStream用于初始化订单金额。privateDoubleStreamdoubleStream=newRandom().doubles(50.0,200.0);privateOrdercreateOrder(){returnnewOrder(doubleStream.findFirst().getAsDouble());}@Testpublicvoidtest(){StreamorderStream=Stream.generate(()->{returncreateOrder();});or

java.sql.sqlRecoverableException : Closed statement: next 异常

我的代码抛出java.sql.sqlRecoverableException:Sentenciacerrada:next用英语来说,我想应该是:java.sql.sqlRecoverableException:Closedstatement:next这是我的代码:publicTransactionArray()throwsSQLException{/*Obtenemoslatabladetransacciones.*/Connectionconnection;connection=ConnectionManager.getConnection(STATISTIC_DATA_BASE);

java - JPA:EntityManager 的get-use-close 和延迟加载

IBM建议使用EntityManagers的最佳实践是获取/使用/关闭。如果EntityManager没有关闭,同一个EntityManager可能被多个线程使用,这将导致以下错误:org.apache.openjpa.persistence.PersistenceException:Multipleconcurrentthreadsattemptedtoaccessasinglebroker.Bydefaultbrokersarenotthreadsafe;ifyourequireand/orintendabrokertobeaccessedbymorethanonethread,s

java - DELETE_ON_CLOSE 的用处

互联网上有很多示例展示了如何使用StandardOpenOption.DELETE_ON_CLOSE,例如:Files.write(myTempFile,...,StandardOpenOption.DELETE_ON_CLOSE);其他示例类似地使用Files.newOutputStream(...,StandardOpenOption.DELETE_ON_CLOSE)。我怀疑所有这些示例都可能存在缺陷。写文件的目的是你要在某个时候读回它;否则,为什么要写呢?但是DELETE_ON_CLOSE不会导致文件在您有机会阅读之前被删除吗?如果您创建一个工作文件(以处理由于太大而无法保存在内

java - 在 Hibernate 中遇到 org.hibernate.SessionException : Session is closed! 问题

我对此做了很多研究,但运气不佳,但所有答案都倾向于指向配置文件中的session上下文设置。奇怪的是,我第一次访问该页面时就获得了一个session连接(因此,一个成功的结果集),但是当我重新加载时,我得到以下异常:org.hibernate.SessionException:session已关闭!这是我的与数据库连接字符串无关的配置设置:falseorg.hibernate.dialect.SQLServerDialectthreadorg.hibernate.cache.NoCacheProviderfalsefalse这是我进行的调用的一个示例,它产生了我上面描述的情况。publ