Hi, anderson

Thanks.  I will try it.

Regards,

Li


> Subject: RE: About the time limit of connection keeps valid from standby mode
> Date: Thu, 11 Sep 2008 17:10:12 +0800
> From: [EMAIL PROTECTED]
> To: [email protected]
>
> Hi, Li
>
> It doesn't matter, just use the similar code I represented as below.
>
> It could be applied to MINA 1.x and MINA 2.x. I saw the source code change 
> between 1.7 and 2.0-M1. :P
>
> BR
> anderson
>
> -----Original Message-----
> From: li [mailto:[EMAIL PROTECTED]
> Sent: Thursday, September 11, 2008 5:03 PM
> To: [email protected]
> Subject: RE: About the time limit of connection keeps valid from standby mode
>
>
> I am sorry, I sent the mina-1.1.7 source just now.
> This is the mina-2.0.0-M1 source.
>
> connector = new NioSocketConnector();
> connector.getFilterChain().addLast(...
> connector.setHandler(handler);
> InetSocketAddress add = new InetSocketAddress(host, port); future = 
> connector.connect(add); future.awaitUninterruptibly();
>
> Btw, this source is not mine.
> I use the open source LTKJava which uses mina library.
>
> Li
>
>
>> Subject: RE: About the time limit of connection keeps valid from
>> standby mode
>> Date: Thu, 11 Sep 2008 16:40:04 +0800
>> From: [EMAIL PROTECTED]
>> To: [email protected]
>>
>> Hi, Li
>>
>> You write a wrong connection recovery handling block. Refer the following 
>> code snippet if you want to make the application can work well in all cases:
>>
>> /**
>> * connect to specified MC identified by incoming internet address
>> *
>> * @param addr
>> * IP address for MC
>> */
>> public void connectToMC(final InetSocketAddress addr) { final
>> ExecutorService executor = Executors.newFixedThreadPool(1);
>> executor.execute(new Runnable() { public void run() { ConnectFuture
>> connectFuture; try { for (;;) { connectFuture =
>> connector.connect(addr); System.out.println("tring to connect to MC: "
>> + addr); connectFuture.await(connectTimeout, TimeUnit.SECONDS); if
>> (connectFuture.isConnected()) { System.out.println("successfully
>> connected to MC: "
>> + addr);
>> // ...
>> executor.shutdown();
>> return;
>> }
>>
>> // sleep for 5 seconds and retry
>> Thread.sleep(5000);
>> }
>> } catch (InterruptedException e) {
>> e.printStackTrace();
>> }
>> }
>> });
>> }
>>
>> Here, because my app works for multiple server cluster, please throw away 
>> the ExecutorService, just extract source code lines inside run() methods.
>>
>> BR
>> anderson
>> -----Original Message-----
>> From: li [mailto:[EMAIL PROTECTED]
>> Sent: Thursday, September 11, 2008 4:31 PM
>> To: [email protected]
>> Subject: RE: About the time limit of connection keeps valid from
>> standby mode
>>
>>
>> Hi,
>>
>> Now my program logic likes this:
>> 1)the client creates a connection to a server and exchanges data with server 
>> continuously.
>> 2)the computer enters standby mode.
>> 3)bring the computer out of standby mode in about 30 minutes.
>> 4)the client send data to server as soon as wake up.
>> 5)the client receive IOException from IoHandler.exceptionCaught method.
>> 6)the client reconnect to server this way:
>> connector = new SocketConnector();
>> connector.getFilterChain().addLast(.....
>> future = connector.connect(add,handler);
>>
>> In most cases, step 6 can recover the connection, but occasionally get the 
>> following exception when trying to execute future.getSession().
>> org.apache.mina.common.RuntimeIoException: Failed to get the session.
>> at
>> org.apache.mina.common.DefaultConnectFuture.getSession(DefaultConnectF
>> uture.java:58)
>>
>> This problem is difficult to reproduce.
>> If anyone has any advice, please tell me.
>> Li
>>
>> _________________________________________________________________
>> 秋本番!連休たくさんのこの秋、みんなのオススメ週末旅行をチェックしよう
>> http://clk.atdmt.com/GBL/go/112813570/direct/01/
>
> _________________________________________________________________
> 【女性版ビリー?】話題の自宅燃焼系!美しく健康的なくびれをゲット!
> http://clk.atdmt.com/GBL/go/112813569/direct/01/

_________________________________________________________________
あなたが困ったことは日本の誰かも困ってる?相談箱で調べてみよう!
http://clk.atdmt.com/GBL/go/112817927/direct/01/

Reply via email to