Hi,

I'm trying to send a few commands to a bunch of cisco switch using jcsh shell 
channel.

Most of the times (98/100) it works flawlessly, but there are some sessions 
that hang (and it's not always the same switch that is being accessed). Here is 
the 
piece of code:

JSch jsch=new JSch();
jsch.setConfig("StrictHostKeyChecking","no");
Session session=jsch.getSession(user,hostIP,22);
session.setPassword(password);
session.setServerAliveInterval(1000);
session.connect(30000);
ChannelShell channel = (ChannelShell) session.openChannel("shell");
OutputStream inputstream_for_the_channel = channel.getOutputStream();
PrintStream commander = new PrintStream(inputstream_for_the_channel, true);

FileWriter fw= new FileWriter(directory + filename+".txt");

InputStream outputstream_from_the_channel = channel.getInputStream();
BufferedReader br = new BufferedReader(new 
InputStreamReader(outputstream_from_the_channel));
String line;
System.out.println(session.isConnected());
channel.connect();
System.out.println(session.isConnected());

//sends commands to the switch
commander.println("terminal length 0"); 
String commandstemp[] = commands.split("\n");
for(int i = 0;i>>>>>>> When it hangs it's here, the bufferedReader is not ready 
and the session is not connected anymore

while((!br.ready()) && (i<2)){
Thread.sleep(2000);
i=i+1;
System.out.println("not ready");
System.out.println(session.isConnected());
}
if(i==2){
channel.disconnect();
System.out.println(channel.isConnected());
}
line=br.readLine();
Pattern p = Pattern.compile("^.*>exit$");
Matcher m = p.matcher(line);
b = m.matches();
fw.write(line+"\n");
}
session.disconnect();

A successfull attempt will output:
Before channel.connect(), session is connected : true
After channel.connect(), session is connected : true

An unsuccessfull one:

Before channel.connect(), session is connected : true
After channel.connect(): session is connected : true
After checking if the bufferedreader is ready, session is connected : false


Questions:

Is there anything I'm doing seriously wrong (I'm not a dev so forgive my 
horrible coding)?
Is there anything I can do to get more info about what's happening when it 
hangs?

Thanks

Lang



___________________________________________________________
Mode, hifi, maison,… J'achète malin. Je compare les prix avec Voila.fr 
http://shopping.voila.fr/
___________________________________________________________
Mode, hifi, maison,… J'achète malin. Je compare les prix avec Voila.fr 
http://shopping.voila.fr/

------------------------------------------------------------------------------
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test & Deployment 
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees_APR
_______________________________________________
JSch-users mailing list
JSch-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jsch-users

Reply via email to