2011-01-24 5 views
0

ОБНОВЛЕНИЕ + РЕШЕНИЕ ============================= ===Вспышка SWF на Solaris не загружается при загрузке APR-библиотеки Apache в JBoss

Извините, что размещал решение здесь, а не в комментарии, но что-то о фильтрации моей работы не позволяет работать с комментариями.

В итоге я использовал свойство -b 0.0.0.0 в jboss для привязки ко всем адресам, поэтому я мог попробовать получить доступ к серверу A машины с машиной B в качестве клиента и наоборот. Я обнаружил, что он всегда не загружался при работе на машине B, независимо от того, подключался я или нет от A или B.

Я начал проводку на компьютере с Windows в той же сети и наблюдал за подключением TCP, которое загружалось веб-страница. Я видел, что запрос для .swf в тех случаях, когда он был неудачным, имел длину контента 2 миллиона или около того, и когда я щелкнул правой кнопкой мыши журналы проводки и выбранный «просмотр разговора» или что-то в этом роде, размер общей беседы для получения .swf-файла было всего 130 000. Глядя на: кеш, это было примерно равно тому, что закончилось кешированием, прежде чем произнести «Готово» на странице.

В итоге я обнаружил, что есть ошибка с использованием свойстваSendSend. (Http://community.jboss.org/thread/148651?tstart=0). Это приводит к тому, что он отправляет часть файла только в том случае, если у вас мало памяти ядра. Использование useSendFile = "false" в нашем server.xml, казалось, разрешило проблему.

================================================================================================================================= ====

Оригинал Проблема

у меня есть сервер приложений JBoss (5.1.0.GA). Я использую GraniteDS для соединения между сервером приложений и клиентом. Клиентская сторона основана на флэш-памяти.

Granite DS требует использования библиотеки APR (родной библиотеки apache), поэтому я загружаю ее. Я вижу в журналах JBoss, что он говорит, что загрузил родную библиотеку apache просто отлично (версия 1.18, хотя я также пробовал 1.20).

Проблема в том, что когда у меня есть это, так что библиотека APR загружается успешно, тогда Flash-сторона приложения обычно не загружается. Мне нужно будет обновить кучу раз, и в конечном итоге это будет обычно загружаться, но обычно я увижу либо черную веб-страницу, которая говорит «Готово», либо индикатор хода загрузки никогда не перемещается. Только при повторном обновлении страницы загружается страница. В конечном итоге он загрузится, достаточно ударив, но это непротиворечиво, и это, очевидно, не будет работать для наших клиентов, которым каждый раз приходится очищать кеш браузера.

Эта проблема существует только в Solaris, наше приложение отлично работает в Windows. Мы попробовали несколько патчей-уровней solaris и проверили с помощью команды «ldd», что библиотека, которая должна быть загружена, имеет все свои зависимости.

Мы проверили, что это не наш размер файла swf путем тестирования: 1) Наш обычный SWF (1660 kb). 2) Случайный крупномасштабный SWF (950 kb). 3) Небольшой SWF с одним компонентом метки, который говорит «Test» (277 kb).

Все 3 не смогли загрузить, когда JBoss также загружал родную библиотеку и загружался без штрафа. Нам нужна собственная библиотека для успешной загрузки Granite для соединения между клиентом и сервером, поэтому, не загружая ее, это не вариант (если нет возможности использовать разъем NIO с JBoss, но он выглядит неподдерживаемым) .... если есть способ использовать NIO-коннектор, нам не нужна библиотека APR.

Неужели кто-то сталкивается с этим раньше? У кого-нибудь есть идеи или рекомендации?

+0

Вы создаете новые учетные записи на базе файлов cookie; поэтому вы не можете комментировать или редактировать свой quesiton. Я объединил ваши две учетные записи. Пожалуйста, подумайте о регистрации. Если вы не можете зарегистрировать эту учетную запись, создайте новую, отметьте этот вопрос для внимания модом и попросите объединить новую учетную запись с этим. – Will

ответ

0

Вы пробовали собственные библиотеки jboss для Solaris?

http://www.jboss.org/jbossweb/downloads/jboss-native-2-0-9.html

+0

Да, мне не повезло. Я попробовал версии 1.18 и 1.20 для solaris. Обратите внимание, что 2.0.9 в указанной вами ссылке фактически не соответствует номеру версии, 2.0.9 эквивалентен v1.20 родных библиотек. Кроме того, он говорит, что библиотека загружена успешно. Когда загружается флеш-файл, загрузка не выполняется. Когда загружается родная библиотека, файл флэш-памяти не всегда загружается. Я использую версии библиотек Solaris - они не будут загружаться успешно, если бы я не был. – Alyssa

+0

Я должен добавить - я также попробовал обновить версию Granite и использовать ее в сочетании с v1.20 родной библиотеки. Все еще не повезло. Я не верю, что для гранита есть что-то, что связано со солярием, но я определенно знаю, что у меня есть версия библиотек Solaris (sparc). Я видел, как он последовательно работал после добавления некоторых операторов регистрации в аргументы JBoss VM, но это только на одной машине. С другой стороны, более мощный сервер, он все еще не работает. Все утверждения - это журнал, хотя, поэтому я задаюсь вопросом, есть ли какое-то состояние гонки, вызывающее проблему. – Alyssa

+0

Я рассмотрел это более сегодня и увидел, что все запросы, в которые он не загружается, являются HTTP-ответом статуса 206 (частичный контент). Все, в которых он успешно загружается, имеют статус HTTP 200. Так как он иногда загружается, это заставляет меня думать, что это проблема с флеш-флеш-плеером, а не с гранитом или с родными библиотеками. Поиск информации о Flash с сообщением о частичном содержимом выглядит следующим образом. – Alyssa