Как правильно настроить MySQL DataSource в JBoss AS 7? - PullRequest
0 голосов
/ 19 сентября 2018

Прочитав несколько постов в Интернете, я выполнил следующее в своей установке JBoss AS 7:

Добавил новый модуль в ... / modules / com / mysql / main:

<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="com.mysql">
  <resources>
    <resource-root path="mysql-connector-java-5.1.47.jar"/>
  </resources>
  <dependencies>
    <module name="javax.api"/>
    <module name="javax.transaction.api"/>
    <module name="javax.resource.api"/>
  </dependencies>
</module>

Создан новый источник данных в standalone.xml:

<datasource jta="false" jndi-name="java:jboss/env/jdbc/Mysql_PRPPG" pool-name="env/jdbc/Mysql_PRPPG" enabled="true" use-ccm="true">
    <connection-url>jdbc:mysql:200.17.247.200:3306/xxx</connection-url>
    <driver>mysql</driver>
    <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
    <pool>
        <min-pool-size>20</min-pool-size>
        <max-pool-size>100</max-pool-size>
    </pool>
    <security>
        <user-name>discentes</user-name>
        <password>discentes@$*2018</password>
    </security>
    <validation>
        <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/>
        <validate-on-match>false</validate-on-match>
        <background-validation>false</background-validation>
        <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/>
    </validation>
    <statement>
        <share-prepared-statements>false</share-prepared-statements>
    </statement>
</datasource>

Добавлен новый драйвер в standalone.xml:

<driver name="mysql" module="com.mysql">
    <driver-class>com.mysql.jdbc.Driver</driver-class>
</driver>

JBoss запускается нормально, но когда я открываю консольстраницы и выполнить тест соединения я получаю исключение:

Caused by: javax.resource.ResourceException: Wrong driver class [class com.mysql.jdbc.Driver] for this connection URL [jdbc:mysql:200.17.247.200:3306/discentes-ppg]
    at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(LocalManagedConnectionFactory.java:256) [ironjacamar-jdbc-1.0.12.Final.jar:1.0.12.Final]
    ... 41 more

Что не так?

Ответы [ 2 ]

0 голосов
/ 20 сентября 2018

После хорошего ночного сна, хорошей чашки утреннего кофе и обзора всей моей работы я обнаружил, что строка

<connection-url>jdbc:mysql:200.17.247.200:3306/xxx</connection-url>

на самом деле должна быть

<connection-url>jdbc:mysql://200.17.247.200:3306/xxx</connection-url>

Таким образом, отсутствующее «//» перед IP-адресом препятствовало созданию соединения.

0 голосов
/ 20 сентября 2018

Вы можете попробовать использовать следующий синтаксис для соединения JDBC с MS SQL Server:

jdbc:sqlserver://<host>:<port>;<propertyName>=<propertyValue>

...