
|
If you were logged in you would be able to see more operations.
|
|
|
|
Environment:
|
MINA 0.8 and a SocketConnector
|
|
| Resolution Date: |
03/Dec/05 08:59 AM
|
|
I try to do a reconnection filter, automaticly connecting and reconnecting a connector until it works.
if theinitial connector.connect(...) fail, and exception is thrown, but it's not caught by IoFilter chain. It's not really a bug I think but I added a simple fix :
in SocketConnector class in the connect method :
public IoSession connect( SocketAddress address, SocketAddress localAddress,
int timeout, IoHandler handler ) throws IOException
I changed :
....
if( request.exception != null )
{
ExceptionUtil.throwException( request.exception );
}
....
into
....
if( request.exception != null )
{
filters.exceptionCaught(null,request.exception );
ExceptionUtil.throwException( request.exception );
}
....
and now my filters get the exception normaly, perhaps it's an idea to add it to MINA 0.8 ?
|
|
Description
|
I try to do a reconnection filter, automaticly connecting and reconnecting a connector until it works.
if theinitial connector.connect(...) fail, and exception is thrown, but it's not caught by IoFilter chain. It's not really a bug I think but I added a simple fix :
in SocketConnector class in the connect method :
public IoSession connect( SocketAddress address, SocketAddress localAddress,
int timeout, IoHandler handler ) throws IOException
I changed :
....
if( request.exception != null )
{
ExceptionUtil.throwException( request.exception );
}
....
into
....
if( request.exception != null )
{
filters.exceptionCaught(null,request.exception );
ExceptionUtil.throwException( request.exception );
}
....
and now my filters get the exception normaly, perhaps it's an idea to add it to MINA 0.8 ?
|
Show » |
made changes - 03/Dec/05 08:59 AM
| Field |
Original Value |
New Value |
|
Assignee
|
|
Trustin Lee
[ trustin
]
|
|
Resolution
|
|
Duplicate
[ 3
]
|
|
Status
|
Open
[ 1
]
|
Resolved
[ 5
]
|
|
Fix Version/s
|
|
0.9
[ 11069
]
|
made changes - 05/Dec/05 04:52 PM
|
Status
|
Resolved
[ 5
]
|
Closed
[ 6
]
|
|
while (!connected) {
try {
connector.connect();
connected = true;
} catch (ConnectException ce) {}
}
I think it would be more useful to have a filter which reconnects if an already established connection fails for some reason. And I think that's already possible in MINA 0.8 (if you can live with the blocking connect() call).
Another problem with this approach is that it won't work in MINA 0.9 and beyond. In MINA 0.9 there won't be a filter chain until a session has been created successfully so it won't be possible to call exceptionCaught() on the chain since there simply is no chain.