Hello Mark,
pls. remove
con.start()
because SelectorThread starts it itself. Hope this will resolve the
problem.
Thanks.
WBR,
Alexey.
On Sep 17, 2008, at 11:10 , Mark Hig wrote:
>
> Yes we see the problem when no messages have been processed (i.e. a
> straight
> start and stop).
>
> /**
> * Stop the listener
> */
> public void stop()
> {
> isRunning=false;
> try
> {
> con.stop();
> }
> catch(Exception e)
> {
> e.printStackTrace();
> loggingExceptionHandler.handle(Thread.currentThread(), e);
> }
>
> }
> /**
> * @see java.lang.Runnable#run()
> * Run the listener
> */
> public void run()
> {
> // tell Grizzly to use our logger
> LoggerUtils.setLogger(new GrizzlyLoggingBridge(log));
>
> sel = new SelectorThread();
> sel.setPort(port);
> sel.setEnableNioLogging(true);
>
> con = new Controller();
> con.setReadThreadsCount(readThreadsCount);
> sel.setController(con);
> sel.setMaxThreads(maxThreads);
> sel.setMinThreads(minThreads);
> sel.setKeepAliveTimeoutInSeconds(keepAliveTimeoutInSeconds);
> sel.setSsBackLog(backlog);
> SelectorThread.setSelectorTimeout(1000000);
>
> // pre-register the JMX beans
> // try
> // {
> // sel.preRegister(mbs, new
> ObjectName
> ("Grizzly:type=GrizzlyKeepAliveStats,name=GrizzlyKeepAliveStats"));
> // sel.preRegister(mbs, new
> ObjectName
> ("Grizzly:type=GrizzlyPipelineStats,name=GrizzlyPipelineStats"));
> // sel.preRegister(mbs, new
> ObjectName
> ("Grizzly:type
> =GrizzlyRequestGroupInfo,name=GrizzlyRequestGroupInfo"));
> // sel.preRegister(mbs, new
> ObjectName
> ("Grizzly:type=GrizzlyRequestInfo,name=GrizzlyRequestInfo"));
> // }
> // catch (Exception e1)
> // {
> // // not a fatal error but log it
> // log.error("Failed to pre-register Grizzly JMX beans.");
> // }
>
> // create the JMX manager
> // sel.setManagement(management);
>
> //Get and set up the Grizzly filter
> ICallbackAdapter adapter =
> (ICallbackAdapter
> )SpringBeanFactory.getInstance().getBean(GRIZZLY_ADAPTER);
> adapter.setCallbackKey(CALLBACK_KEY);
> sel.setAdapter((Adapter)adapter);
>
> //Get and set up the Grizzly adapter
> final AsyncHandler handler = new DefaultAsyncHandler();
> ICallbackFilter filter =
> (ICallbackFilter
> )SpringBeanFactory.getInstance().getBean(GRIZZLY_FILTER);
> filter.setCallbackKey(CALLBACK_KEY);
> handler.addAsyncFilter((AsyncFilter)filter);
>
> sel.setAsyncHandler(handler);
> sel.setEnableAsyncExecution(true);
> sel.setDisplayConfiguration(false);
> sel.setEnableNioLogging(false);
>
> try
> {
> sel.initEndpoint();
>
> isRunning=true;
> log.info("accepting requests on port " + port);
> con.start();
>
> sel.startEndpoint();
> }
> catch(Exception e)
> {
> log.error("unable to accept requests - failed to start
> listener...");
> isRunning=false;
> loggingExceptionHandler.handle(Thread.currentThread(), e);
> }
> log.info("nolonger accepting requests.");
>
> }
>
> --
> View this message in context: http://www.nabble.com/Cannot-stop-Grizzly-tp19495137p19527777.html
> Sent from the Grizzly - Users mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>