首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java jdbc超时

Java jdbc超时
EN

Stack Overflow用户
提问于 2018-06-24 01:45:11
回答 1查看 193关注 0票数 0

我正在尝试用java中的一个singelton类连接到我的数据库。这是我当前的代码:

public class Database {

public static Database instance;

private Connection connection;

private Database() {
    try {
        Class.forName("com.mysql.jdbc.Driver");
        Log.debug("ok");
        this.connection = DriverManager.getConnection("jdbc:mysql://just.not.for.you:3006/database?connectTimeout=5000", "database", "secret");
        Log.debug("ok");
    } catch (ClassNotFoundException e) {
        Log.warn("Cloud not find jdbc driver class");
    } catch (SQLException e) {
        Log.warn("Cloud not connect to database: " + e.getMessage(), e);
    }
}


public static synchronized Database getInstance() {
    if(Database.instance == null) {
        Database.instance = new Database();
    }
    return Database.instance;
}

在我的主类中,我调用了Database.getInstance(),但是什么也没有发生。没有错误,没有超时消息。这似乎是一个无穷无尽的循环。我在第10行看到了第一条调试消息,但没有看到第12行的消息。

有什么问题吗?

编辑:我可以用我的本地计算机通过mysql工作台连接到远程数据库

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-24 02:26:57

我在你的代码中发现了一些问题!

因为是deprecated

  • Checkout mysql

  • 端口,默认端口是3306,而不是3006com.mysql.cj.jdbc.Driver,所以用新的驱动程序com.mysql.cj.jdbc.Driver替换com.mysql.jdbc.Driver
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51003650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档