草庐IT

read_async

全部标签

java : Read last n lines of a HUGE file

我想读取一个非常大的文件的最后n行,而不是使用Java将整个文件读入任何缓冲区/内存区域。我查看了JDKAPI和ApacheCommonsI/O,但找不到适合此目的的。我正在考虑在UNIX中使用tail或更少的方式。我认为他们不会加载整个文件然后显示文件的最后几行。在Java中也应该有类似的方法来做同样的事情。 最佳答案 我发现使用ReversedLinesFileReader是最简单的方法来自apachecommons-ioapi。此方法将为您提供文件从底部到顶部的行,您可以指定n_lines值来指定行数。importorg.ap

java - 无法使用 ImageIO.read(文件文件)读取 JPEG 图像

我在使用ImageIO.read(Filefile)读取这个JPEG文件时遇到问题-它会引发异常并显示“不支持的图像类型”消息。我尝试过其他JPEG图像,它们似乎工作正常。我能够发现的唯一区别是该文件似乎包含一个缩略图-是否已知会导致ImageIO.read()出现问题?编辑:添加了结果图像: 最佳答案 旧帖,但供将来引用:受此问题和此处找到的链接的启发,我为ImageIO编写了一个JPEGImageReader插件,该插件支持CMYK颜色模型(均具有原始颜色模型,或在读取时隐式转换为RGB)。与此处提到的其他解决方案相比,阅读器还

java - Servlet-3 Async Context,如何进行异步写入?

问题描述Servlet-3.0API允许分离请求/响应上下文并在稍后回复它。但是,如果我尝试写入大量数据,例如:AsyncContextac=getWaitingContext();ServletOutputStreamout=ac.getResponse().getOutputStream();out.print(some_big_data);out.flush()对于Tomcat7和Jetty8,它实际上可能会阻塞-而且它确实会阻塞在琐碎的测试用例中。教程建议创建一个线程池,该线程池将处理这样的设置-女巫通常与传统的10K架构相反。但是,如果我有10,000个打开的连接和一个线程池

Java POI : How to read Excel cell value and not the formula computing it?

我正在使用ApachePOIAPI从Excel文件中获取值。除了包含公式的单元格外,一切都很好。事实上,cell.getStringCellValue()正在返回单元格中使用的公式,而不是单元格的值。我尝试使用evaluateFormulaCell()方法,但它不起作用,因为我使用的是GETPIVOTDATAExcel公式,并且此公式未在API中实现:Exceptioninthread"main"org.apache.poi.ss.formula.eval.NotImplementedException:ErrorevaluatingcellLandscape!K11atorg.apa

java.lang.RuntimeException : Could not read input channel file descriptors from parcel

我正在使用crashlytics来跟踪我的应用程序的崩溃情况。有一个很难弄清楚的错误。crashlytics的堆栈跟踪如下:java.lang.RuntimeException:Couldnotreadinputchannelfiledescriptorsfromparcel.atandroid.view.InputChannel.nativeReadFromParcel(InputChannel.java)atandroid.view.InputChannel.readFromParcel(InputChannel.java:148)atandroid.view.InputChann

java - 连接到 Amazon RDS Oracle 实例时如何处理 "Got minus one from a read call"错误

我在AmazonRDS实例上运行Oracle11GR2。有时我在调用DriverManager.getConnection(getUrl())时收到IOError:Gotminusonefromareadcall,我不知道为什么。其他应用程序正常工作。为了进一步混淆,错误有时会自行纠正(在程序的下一次迭代之后)。我应该如何处理“从读取调用中得到减一”错误?完整的堆栈跟踪:java.sql.SQLRecoverableException:IOError:Gotminusonefromareadcallatoracle.jdbc.driver.T4CConnection.logon(T4C

java - 使用@Async 嵌套@Transactional 方法

我将Spring与JPA一起使用。我打开了@EnableAsync和@EnableTransactionManagement。在我的用户注册服务方法中,我调用了一些其他的服务方法,它们被注释为@Async。这些方法可以做各种各样的事情,比如发送欢迎电子邮件和向我们的第三方支付系统注册新用户。在我想验证第三方支付系统是否成功创建用户之前,一切正常。此时,@Async方法会尝试创建一个UserAccount(它引用新生成的User)并使用出错javax.persistence.EntityNotFoundException:无法找到com.dk.st.model.User的id为2017注

android - HttpMessageNotReadableException : Could not read JSON: Unrecognized field using Spring for Android

我正在开发与我的服务器通信的Android应用程序。这种通信是通过Spring框架和Jackson完成的。我已成功向我的服务器发送请求,但没有收到响应。这是我所做的:安卓应用:publicLojagetLoja(){RestTemplaterestTemplate=newRestTemplate();restTemplate.getMessageConverters().add(newMappingJacksonHttpMessageConverter());restTemplate.setRequestFactory(newHttpComponentsClientHttpReques

spring - 一起使用 Spring @Scheduled 和 @Async

这是我的用例。旧系统更新数据库队列表QUEUE。我想要一个定期的定期工作-检查QUEUE的内容-如果表中有行,它会锁定行并做一些工作-删除QUEUE中的行如果前一个作业仍在运行,则将创建一个新线程来完成该工作。我要配置最大并发线程数。我正在使用Spring3,我目前的解决方案是执行以下操作(使用1毫秒的固定速率让线程基本连续运行)@Scheduled(fixedRate=1)@AsyncpublicvoiddoSchedule()throwsInterruptedException{log.debug("Startschedule");publishWorker.start();log

java - 为使用 Spring 3.0 的方法使用 @Async 时提供超时值

我查看了文档,但找不到在使用Spring3.0使用@Async注释方法时产生的异步操作指定超时的方法。有没有办法做到这一点?我认为这在触发异步计算时非常重要。 最佳答案 @Async注释不提供超时,因为超时应该由函数的调用者决定,而不是函数本身。我假设您指的是返回结果的带注释的@Async方法的超时。SuchmethodsshouldreturnaninstanceofFuture,而Future上的get()方法用于指定超时时间。例如@AsyncpublicFuturedoSomething(){returnnewAsyncRes