我正在尝试使用 Java servlet 的 RPC 模型编写 GWT 后端。是否可以在 RPC 中通过 ssh 隧道与远程 sql 数据库通信?
我尝试执行的代码如下,使用 Jsch。错误发生在“session.connect();”上
String host="xxxxx.xxx.edu";
String user="username";
String password="password";
Session session= null;
try{
//Set StrictHostKeyChecking property to no to avoid UnknownHostKey issue
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
JSch jsch = new JSch();
session=jsch.getSession(user, host, 22);
session.setPassword(password);
session.setConfig(config);
session.connect();
}
我在“session.connect()”行上得到的运行时错误如下:(向右滚动查看整个错误)
com.jcraft.jsch.JSchException: java.security.AccessControlException: access denied (java.net.SocketPermission xxxxx.xxx.edu resolve)
at com.jcraft.jsch.Util.createSocket(Util.java:341)
at com.jcraft.jsch.Session.connect(Session.java:194)
at com.jcraft.jsch.Session.connect(Session.java:162)
at com.front.server.GameServiceImpl.createGame(GameServiceImpl.java:39)
令人沮丧的部分是我将完全相同的代码复制/粘贴到一个简单的 java 程序中并且它可以工作。所以我知道代码是正确的;显然,GWT 为本地测试创建的码头服务器在执行代码时存在问题。在使用 GWT 的这种情况下,我还能做什么/我应该做什么?GWT 应用程序的后端不应该有 ssh 的能力吗?