java - Why does setting a MessageListener on a MessageConsumer not cause the program to continue after the main thread dies? -
i setting messagelistener , expect program still run (since listening thread still alive), after "finished" printed on screen, program terminated. idea why happens , how fix it?
messagelistener messagelistener = new delegationreceiver(); properties p = propertiesloader.getproperties("jms.properties"); initialcontext cntxt = new initialcontext(); cntxt.addtoenvironment(context.initial_context_factory, p.getproperty("namingfactory")); cntxt.addtoenvironment(context.url_pkg_prefixes, p.getproperty("urlpackages")); cntxt.addtoenvironment(context.provider_url,p.getproperty("providerurl")); cntxt.addtoenvironment(context.security_principal,"default"); cntxt.addtoenvironment(context.security_credentials,"password"); connectionfactory tfact = (connectionfactory) cntxt.lookup(p.getproperty("topicfactory")); topic topic = (topic) cntxt.lookup(p.getproperty("mytopic")); connection connection = tfact.createconnection(); session session = connection.createsession(false, session.auto_acknowledge); messageconsumer mc = session.createconsumer(topic); mc.setmessagelistener(messagelistener); connection.start(); system.out.println("finished");
Comments
Post a Comment