Hi, now I often encounter this problem.
1) Firstly,
- I created an Instance of SocketAcceptor and do bind more than 1 data
port to that SocketAcceptor.
- There are 3 data senders will connect to my software and send date
with huge speed.
- After awhile (5 mins), I call the unbindAll() to stop all listening
data port (after adding some log messages in the unbindAll() method):
+ the 1st port is unbound successfully.
+ the 2nd port: the unbind could not successfully due to the
"wait()" command is locked forever (I m not sure the reason why).
=> I think that it is really the MINA bug. Do I miss anything?
One more thing, if there is no connection to any port => the unbindAll()
is always returned.
2) I have to try to create amount of SocketAcceptor (each instance just
is bound only one data port).
- Execute the test scenario above again, the unbindAll() is returned ok.
I could not upload my software because of IT protection policy.
I hope that I could make a simple app to reproduce this kind of problem
so that the MINA community would solve this one completely.
Thanks & best regards,
Hieu Phan.
> -----Original Message-----
> From: Hieu Phan Thanh [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, November 01, 2006 4:40 PM
> To: [email protected]
> Subject: RE: [MINA 0.8.3] Could not stop listening on Port
>
> Hi all you guys,
>
> To solve this problem, I think that we should review the source code
> more carefully.
>
> I don't know exactly.
> But IMO in the "unbind" method we have the "request.wait()" here.
> What will happened if the "notify" thread is happened before the
"wait"
> thread? The "unbind" method will be never returned?
>
> --BEGIN--
> synchronized( request )
> {
> while( !request.done )
> {
> try
> {
> request.wait();
> }
> catch( InterruptedException e )
> {
> ExceptionMonitor.getInstance().exceptionCaught( e
);
> }
> }
> }
> --END--
>
> Thanks & best regards,
> Hieu Phan.