2009-03-13 2 views
3

많은 https 요청 후에이 오류가 발생합니다. 누구든지 이유가 무엇인지 알 수 있습니까? 그것은 SSL과 관련된 것으로 간주됩니다. 그러나 이전에는 제대로 작동했습니다. sun.nio.ch에서 sun.nio.ch.FileDispatcher.write0 (기본 방법)에 파이프 브로큰 : 정말이 문제를응답을 커밋하는 중 오류가 발생했습니다. java.io.IOException 오류 : sun.nio.ch.FileDispatcher.write0의 파이프가 깨졌습니다.

오류 커밋 responsejava.io.IOException의 원인이 수 있는지 이해가 안 돼요 .SocketDispatcher.write (SocketDispatcher.java:29) at sun.nio.ch.IOUtil.writeFromNativeBuffer (IOUtil.java:104) at sun.nio.ch.IOUtil.write (IOUtil.java:75) at sun .nio.ch.SocketChannelImpl.write (SocketChannelImpl.java:302) at com.sun.enterprise.server.ss.ASOutputStream.write (ASOutputStream.java:120) at com.sun.net.ssl.internal.ssl .OutputRecord.writeBuffer (OutputRecord.java:283) at com. sun.net.ssl.internal.ssl.OutputRecord.write (OutputRecord.java:272) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord (SSLSocketImpl.java:666) at com.sun. net.ssl.internal.ssl.AppOutputStream.write (AppOutputStream.java:59) at org.apache.coyote.http11.InternalOutputBuffer.commit (InternalOutputBuffer.java:602) at com.sun.enterprise.web.connector. grizzly.ProcessorTask.action (ProcessorTask.java:721) at org.apache.coyote.Response.action (Response.java:188) at org.apache.coyote.Response.sendHeaders (Response.java:380) at org.apache.coyote.tomcat5.OutputBuffer.doFlush (OutputBuffer.java:357) at org.apache.coyote.tomcat5.OutputBuffer.close (OutputBuffer.java:318) at org.apache.coyote.tomcat5.CoyoteResponse. 지느러미 (org.apache.coyote.tomcat5.CoyoteAdapter.service (CoyoteAdapter.java:192) at )에있는 ishResponse 604) at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process (ProcessorTask.java:475) at com.sun.enterprise.web.connector.grizzly.ProcessorTask.doTask (ProcessorTask.java:426) com.sun.enterprise.web.connector.grizzly.WorkerThread.run에서 com.sun.enterprise.web.connector.grizzly.TaskBase.run (TaskBase.java:281) (WorkerThread.java:83에서

답변

3

나는 sun.nio.ch에 대해 모르겠다. 하지만 ...

이것은 자바 웹 앱에서 가끔 발생하는 표준 오류입니다. URL을 요청한 다음 브라우저에서 멈추거나 다른 URL을 클릭하면이 오류가 발생합니다. 앱이 귀하에게 완전한 답변을 보낼 수 없다는 불만을 표시합니다.

0

Java NIO Pipe는 두 스레드 간의 단방향 데이터 연결입니다. 파이프에는 소스 채널과 싱크 채널이 있습니다. 싱크 채널에 데이터를 씁니다. 이 데이터는 소스 채널에서 읽을 수 있습니다.

이제 문제가 발생합니다. 싱크 채널이 FULL 일 때마다 (읽기가 버퍼에 약간의 공간을 남겨 둘만큼 빠르지 않음), 파이프가 닫힙니다 !! 이 시점 이후에 오는 모든 쓰기가 실패합니다.

+2

이 오류는 가발 NIO 파이프를 수행하지 않습니다. 오류 메시지는 운영 체제에서 가져온 것으로, 피어에 의해 이미 닫힌 파이프 또는 소켓 연결에 쓰는 행위를 나타냅니다. 그리고 두 번째 단락은 완전한 난센스입니다. 파이프가 가득 차면 발신자가 차단됩니다. 답변이 완전히 잘못되었습니다. – EJP

관련 문제