我正在Spring MVC中创建一个系统,其中需要使用两个不同的网络。
网络一-192.168.13。*这是数据库的加载位置
第二个网络-192.168.16。*,这是连接SMS GATEWAY(Yeastar TG00)的位置。
要将程序连接到SMS GATEWAY,并不断获取存储在其中的消息,我正在使用SSH。下面是执行此操作的代码。
private String getSmsDump() {
StringBuilder sb = new StringBuilder();
try {
String command = "sqlite3 /persistent/var/lib/asterisk/db/MyPBX.sqlite \".read /persistent/script/cwms/smsrecv_html.sqlc\"";
String host = this.sshHost;
String user = this.sshUser;
String password = this.sshPassword;
int port = this.sshPort;
JSch jsch = new JSch();
Session session = jsch.getSession(user, host, port);
Properties config = new Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.setPassword(password);
session.connect();
LOGGER.debug("Session Connected? : " + session.isConnected());
Channel channel = session.openChannel("exec");
((ChannelExec) channel).setCommand(command);
channel.setInputStream(null);
((ChannelExec) channel).setErrStream(System.err);
InputStream input = channel.getInputStream();
channel.connect();
LOGGER.debug("Channel Connected to machine " + host + " server with command: " + command);
try {
LOGGER.debug("Input: " + input);
InputStreamReader inputReader = new InputStreamReader(input);
BufferedReader bufferedReader = new BufferedReader(inputReader);
String line = null;
LOGGER.debug("Buffered Reader Readline: " + bufferedReader.readLine());
while ((line = bufferedReader.readLine()) != null) {
sb.append(line);
}
//LOGGER.debug("Message Dump: " + sb.toString());
bufferedReader.close();
inputReader.close();
} catch (IOException ex) {
LOGGER.error(ex.getMessage());
}
channel.disconnect();
session.disconnect();
} catch (JSchException | IOException ex) {
LOGGER.error(ex.getMessage());
}
return sb.toString();
} // end getSmsHtmlDump()
这正在tomcat 8.0.27中运行
我检查了连接,并说我已连接。
getSmsDump-会话已连接? :正确
我得到的错误是:
getSmsDump-Session.connect:java.net.SocketException:软件导致连接中止:recv失败
另一个人也遇到此错误,但我认为发生此错误是因为程序试图插入不可用的内容。
bad SQL grammar nested exception is java.sql.SQLException ORA-06550 line 4, column 9 PLS-00103 Encountered the symbol END when expecting one of the following
我尝试在server.xml中更改请求超时的时间,但没有任何改变。
这是我serverl.xml中的连接器
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="600000"
redirectPort="8443" />
我还尝试删除所有防火墙,尝试使用另一台计算机。 我被困住了,自上周以来我一直在研究这个问题,我似乎找不到解决它的方法。请帮助我。
我可以提供其他资源。我只是不知道我需要在这里放置的所有东西,以便你们有效地帮助我。
谢谢!