[SPRING] Flex3 / Tomcat / BlazeDS / Spring에서 NetConnection.Call.Failed가 산발적으로 발생했습니다.
SPRINGFlex3 / Tomcat / BlazeDS / Spring에서 NetConnection.Call.Failed가 산발적으로 발생했습니다.
나는 아주 큰 문제가있다. 필자는 Flex 3 / Tomcat / BlazeDS / Spring을 사용하여 커다란 응용 프로그램을 작성했습니다.이 개발 도구는 공용 개발 환경에 배포 할 때 로컬에서 개발할 때 좋았지 만 테스트 환경에 배포 할 때 매우 자주 실패합니다.
원격 요청이 좋은 시간 (20 초 이상)이 소요될 때 대부분의 오류가 발생하는 것 같습니다. 내 dev에 서버에서 오류가 발생하지만 요청이 매우 오랜 시간 (45 초 이상) 걸리는 경우에만. 그러나 오류는 겉으로보기에는 즉시 발생합니다 (요청을 보내면 즉시 실패합니다). 대부분의 오류에는 HTTP Status : 502 (잘못된 게이트웨이)가 있지만 일부는 HTTP Failed라고 말합니다.
나는 webapps 디렉토리에 war 파일을 넣는 것 외에는 BlazeDS에 특별한 것을하지 않았습니다. 애플리케이션은 https를 통해 액세스됩니다. 원격 호출은 서버를 "대상"으로 만 참조합니다. DEV 및 TEST 인스턴스의 Tomcat 서버는 동일한 Java 인수 (동일한 Xms 및 Xmx 등)를가집니다. 아래는 관련 파일입니다.
services-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<services-config>
<services>
<default-channels>
<channel ref="my-secure-amf"/>
</default-channels>
</services>
<channels>
<channel-definition id="my-secure-amf" class="mx.messaging.channels.SecureAMFChannel">
<endpoint url="https://{server.name}:{server.port}/{context.root}/messagebroker/amfsecure" class="flex.messaging.endpoints.SecureAMFEndpoint"/>
<properties>
<add-no-cache-headers>false</add-no-cache-headers>
</properties>
</channel-definition>
</channels>
<services-config>
을 포함한다.
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
...
<servlet>
<servlet-name>spring-flex</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/flexContext.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring-flex</servlet-name>
<url-pattern>/messagebroker/*</url-pattern>
</servlet-mapping>
</web-app>
flexContext.xml
<!--
I have component-scan tags here to scan my class files. The Controller I'm using for flex has an annotation on it to define it as a remote destination. Here it is:
@Controller
@RemotingDestination(value = "dest", channels="my-secure-amf")
public class FlexController {
-->
<bean id="flexExceptionTranslator" class="edu.liberty.zconduct.web.FlexExceptionTranslator" />
<flex:message-broker>
<flex:exception-translator ref="flexExceptionTranslator"/>
<!-- <flex:secured /> Had this previously, but it wasn't working then, either -->
</flex:message-broker>
나는 나의 밧줄 끝 부분에있다. 오류는 app-breaker입니다. 가능하다면 제발 도와주세요.
편집하다 나는 http로 전환했지만 여전히 오류가 발생합니다. Tomcat은 이제 다음과 같이 말합니다.
내 아파치 로그에서 jk_mod를보고 내가 보낸 요청과 다음 디버그 정보를 볼 수있다.
해결법
-
==============================
1.Cornel Creanga가이 솔루션에 도달하는 것을 도왔습니다. 내 응용 프로그램을 http로 전환하고 catalina.out 파일에서 메시지를 받기 시작했습니다. 나는 이것이 이것이 왜 영향을 미쳤는지는 모르겠다. 메시지는 모두 소켓에 깨진 파이프가 있음을 나타냅니다. 추가 조사에서 jk_mod가 관련되어 있음이 나타났습니다.
Cornel Creanga가이 솔루션에 도달하는 것을 도왔습니다. 내 응용 프로그램을 http로 전환하고 catalina.out 파일에서 메시지를 받기 시작했습니다. 나는 이것이 이것이 왜 영향을 미쳤는지는 모르겠다. 메시지는 모두 소켓에 깨진 파이프가 있음을 나타냅니다. 추가 조사에서 jk_mod가 관련되어 있음이 나타났습니다.
많은 검색을 통해 SysAdmins가 서버의 소켓 시간 제한을 TEST 서버에서 10 초로 설정했으나 DEV 서버에서 5 분으로 설정 했으므로 대량 검색을 수행하면 TEST .
SysAdmins는 TEST에서 구성을 조정하여 다른 작업자 (5 분의 시간 제한 있음)가이 컨텍스트 경로에 대한 호출을 처리하도록했습니다.
from https://stackoverflow.com/questions/3145065/netconnection-call-failed-happening-sporadically-in-flex3-tomcat-blazeds-spring by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 스프링 보안 3.1 : 세션 동시성 제어가 작동하지 않는 이유는 무엇입니까? (0) | 2019.04.24 |
---|---|
[SPRING] Spring 데이터 Neo4J 저장소 findAll ()은 nullpointerexception을 발생시킵니다. (0) | 2019.04.23 |
[SPRING] Spring 데이터는 최대 절전 모드이거나 필요하지 않습니다. (0) | 2019.04.23 |
[SPRING] 스프링의 정적 필드 + 자동 와이어 링 (0) | 2019.04.23 |
[SPRING] 왜 스프링 작업에서 GWT 서블릿의 필드를 autowiring하지 않는가? (0) | 2019.04.23 |