Emmanuel do you think i can use another type of thread executor instead OrderedThreadPoolExecutor ? or nothing ?
thanks 2011/12/11 antares <anta...@virtuasport.it> > Thanks Emmanuel, > please let me know what i can do about the executor. i need only that the > messages of clients are ordered > like seems they are right now with OrderedThreadPoolExecutor > > thanks > F. > > > 2011/12/11 Emmanuel Lécharny <elecha...@apache.org> > >> On 12/11/11 11:28 PM, antares wrote: >> >>> In my log i receive some Session.close >>> >> >> Some ? You should have the same number of Session.close than you have >> opened sessions. >> >> You should first check one one single client to see if the session is >> correctly closed in any case. >> >> Regarding the reuseAddress flag, it's only valid for the acceptor, and >> does not impact the other sockets. >> >> I'd rather check if the executor is mandatory in your case. Using an >> executor has some side effects that you must handle, like you may have more >> than one request for a single session being executed at the same time. >> >>> also in mina.log >>> >>> Queue : [SESSION_CLOSED, ] >>> 23:25:28,963 DEBUG IoFilterEvent:69 - Firing a SESSION_CLOSED event for >>> session 6753 >>> 23:25:28,964 DEBUG IoFilterEvent:118 - Event SESSION_CLOSED has been >>> fired >>> for session 6753 >>> 23:25:33,206 DEBUG OrderedThreadPoolExecutor:443 - Adding event >>> SESSION_CLOSED to session 6096 >>> Queue : [SESSION_CLOSED, ] >>> 23:25:33,206 DEBUG IoFilterEvent:69 - Firing a SESSION_CLOSED event for >>> session 6096 >>> 23:25:33,207 DEBUG IoFilterEvent:118 - Event SESSION_CLOSED has been >>> fired >>> for session 6096 >>> 23:25:42,985 DEBUG OrderedThreadPoolExecutor:443 - Adding event >>> SESSION_CLOSED to session 6760 >>> Queue : [SESSION_CLOSED, ] >>> 23:25:42,985 DEBUG IoFilterEvent:69 - Firing a SESSION_CLOSED event for >>> session 6760 >>> 23:25:42,985 DEBUG IoFilterEvent:118 - Event SESSION_CLOSED has been >>> fired >>> for session 6760 >>> 23:25:43,366 DEBUG OrderedThreadPoolExecutor:443 - Adding event >>> SESSION_CLOSED to session 6065 >>> Queue : [SESSION_CLOSED, ] >>> 23:25:43,366 DEBUG IoFilterEvent:69 - Firing a SESSION_CLOSED event for >>> session 6065 >>> 23:25:43,367 DEBUG IoFilterEvent:118 - Event SESSION_CLOSED has been >>> fired >>> for session 6065 >>> 23:25:44,711 DEBUG OrderedThreadPoolExecutor:443 - Adding event >>> SESSION_CLOSED to session 6763 >>> Queue : [SESSION_CLOSED, ] >>> 23:25:44,711 DEBUG IoFilterEvent:69 - Firing a SESSION_CLOSED event for >>> session 6763 >>> 23:25:44,713 DEBUG IoFilterEvent:118 - Event SESSION_CLOSED has been >>> fired >>> for session 6763 >>> 23:25:47,612 DEBUG OrderedThreadPoolExecutor:443 - Adding event >>> SESSION_CLOSED to session 6748 >>> Queue : [SESSION_CLOSED, ] >>> 23:25:47,613 DEBUG IoFilterEvent:69 - Firing a SESSION_CLOSED event for >>> session 6748 >>> 23:25:47,613 DEBUG IoFilterEvent:118 - Event SESSION_CLOSED has been >>> fired >>> for session 6748 >>> 23:25:49,338 DEBUG OrderedThreadPoolExecutor:443 - Adding event >>> SESSION_CLOSED to session 6649 >>> Queue : [SESSION_CLOSED, ] >>> 23:25:49,338 DEBUG IoFilterEvent:69 - Firing a SESSION_CLOSED event for >>> session 6649 >>> 23:25:49,338 DEBUG IoFilterEvent:118 - Event SESSION_CLOSED has been >>> fired >>> for session 6649 >>> 23:25:49,727 DEBUG OrderedThreadPoolExecutor:443 - Adding event >>> SESSION_CLOSED to session 6466 >>> Queue : [SESSION_CLOSED, ] >>> 23:25:49,727 DEBUG IoFilterEvent:69 - Firing a SESSION_CLOSED event for >>> session 6466 >>> 23:25:49,728 DEBUG IoFilterEvent:118 - Event SESSION_CLOSED has been >>> fired >>> for session 6466 >>> >>> >>> root@ns222281:~/server/logs# netstat -ant | grep 9010 | grep >>> ESTABLISHED | >>> wc -l >>> 711 >>> >>> >>> anyway i have 711 of estabilished connections >>> >>> i am using this way to star the nioserver: >>> >>> i am doing wrong for example using reuseAddress true ? >>> >>> try { >>> acceptor = new NioSocketAcceptor(); >>> acceptor.getSessionConfig().**setReuseAddress(true); >>> acceptor.setHandler(new Connector(this.engine)); >>> acceptor.bind(new InetSocketAddress(port)); >>> DefaultIoFilterChainBuilder chain = >>> acceptor.getFilterChain(); >>> chain.addLast("codec", new ProtocolCodecFilter(new >>> FlashCrossdomainCodec())); >>> chain.addLast("pooler", new ExecutorFilter(new >>> OrderedThreadPoolExecutor())); >>> chain.addLast("ipFilter", blackListFilter); >>> log.info("[waitForClients] START SocketServer: " + >>> InetAddress.getLocalHost() + ":" + port); >>> >>> } catch (Exception e) { >>> e.printStackTrace(); >>> log.warn("[PokerServer] Error on starting Mina! Exception=" + >>> e.getMessage()); >>> System.exit(0); >>> } >>> >>> 2011/12/11 Emmanuel Lecharny<elecha...@gmail.com> >>> >>> On 12/11/11 10:44 PM, antares wrote: >>>> >>>> Hi, >>>>> i am using mina 2.0.4 and to close connections i use >>>>> session.close(true) >>>>> but with 15 player i have >>>>> over 650 connectsion ESTABILISCHED on my port 9010 >>>>> >>>>> root@ns222281:~/server# netstat -ant | grep 9010 | grep ESTABLISHED | >>>>> wc >>>>> -l >>>>> 649 >>>>> >>>>> >>>>> this java version >>>>> >>>>> java version "1.6.0_26" >>>>> Java(TM) SE Runtime Environment (build 1.6.0_26-b03) >>>>> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode) >>>>> >>>>> on this system: >>>>> Linux 2.6.38.2-grsec-xxxx-grs-ipv6-****64 >>>>> >>>>> >>>>> i start the server with these commands: >>>>> >>>>> java -server -Xms512m -Xmx512m -Xss128k -XX:+AggressiveOpts >>>>> -XX:+UseParallelGC -XX:+UseBiasedLocking -XX:NewSize=64m -jar >>>>> ./obpkr.jar& >>>>> >>>>> anyone can help me ? >>>>> >>>>> Check that your session are really closed, handling the sessionClose >>>> event. If you never receive this even, that means the session is never >>>> closed. You should also add some logs (or the log filter) to see if the >>>> session.close() is really called. >>>> >>>> It's likely to be a bug in your application... >>>> >>>> >>>> -- >>>> Regards, >>>> Cordialement, >>>> Emmanuel Lécharny >>>> www.iktek.com >>>> >>>> >>>> >> >> -- >> Regards, >> Cordialement, >> Emmanuel Lécharny >> www.iktek.com >> >> >