Netty Comet异步请求超时

我正在尝试使用Jboss Netty创建长轮询Comet。 如何配置30秒的时间? 文件后面: @Override public ChannelPipeline getPipeline() throws Exception { ChannelPipeline pipeline = Channels.pipeline(); pipeline.addLast(“decoder”, new HttpRequestDecoder()); pipeline.addLast(“encoder”, new HttpResponseEncoder()); pipeline.addLast(“handler”, new HTTPRequestHandler()); Timer timer = new HashedWheelTimer(); pipeline.addLast(“timeout”, new IdleStateHandler(timer, 30, 30, 0)); return pipeline; 但它不起作用,我的要求永远持续下去。 怎么解决这个问题? 这是否意味着我需要实现Callable ,然后使用timeout参数调用Future.get并在发生TimeOutException时终止请求? 那我应该使用Future吗? 还有其他方法吗? 码: FutureExecutor executor = FutureExecutor.getInstance(); @Override public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) […]

SAX Parser:从XML检索HTML标记

我有一个要解析的XML,如下所示 12941450184d2315fa63d6358242 Android testing status updated 标签包含HTML内容,其中包含我需要的数据。 我正在使用SAX Parser。 这就是我在做什么 private Timeline timeLine; //Object private String tempStr; public void characters(char[] ch, int start, int length) throws SAXException { tempStr = new String(ch, start, length); } public void endElement(String uri, String localName, String qName) throws SAXException { if (localName.equalsIgnoreCase(“content”)) { if (timeLine != null) { timeLine.setContent(tempStr); […]

java.lang.NoSuchMethodError:java.lang.NoSuchMethodError

