NetConnection.Call.Faliled происходит спорадически в Flex3 / Tomcat / BlazeDS / Spring

У меня очень большая проблема. Я написал большое приложение с использованием Flex3 / Tomcat / BlazeDS / Spring, которое очень хорошо работало при локальной разработке, прекрасно, когда я развертывал в обычной среде разработки, но затем очень часто отказывало при развертывании в нашей тестовой среде.

Похоже, что сбои происходят чаще всего, когда запрос удаленного взаимодействия занимает много времени (более 20 секунд). На моем dev-сервере ошибки случаются, но только когда запрос занимает очень много времени (более 45 секунд). Тем не менее, эта ошибка также иногда возникает мгновенно (отправьте запрос, и он немедленно завершится неудачей). Большинство ошибок также имеют статус HTTP: 502 (Bad Gateway), но некоторые просто говорят, что HTTP Failed.

С BlazeDS я не сделал ничего особенного, кроме как поместить файл war в каталог webapps. Приложение доступно через https. Удаленные вызовы относятся к серверу только по «назначению». Серверы tomcat в наших экземплярах DEV и TEST имеют идентичные аргументы java (те же Xms и Xmx и т. Д.). Ниже приведены мои соответствующие файлы:

услуги-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>

web.xml

<?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>

Я близок к концу моей веревки. Ошибка - взломщик приложений. Пожалуйста, пожалуйста, помогите мне, если можете.

РЕДАКТИРОВАТЬ Я переключился на http и все еще получаю ошибку. Tomcat теперь говорит:

ВНИМАНИЕ: Ошибка при отправке конечного пакета

java.net.SocketException: сломанная труба

Я смотрю в своем журнале apache для jk_mod и вижу некоторую отладочную информацию, которая выглядит как запрос, который я отправил, а затем следующее:

[debug] ajp_send_request :: jk_ajp_common.c (1592): повторно отправить тело запроса (432)

[debug] jk_shutdown_socket :: jk_connect.c (681): собирается отключить сокет 68

[debug] jk_shutdown_socket :: jk_connect.c (732): выключить сокет 68 и прочитать 0 задержанных байтов

[info] ajp_connection_tcp_get_message :: jk_ajp_common.c (1150): (myTestServer) не может получить сообщение заголовка ответа от tomcat, проблем с сетью или tomcat (xx.xx.xx.xx: xxxx) не работает (errno = 11)

[ошибка] ajp_get_reply :: jk_ajp_common.c (1962): (myTestServer) Tomcat не работает или отказал в соединении. Ни один ответ не был отправлен клиенту (пока)

[info] ajp_service :: jk_ajp_common.c (2447): (myTestServer) не удалось отправить запрос tomcat (восстанавливаемый), (попытка = 2)

[ошибка] ajp_service :: jk_ajp_common.c (2466): (myTestServer) не удалось подключиться к tomcat.

[debug] ajp_reset_endpoint :: jk_ajp_common.c (743): (myTestServer) сброс конечной точки с sd = 4294967295 (отключение сокета)

[debug] ajp_done :: jk_ajp_common.c (2905): перезапуск слота пула соединений = 0 для работника myTestServer

[info] jk_handler :: mod_jk.c (2615): ошибка службы = 0 для работника = myTestServer

Ответы на вопрос(1)

Ваш ответ на вопрос