[
https://issues.apache.org/jira/browse/SSHD-1278?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17566274#comment-17566274
]
dgü commented on SSHD-1278:
---------------------------
I may not have defined the problem well. Let me clarify:
+For try-with-resource:+
I can not use {{try-with-resource}} block since the logic is not limited in
{{try-with-resource}} block. After a resource is created, it is used by the
other part of the code. If I use {{try-with-resource}} block, resource would be
closed before used by the other part of the code.
A pseudo code:
{quote}
//App.java
//on init
resource = ...;
Object getResource() {
return resource;
}
//on exit
void closeResource()
resource.close();
}
//Thread1
doOp1(resource.getResource()); // gets created resource above
//Thread2
doOp2(resource.getResource()); // gets created resource above
{quote}
> How to release client connection resources after connection timeout occurs ?
> ----------------------------------------------------------------------------
>
> Key: SSHD-1278
> URL: https://issues.apache.org/jira/browse/SSHD-1278
> Project: MINA SSHD
> Issue Type: Question
> Affects Versions: 2.8.0
> Environment: Java SE 8, NetBeans IDE 8.2
> Reporter: dgü
> Assignee: Lyor Goldstein
> Priority: Major
>
> Hello!
> I want to release client connection resources after connection timeout occurs
> ?
> This is the code:
> {code:java}
> ConnectFuture connectFuture = sshClient.connect(uri.toString());
> try {
> //connectFuture.isConnected() returns false
> connectFuture.verify(timeout);
> } catch (IOException e) {
> //connectFuture.isConnected() returns true
> connectFuture.cancel();
> //connectFuture.isCanceled() returns false
> //connectFuture.isConnected() returns true
> throw e;
> }
> {code}
> I guess there is a race condition between client connection and
> {{ConnectFuture#isConnected()}}.
> For example, this code may be wrong:
> {code:java}
> if (!connectFuture.isConnected()) {
> //connectFuture.isConnected() may return true
> }
> {code}
> In my case, session is connected after timeout.
> How can I be sure that client is still not connected and release its
> resources after connection timeout occurs ?
> Thanks in advance!
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]