通过eclipse运行Tomcat 7报告的错误是: javax.servlet.ServletException: java.lang.NoSuchMethodError: org.eclipse.jdt.internal.compiler.CompilationResult.getProblems()[Lorg/eclipse/jdt/core/compiler/IProblem; at org.apache.jasper.compiler.JDTCompiler$2.acceptResult(JDTCompiler.java:341) 我已经尝试了jasper-jdt-6.0.13.jar和tomcat-6.0.16-jasper-jdt.jar,两者都报告了同样的错误。 在某种程度上,我不应该感到惊讶,因为我跑了: jar tf tomcat-6.0.16-jasper-jdt.jar 并且它没有类org.eclipse.jdt.internal.compiler.CompilationResult。 但是这个网站http://www.java2s.com/Code/Jar/STUVWXYZ/Downloadtomcat6016jasperjdtjar.htm说它确实!! 有人能告诉我正确的jar文件是什么以及从哪里获取它? 这似乎是一个反复出现的主题。 http://www.findjar.com列出了一些声称拥有这个类的jar子 – 但是没有。 好的,在jasper-compiler-jdt-5.5.23.jar中找到它

MyBatis不使用布尔映射

我只是想用Mybatis映射一个布尔值,但我遇到了问题。 首先,我将向您展示所涉及的部分: XML File: Java类: public class DestinationTypeDTO { private long destinationTypeId; private String description; private boolean available; public long getDestinationTypeId() { return destinationTypeId; } public void setDestinationTypeId(long destinationTypeId) { this.destinationTypeId = destinationTypeId; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public boolean isAvailable() { return […]

为什么我的RxJava Observable仅向第一个消费者发出?

有人可以解释为什么以下测试失败? public class ObservableTest { @Test public void badObservableUsedTwiceDoesNotEmitToSecondConsumer() { // Any simpler observable makes the test pass Observable badObservable = Observable.just(1) .zipWith(Observable.just(2), (one, two) -> Observable.just(3)) .flatMap(observable -> observable); ObservableCalculator calc1 = new ObservableCalculator(badObservable); ObservableCalculator calc2 = new ObservableCalculator(badObservable); // zipping causes the failure // Calling calculate().toBlocking().subscribe() on each calc passes // Observable.from(listOfCalcs).flatMap(calc -> […]

任何图像格式的java图像压缩(jpg,PNG,gif)

我使用下面给出的代码来进行jpeg图像的图像压缩。 File input = new File(“digital_image_processing.jpg”); BufferedImage image = ImageIO.read(input); File compressedImageFile = new File(“compress.jpg”); OutputStream os = new FileOutputStream(compressedImageFile); Iteratorwriters = ImageIO.getImageWritersByFormatName(“jpg”); ImageWriter writer = (ImageWriter) writers.next(); ImageOutputStream ios = ImageIO.createImageOutputStream(os); writer.setOutput(ios); ImageWriteParam param = writer.getDefaultWriteParam(); param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); param.setCompressionQuality(0.05f); writer.write(null, new IIOImage(image, null, null), param); 但是当我通过改变ImageIO.getImageWritersByFormatName(“png”)来尝试PNG格式时; 它给我一个不支持压缩的错误。 那么我应该如何修改上面的代码,以支持所有的图像格式压缩

ClientRequest,如何正确地将POJO序列化为json数据? 找不到内容类型application / json类型的writer:

对于REST服务(RESTeasy),我创建了JUnit测试用例,例如: @Test public void a100_insertAddressTest() throws Exception { Address addr = new Address(1, “testStreet”, “1”, (short) 1234, “testCity”); ClientRequest request = new ClientRequest(BASE_URL + “customerID/{id}”, sslExecutor_schusb); request.body(MediaType.APPLICATION_XML, addr).pathParameter( “id”, 1); ClientResponse response = request.post(String.class); Assert.assertEquals(201, response.getStatus()); response.releaseConnection(); request.clear(); } 如果我将请求正文的媒体类型更改为“application / json”,则测试用例将失败并显示错误: java.lang.RuntimeException: could not find writer for content-type application/json type: at.fhj.ase.dao.data.Address at org.jboss.resteasy.client.ClientRequest.writeRequestBody(ClientRequest.java:469) at […]

文件资源管理器java

我想在Java应用程序中使用某种类似Windows资源管理器的文件浏览器。 我只想要一些能够递归地在文件夹中列出文件的东西。 有一个简单的方法吗? 我已经尝试过使用JFileChooser,但这不是我想要的。

通过Java中的Socket处理POST请求

我正在尝试使用Socket处理Java中的简单POST请求。 我可以收到请求标头并回答请求没有任何问题,但我当然无法得到请求的正文。 我在某处读到了我需要打开第二个InputStream来实现这个目标,但这对我来说并没有多大意义。 您有关于如何获取请求正文的任何​​提示吗? 这是我基本上用来获取标题: BufferedReader in = new BufferedReader(new InputStreamReader( clientSocket.getInputStream())); char[] inputBuffer = new char[INPUT_BUFFER_LENGTH]; int inputMessageLength = in.read(inputBuffer, 0, INPUT_BUFFER_LENGTH); String inputMessage = new String(inputBuffer, 0, inputMessageLength); 所以,我得到的信息是这样的: POST / HTTP/1.1 User-Agent: Java/1.8.0_45 Host: localhost:5555 Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 但我无法获取POST请求的参数。 编辑: 所以事实certificate我只有INPUT_BUFFER_LENGTH足够高(我知道,对我感到羞耻)。 因此,当我工作时,我将我的ServerSocket更改为SSLServerSocket并再次尝试从Java发送带有HttpsUrlConnection的请求,现在我又遇到了同样的问题(已经检查过缓冲区),得到这样的结果: POST / HTTP/1.1 User-Agent: Java/1.8.0_45 […]

如何从intelliJ IDEA中的资源文件夹访问图像,而无需提供整个路径名

我如何在intelliJ IDEA中做这样的事情 File file = new File(“C:\Users\Account\Documents\ProjectFolder\ResourceFolder\image”); 但是不必输入整个文件路径。我很确定有一种方法,我很确定它与将其添加到我的构建路径有关。 我知道如何在Eclipse中执行此操作,而不是在IntelliJ中执行此操作。 提前致谢!