Показать сообщение отдельно
Старый 12.04.2010, 03:53
Taller вне форума Посмотреть профиль Отправить личное сообщение для Taller Найти все сообщения от Taller
  № 1  
Ответить с цитированием
Taller

Регистрация: Apr 2010
Сообщений: 16
По умолчанию red5 + Flex component life cycle

Есть простое приложение на Flex + red5.
При обновлении страницы в лог red5 попадает следующее:
[ERROR] [NioProcessor-1] org.red5.server.messaging.AbstractPipe - exception when handling pipe connection event
java.lang.NullPointerException: null
at org.red5.server.stream.ClientBroadcastStream.onPipeConnectionEvent(ClientBroadcastStream.java:482) [red5.jar:na]
at org.red5.server.messaging.AbstractPipe.firePipeConnectionEvent(AbstractPipe.java:258) [red5.jar:na]
at org.red5.server.messaging.AbstractPipe.fireProviderConnectionEvent(AbstractPipe.java:248) [red5.jar:na]
at org.red5.server.messaging.AbstractPipe.unsubscribe(AbstractPipe.java:111) [red5.jar:na]
at org.red5.server.stream.ClientBroadcastStream.close(ClientBroadcastStream.java:209) [red5.jar:na]
at org.red5.server.stream.StreamService.deleteStream(StreamService.java:171) [red5.jar:na]
at org.red5.server.stream.StreamService.deleteStream(StreamService.java:156) [red5.jar:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [na:1.6.0_18]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [na:1.6.0_18]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [na:1.6.0_18]
at java.lang.reflect.Method.invoke(Method.java:597) [na:1.6.0_18]
at org.red5.server.service.ServiceInvoker.invoke(ServiceInvoker.java:200) [red5.jar:na]
at org.red5.server.net.rtmp.RTMPHandler.invokeCall(RTMPHandler.java:184) [red5.jar:na]
at org.red5.server.net.rtmp.RTMPHandler.onInvoke(RTMPHandler.java:393) [red5.jar:na]
at org.red5.server.net.rtmp.BaseRTMPHandler.messageReceived(BaseRTMPHandler.java:138) [red5.jar:na]
at org.red5.server.net.rtmp.RTMPMinaIoHandler.messageReceived(RTMPMinaIoHandler.java:180) [red5.jar:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:716) [mina-core-2.0.0-
RC2-SNAPSHOT.jar:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) [mina-core-2.0.0-RC2
-SNAPSHOT.jar:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46) [mina-core-2.0.0-RC2-SNAPSHOT.jar
:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796) [mina-core-2.0.0
-RC2-SNAPSHOT.jar:na]
at org.red5.server.net.filter.TrafficShapingFilter.messageReceived(TrafficShapingFilter.java:204) [red5.jar:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) [mina-core-2.0.0-RC2
-SNAPSHOT.jar:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46) [mina-core-2.0.0-RC2-SNAPSHOT.jar
:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796) [mina-core-2.0.0
-RC2-SNAPSHOT.jar:na]
at org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:423) [mina-core-2.0.0-R
C2-SNAPSHOT.jar:na]
at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:245) [mina-core-2.0.0-RC2-SNAPSHOT.jar:
na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) [mina-core-2.0.0-RC2
-SNAPSHOT.jar:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46) [mina-core-2.0.0-RC2-SNAPSHOT.jar
:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796) [mina-core-2.0.0
-RC2-SNAPSHOT.jar:na]
at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:119) [mina-core-2.0.0-RC2-SNAPSHOT.jar:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) [mina-core-2.0.0-RC2
-SNAPSHOT.jar:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:426) [mina-core-2.0.0-RC2-SNA
PSHOT.jar:na]
at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:715) [mina-core-2.0.0-RC2-SNAPSHOT.j
ar:na]
at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:668) [mina-core-2.0.0-RC2-SNAPSHO
T.jar:na]
at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:657) [mina-core-2.0.0-RC2-SNAPSHO
T.jar:na]
at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$500(AbstractPollingIoProcessor.java:64) [mina-core-2.0.0-RC2-SNAPS
HOT.jar:na]
at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1117) [mina-core-2.0.0-RC2-
SNAPSHOT.jar:na]
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64) [mina-core-2.0.0-RC2-SNAPSHOT.jar:na]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_18]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_18]
at java.lang.Thread.run(Thread.java:619) [na:1.6.0_18]

Вопрос:
этот ексепшн отслеживать нужно на сервере?
Или можно во флешке отследить когда будет обновляться страница (или закрываться)? тогда какой event это покажет (чтобы корректно закрыть соединение)?

Добавлено через 49 минут
пришлось в red5 сервере поправить функцию onPipeConnectionEvent...