使用JDBC DataSource的Nullpointer getConnection()

时间:2016-01-04 00:00:25

标签: java mysql tomcat jdbc raspberry-pi

我收到一个nullpointer异常,因为下面的代码返回null。

conn = ds.getConnection();

我花了整整一个晚上试图调试它,没有任何运气。而且我知道有很多关于dataSource.getConnection()的nullpointer异常的帖子,但没有任何帮助。

网站在我的Mac上运行得非常好,但现在我想通过Tomcat在我的Raspberry Pi上托管它。我已经安装了Tomcat和MySQL并将其全部设置好。当空值指针发生时,网站可以正常工作,除非需要使用数据库中的内容。

  • 我已确认ds不是来自:ds = (DataSource) context.lookup("java:comp/env/jdbc/psite");
  • 我尝试了不同的getConnection变体,例如DriverManager.getConnection(name,username,psw);
  • 在我的Tomcat / lib中的Raspberry Pi上,我有我的mysql-connector -... jar

我的xml文件如下所示:

的Tomcat / CONF / context.xml中

<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource
    name="jdbc/psite"
    auth="Container"
    type="javax.sql.DataSource"
    username="sonie"
    password="******"
    driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql://localhost:3306/psite
    maxActive="8"
    maxIdle="4" />

的Tomcat / CONF / server.xml中

<Resource name="jdbc/psite"
      global="jdbc/psite"
      auth="Container"
      type="javax.sql.DataSource"
      driverClassName="com.mysql.jdbc.Driver"
      url="jdbc:mysql://localhost:3306/psite"
      username="sonie"
      password="******"

      maxActive="100"
      maxIdle="20"
      minIdle="5"
      maxWait="10000"/>

MyProject的/ WEB-INF / web.xml中

<resource-ref>
    <res-ref-name>
     jdbc/psite
    </res-ref-name>
    <res-type>
     javax.sql.DataSource
    </res-type>
    <res-auth>
     Container
    </res-auth>
  </resource-ref>

任何想法可能出错?我很确定我已经把它钉在了我的Raspberry Pi上的一些配置问题,因为它以前在我的Mac上工作正常。

编辑:

即使是,它是Nullpointer,我还没有像普通的Nullpointer一样调试它,因为它在我的Mac上在eclipse中正常工作,但是当它部署在Raspberry Pi上时却没有。所以我无法获得printstack。

它没有重复,因为无法像普通的NullPointer一样调试它。

0 个答案:

没有答案