Mysql Jboss连接池没有';t连接数据库
我使用的是JBoss7.1,我正试图通过ApplicationServer创建一个数据库连接池。我使用的是mysql数据库,但我也尝试使用Postgre数据库,错误与此相同。一切似乎都正常,但当我尝试访问应用程序时,控制台上出现了一个错误,提示我与数据库的连接失败。我的代码如下:Mysql Jboss连接池没有';t连接数据库,mysql,postgresql,jboss,Mysql,Postgresql,Jboss,我使用的是JBoss7.1,我正试图通过ApplicationServer创建一个数据库连接池。我使用的是mysql数据库,但我也尝试使用Postgre数据库,错误与此相同。一切似乎都正常,但当我尝试访问应用程序时,控制台上出现了一个错误,提示我与数据库的连接失败。我的代码如下: <jboss-web> <resource-ref> <res-ref-name>jdbc/exampleDS</res-ref-name>
<jboss-web>
<resource-ref>
<res-ref-name>jdbc/exampleDS</res-ref-name>
<jndi-name>java:jboss/jdbc/exampleDS</jndi-name>
</resource-ref>
</jboss-web>
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.mysql">
<resources>
<resource-root path="mysql-connector-java-5.1.43-bin.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
我的Jboss standalone.xml
<datasource jndi-name="java:jboss/jdbc/exampleDS" pool-name="jdbc/exampleDS" enabled="true" use-java-context="true" use-ccm="true">
<connection-url>jdbc:mysql://127.0.0.1:3306/example?useSSL=false</connection-url>
<driver>mysql-connector-java-5.1.43-bin.jar</driver>
<pool>
<min-pool-size>10</min-pool-size>
<max-pool-size>100</max-pool-size>
<prefill>true</prefill>
</pool>
<security>
<user-name>root</user-name>
<password>password</password>
</security>
<validation>
<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/>
<exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/>
</validation>
</datasource>
<driver name="mysql-connector-java-5.1.43-bin.jar" module="com.mysql">
<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlDataSource</xa-datasource-class>
</driver>
最后,当我启动jboss服务器时,没有出现任何错误,但是控制台说我的DB的表不存在
我感谢您的帮助我已经纠正了错误。
首先要做的是创建一个jboss-web.xml,其中web.xml,在我的例子中是webapp/web-INF
<jboss-web>
<resource-ref>
<res-ref-name>jdbc/exampleDS</res-ref-name>
<jndi-name>java:jboss/jdbc/exampleDS</jndi-name>
</resource-ref>
</jboss-web>
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.mysql">
<resources>
<resource-root path="mysql-connector-java-5.1.43-bin.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
jdbc/examples
java:jboss/jdbc/examples
创建之后,我们必须在modules->com->mysql->main中创建module.xml,其中包含以下内容:
<jboss-web>
<resource-ref>
<res-ref-name>jdbc/exampleDS</res-ref-name>
<jndi-name>java:jboss/jdbc/exampleDS</jndi-name>
</resource-ref>
</jboss-web>
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.mysql">
<resources>
<resource-root path="mysql-connector-java-5.1.43-bin.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
您还必须在主目录中插入您使用的.jar。
关于java代码,您需要更改initCtx.lookup(“java:comp/env”);为此:initCtx.lookup(“java:”)强>
仅此而已:)发生这种情况时,请包括正在打印到console/log的stacktrace。我在尝试使用MySQL jdbc驱动程序时遇到了类似的问题。请检查mysql驱动程序是否“安装”在正确的文件夹中。