0

Java サーブレットの RPC モデルを使用して GWT バックエンドを作成しようとしています。リモートSQLデータベースと通信するためにRPC内でトンネルをsshすることは可能ですか?

私が実行しようとしているコードは以下のとおりで、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 がローカル テスト用に作成する jetty サーバーには、コードの実行に問題があります。この状況で GWT を使用して他に何ができますか / 何をすべきですか? GWT アプリケーションのバックエンドには ssh の機能が必要ではないでしょうか??

4

1 に答える 1

0

gwt アプリを別の Web コンテナー (Tomcat、JBoss) で実行してみることをお勧めします。-noserver フラグを指定してホスト モードを実行すると、デバッグ機能を引き続き利用できます。こちらをご覧ください

于 2012-05-13T05:29:58.643 に答える