Announcement Announcement Module
Collapse
No announcement yet.
Testdrive jms chat Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Testdrive jms chat

    Hi all

    I have a problem with the jms chat application that comes with the 1.0.1 testdrive.

    Steps to reproduce:
    install tomcat
    copy the testdrive.war file
    start tomcat and run the jms chat program
    try to shutdown tomcat (it hangs trying to stop a ThreadPoolExecutor, which I think is the ActiveMQ InactivityMonitor)

    description:
    The jsm chat application itself runs fine but, when I move the browser to another page or simply close it, the connection between blazeds and the jmschat topic never expires and this prevents tomcat from shutting down.

    I have tried to modify the destination to account for subscription timeout <flex:jms-message-destination id="jms-chat" jms-destination="chatTopic"
    subscription-timeout-minutes="1"/>
    and added (in flex-servrlet.xml) the timeout as above but nothing changes.


    I have also tried to modify the jmschat mxml to force a channel disconnect, but it doesn't change a thing either. Every time I run the jms chat application, Tomcat doesn't shutdown and hangs there.
    Unfortunatly, this behaviour happens in any program that make use of jms destinations.

    Has somebody else experienced this? Is there a known work around?

    My enviroment is: BlazeDS 3.2, Tomcat 6, Java 1.5, FlexBlazeDS 1.0.1

    Thank you in advance for your comments, anything is appreciated.
    Please help

    Follows an extract from the log
    INFO: Stopping service Catalina
    07-Dec-2009 14:38:01 org.apache.catalina.core.StandardWrapper unload
    INFO: Waiting for 1 instance(s) to be deallocated
    07-Dec-2009 14:38:02 org.apache.catalina.core.StandardWrapper unload
    INFO: Waiting for 1 instance(s) to be deallocated
    07-Dec-2009 14:38:03 org.apache.catalina.core.StandardWrapper unload
    INFO: Waiting for 1 instance(s) to be deallocated
    07-Dec-2009 14:38:03 org.springframework.context.support.AbstractApplic ationContext doClose
    INFO: Closing org.springframework.web.context.support.XmlWebAppl icationContext@c0c8b5: display name [WebApplicationContext for namespace 'flex-servlet']; startup date [Mon Dec 07 14:37:28 GMT 2009]; parent: org.springframework.web.context.support.XmlWebAppl icationContext@1e3118a
    07-Dec-2009 14:38:03 org.springframework.beans.factory.support.DefaultS ingletonBeanRegistry destroySingletons
    INFO: Destroying singletons in org.springframework.beans.factory.support.DefaultL istableBeanFactory@114025: defining beans [_messageBrokerHandlerAdapter,_messageBrokerDefault HandlerMapping,_jsonConfigMapEditorConfigurer,_mes sageBrokerMessagingProcessor,_flexRemotingAnnotati onPostProcessor,_messageBrokerRemotingProcessor,or g.springframework.flex.core.ExceptionTranslationAd vice#0,org.springframework.flex.core.EndpointServi ceMessagePointcutAdvisor#0,org.springframework.fle x.core.MessageInterceptionAdvice#0,org.springframe work.flex.core.EndpointServiceMessagePointcutAdvis or#1,_sessionFixationProtectionConfigurer,_message BrokerLoginCommand,_messageBrokerEndpointProcessor ,_messageBroker,org.springframework.flex.remoting. RemotingDestinationExporter#0,org.springframework. flex.remoting.RemotingDestinationExporter#1,org.sp ringframework.flex.remoting.RemotingDestinationExp orter#2,chat,secured-chat,simple-feed,market-feed,org.springframework.flex.messaging.jms.JmsAda pter#0,jms-chat,org.springframework.flex.messaging.integratio n.IntegrationAdapter#0,si-receive,org.springframework.flex.messaging.integra tion.IntegrationAdapter#1,si-send,defaultMessageTemplate,org.springframework.fl ex.remoting.RemotingDestinationExporter#3,simpleFe edStarter,org.springframework.flex.remoting.Remoti ngDestinationExporter#4,marketFeedStarter,org.spri ngframework.flex.remoting.RemotingDestinationExpor ter#5,org.springframework.flex.remoting.RemotingDe stinationExporter#6,org.springframework.flex.remot ing.RemotingDestinationExporter#7]; parent: org.springframework.beans.factory.support.DefaultL istableBeanFactory@55bb93
    07-Dec-2009 14:38:03 org.springframework.flex.remoting.RemotingDestinat ionExporter destroyDestination
    INFO: Removing remoting destination 'companyService'
    07-Dec-2009 14:38:03 org.springframework.flex.remoting.RemotingDestinat ionExporter destroyDestination
    INFO: Removing remoting destination 'industryService'
    07-Dec-2009 14:38:03 org.springframework.flex.remoting.RemotingDestinat ionExporter destroyDestination
    INFO: Removing remoting destination 'securityHelper'
    07-Dec-2009 14:38:03 org.springframework.flex.remoting.RemotingDestinat ionExporter destroyDestination
    INFO: Removing remoting destination 'marketFeedStarter'
    07-Dec-2009 14:38:03 org.springframework.flex.remoting.RemotingDestinat ionExporter destroyDestination
    INFO: Removing remoting destination 'simpleFeedStarter'
    07-Dec-2009 14:38:03 org.springframework.flex.messaging.jms.JmsAdapter manage
    INFO: client [56C05492-B51B-B45B-E5FE-B3BCA154A8AD] unsubscribed from destination [jms-chat]
    07-Dec-2009 14:38:03 org.springframework.flex.remoting.RemotingDestinat ionExporter destroyDestination
    INFO: Removing remoting destination 'securedProductService'
    07-Dec-2009 14:38:03 org.springframework.flex.remoting.RemotingDestinat ionExporter destroyDestination
    INFO: Removing remoting destination 'contactService'
    07-Dec-2009 14:38:03 org.springframework.flex.remoting.RemotingDestinat ionExporter destroyDestination
    INFO: Removing remoting destination 'productService'
    07-Dec-2009 14:38:03 org.springframework.context.support.AbstractApplic ationContext doClose
    INFO: Closing org.springframework.web.context.support.XmlWebAppl icationContext@1e3118a: display name [Root WebApplicationContext]; startup date [Mon Dec 07 14:37:25 GMT 2009]; root of context hierarchy
    07-Dec-2009 14:38:03 org.springframework.integration.scheduling.SimpleT askScheduler stop
    INFO: stopped org.springframework.integration.scheduling.SimpleT askScheduler@3a1834
    07-Dec-2009 14:38:03 org.springframework.integration.endpoint.AbstractE ndpoint stop
    INFO: stopped org.springframework.integration.config.SourcePolli ngChannelAdapterFactoryBean#0
    07-Dec-2009 14:38:03 org.springframework.integration.endpoint.AbstractE ndpoint stop
    INFO: stopped org.springframework.integration.endpoint.EventDriv enConsumer#0
    07-Dec-2009 14:38:03 org.springframework.beans.factory.support.DefaultS ingletonBeanRegistry destroySingletons
    INFO: Destroying singletons in org.springframework.beans.factory.support.DefaultL istableBeanFactory@55bb93: defining beans [_authenticationManager,_filterChainProxy,_httpSess ionContextIntegrationFilter,_filterChainProxyPostP rocessor,_filterChainList,_securityContextHolderAw areRequestFilter,_accessManager,_portMapper,_excep tionTranslationFilter,_filterSecurityInterceptor,_ sessionFixationProtectionFilter,_formLoginFilter,_ formLoginEntryPoint,_entryPointInjectionBeanPostPr ocessor,_userServiceInjectionPostProcessor,preAuth enticatedEntryPoint,org.springframework.security.p roviders.dao.DaoAuthenticationProvider#0,org.sprin gframework.security.userdetails.memory.InMemoryDao Impl#0,org.springframework.security.config.Authent icationProviderBeanDefinitionParser$Authentication ProviderCacheResolver#0,org.springframework.contex t.annotation.internalCommonAnnotationProcessor,org .springframework.context.annotation.internalAutowi redAnnotationProcessor,org.springframework.context .annotation.internalRequiredAnnotationProcessor,co mpanyService,industryService,securityHelper,produc tService,contactService,securedProductService.meth odSecurityInterceptor,securedProductService,org.sp ringframework.integration.internalDefaultConfiguri ngBeanFactoryPostProcessor,toFlex,fromFlex,org.spr ingframework.integration.message.MethodInvokingMes sageSource#0,org.springframework.integration.sched uling.IntervalTrigger#0,org.springframework.integr ation.scheduling.PollerMetadata#0,org.springframew ork.integration.config.SourcePollingChannelAdapter FactoryBean#0,org.springframework.integration.hand ler.ServiceActivatingHandler#0,org.springframework .integration.config.ConsumerEndpointFactoryBean#0, counter,connectionFactory,chatTopic,dbInit,dataSou rce,errorChannel,org.springframework.integration.h andler.LoggingHandler#0,org.springframework.integr ation.endpoint.EventDrivenConsumer#0,org.springfra mework.integration.channel.MessagePublishingErrorH andler#0,taskScheduler]; root of factory hierarchy
    07-Dec-2009 14:38:03 org.springframework.integration.scheduling.SimpleT askScheduler destroy
    INFO: shutting down TaskExecutor
    07-Dec-2009 14:38:03 org.springframework.scheduling.concurrent.ThreadPo olTaskExecutor shutdown
    INFO: Shutting down ThreadPoolExecutor
    07-Dec-2009 14:38:04 org.apache.coyote.http11.Http11Protocol destroy
    INFO: Stopping Coyote HTTP/1.1 on http-8080

    Alessandro
    Last edited by abosetti; Dec 7th, 2009, 09:41 AM. Reason: no answers

  • #2
    Looks like a bug in our JmsAdapter, not cleaning up the MessageListenerContainer upon shutdown. Thanks for the catch, I've opened a Jira to correct this: https://jira.springsource.org/browse/FLEX-87

    Comment

    Working...
    X