我正在使用Netbeans 8.1和JavaFX場景生成器來製作App。當我需要執行上的一個按鈕點擊一個ssh連接測試,我已經從https://code.google.com/p/sshxcute/這裏使用sshexec罐子,我想在我的應用程序請參見下面的代碼片段sshexec中的ConnBean對象沒有被清除或重置
SSHExec ssh = null;
int val = 0;
String getURLFromUI=txtServerUrl.getText().trim();
String getUsernameFromUI=txtUserName.getText().trim();
String getPasswordFromUI=pwdPassword.getText().trim();
System.out.println("URL : " +getURLFromUI);
System.out.println("User : " +getUsernameFromUI);
System.out.println("Pass : " +getPasswordFromUI);
try {
ConnBean cb = new ConnBean(getURLFromUI, getUsernameFromUI,getPasswordFromUI);
ssh = SSHExec.getInstance(cb);
boolean connected = ssh.connect();
if(connected){
val++;
showBuildServerStatus.setText("Connection Done!!!!!!" +val);
}else{
val++;
showBuildServerStatus.setText("Connection Failed!!!!!!"+val);
}
// ssh = SSHExec.getInstance(cb1);
}
catch (Exception e)
{
System.out.println(e.getMessage());
e.printStackTrace();
}
finally
{
ssh.disconnect();
}
當我運行我的應用程序,發現以下問題:
- 如果我用有效/無效參數進行3-4次點擊(不重新啓動應用程序),ConnBean對象不會被重置。
預計:每次點擊值都應該更新。
E.g.如果用戶在第一次低於行控制檯打印提供1.1.1.1
:
Trying to connect [email protected]
在secoond嘗試用戶提供印在控制檯2.2.2.2
下面一行:
Trying to connect [email protected]
所以,我關心的是:
我的代碼是否正確?我錯過了一些重要的東西嗎?
在每次點擊連接時都應該對給定值進行連接。
P.S. :在system.print顯示正確的值(按照用戶輸入),但是當ssh.connect();方法從SSHEXEC api調用,它顯示了第一個傳遞的值。
如果問題不清楚,請讓我知道。
UPDATE 1:
通過使用https://code.google.com/p/sshxcute/issues/detail?id=8上述問題本補丁是固定的。但還有一件事值得關注的是
成功執行腳本後,它顯示Now wait 5 seconds to begin next task ...
並且腳本再次執行。看下面的代碼片段:
CustomTask sampleTask = new ExecCommand("/usr/checkoutcode.sh");
Result rs = ssh.exec(sampleTask);
任何人有任何想法爲什麼這個廢話發生?
對不好的英語道歉,請隨時更新。 – MonsterJava
存在與您的問題有關的問題。你可以找到一個解決方案[這裏](https://code.google.com/p/sshxcute/issues/detail?id=8) – Inge
非常感謝@Inge ..看起來非常有用。 – MonsterJava