尝试使用jboss esb和java访问数据库

时间:2017-10-06 09:44:08

标签: java xml eclipse jboss jndi

我有问题通过java和jboss esb 4.2连接到我的数据库。我已经构建了一个.war包并将其部署在jboss服务器上。但我在尝试连接数据库时遇到错误。

Java方法

Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
try {
    Context initContext = new InitialContext();
    Context envContext = (Context) initContext.lookup("java:/comp/env");
    DataSource ds = (DataSource) envContext.lookup("jdbc/VINService");

    String sql = "SELECT ...";
    conn = ds.getConnection();
    stmt = conn.prepareStatement(sql);
...

的JBoss-web.xml中

<resource-ref>
    <res-ref-name>jdbc/VINService</res-ref-name>
    <jndi-name>java:jdbc/VINService</jndi-name>
    <res-type>javax.sql.DataSource</res-type>
</resource-ref>

的web.xml

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

VIN_Service-ds.xml中

<?xml version="1.0" encoding="UTF-8"?>
<datasources>
   <local-tx-datasource>
      <jndi-name>jdbc/VINService</jndi-name>
      <connection-url>jdbc:mysql://url/db?autoReconnect=true</connection-url>
      <driver-class>com.mysql.jdbc.Driver</driver-class>
      <user-name>name</user-name>
      <password>password</password>
      <min-pool-size>5</min-pool-size>
      <max-pool-size>20</max-pool-size>
      <idle-timeout-minutes>0</idle-timeout-minutes>
      <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
      <check-valid-connection-sql>SELECT 1 FROM vehiclecache limit 1</check-valid-connection-sql>
  </local-tx-datasource>
</datasources>

我做错了什么?我在

得到Nullpointer错误
  

conn = ds.getConnection()

所以它找不到数据源。 有人能帮助我吗?

0 个答案:

没有答案