通过AS400验证连接

时间:2014-12-03 14:18:48

标签: java ibm-midrange jt400

我的方法必须尝试连接到其他数据库服务器。当我在Linux服务器上运行我的应用程序时 - 一切都好。当我在Windows操作系统上运行时 - 我有java.net.SocketTimeoutException: Read timed out

 private boolean pingServer(String host) {
    String username = "username";
    String password = "password";
    boolean successful;

    AS400 as400 = new AS400(host, username, password);
    SocketProperties socketProperties = as400.getSocketProperties();
    socketProperties.setLoginTimeout(TIMEOUT_MILLISEC);
    socketProperties.setSoTimeout(TIMEOUT_MILLISEC);

    as400.setSocketProperties(socketProperties);
    try{
        successful = as400.validateSignon();
    } catch (AS400SecurityException e) {
        successful = true;
    } catch (IOException e) {
        successful = false;
    } catch (TransactionException e) {
        successful = false;
    }
    as400.disconnectAllServices();
    as400 = null;
    return successful;
}

有人可以给我一些建议吗? 感谢。

1 个答案:

答案 0 :(得分:2)

AS / 400连接使用大量必须可用的网络端口。

尝试禁用您和服务器之间的所有防火墙,然后重试。这包括Windows系统上的软件防火墙(可能是防病毒套件的一部分)