2016-06-11 2 views
0

Я использую jboss as 7.1.1 final выпуск. Я пытаюсь добавить mysql driver на сервер через консоль администратора. Я могу это сделать, но когда я иду создавать источники данных, я не могу найти там драйвер. Я последовал шаги, чтобы добавить драйвер на сервер, как указано в этой ссылке: http://www.appeon.com/support/documents/appeon_online_help/1.5/server_configuration_guide_for_j2ee/ch03s03s03.html#d0e4128Не удалось создать mysql datasource в Jboss 7.1.1

Я вытекало из шага 3 Установка драйвера JDBC с помощью веб-консоли, как я уже создал одно управление user.To суммировать то, что я сделал,

  1. Я добавил файл E:\DevSoftwares\servers\jboss\jboss-as-7.1.1.Final\modules\com\mysql\main\META-INF\services\java.sql.Driver драйвера и его содержание следующим образом: com.mysql.jdbc.jdbc2.optional.MysqlXADataSource (полное имя класса драйвера).

  2. создать module.xml файл внутри E:\DevSoftwares\servers\jboss\jboss-as-7.1.1.Final\modules\com\mysql\main\ и его содержимое, как показано ниже:

  3. Добавлен mysql-connector-java-5.0.8-bin.jar файл внутри E:\DevSoftwares\servers\jboss\jboss-as-7.1.1.Final\modules\com\mysql\main\

  4. Ran jar -uf mysql-connector-java-5.0.8-bin.jarMETA-INF\services\java.sql.Driver команда для изменения банки. После выполнения этой команды я мог видеть файл services\java.sql.Driver с именем класса драйвера, как указано в шаге 1, в папке META-INF файла jar, которая не была там до запуска команды.

Я взял полное имя класса драйвера для MySQL для JBoss 7.x из ниже ссылке: http://www.appeon.com/support/documents/appeon_online_help/1.5/server_configuration_guide_for_j2ee/ch03s03s07.html#d0e5769

Я был в состоянии выяснить, что является причиной проблемы, когда я пытаюсь чтобы дать развернутую банку я получаю исключение в консоли сервера, указав: невозможно создать экземпляр класса драйвера com.mysql.jdbc.jdbc2.optional.MysqlXADataSource:

Java/lang.ClassCastException: com.mysql.jdbc.jdbc2.optional.MysqlXADataSource.

Однако я проверил mysql-connector-java-5.0.8-bin.jar и смог найти класс драйвера, упомянутый выше, в той же структуре каталогов, что и полное имя классов.

Я не могу понять, почему я получаю это исключение или что я делаю неправильно во время установки, которая вызывает эту проблему. Платформа, которую я использую, - это окна. Может кто-нибудь, пожалуйста, помогите мне с этим.

Примечание: содержание module.xml

<?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.0.8-bin.jar"/> 
    </resources> 
    <dependencies> 
    <module name="javax.api"/> 
    <module name="javax.transaction.api"/> 
    </dependencies> 
</module>` 
+0

Начни с использованием последней версии Драйвер JDBC, который до сих пор 5.1.39, действительно 5.1 является рекомендуемой версией, как вы можете здесь увидеть https: //dev.mysql.com/doc/connector-j/5.1/en/connector-j-versions.html –

+0

Как насчет вашей конфигурации источника данных? –

+0

@NicolasFilotto Я пробовал с последней версией i.e 5.1.39. Теперь я могу видеть банку, пытаясь создать источник данных, но когда я тестирую соединение, я получаю сообщение об ошибке, указывающее, что соединение неверно. Однако я попытался использовать ту же строку подключения и имя пользователя, пароль через java-код и смог подключиться, что указывает на правильность информации о подключении. –

ответ

1

Пожалуйста, убедитесь, что вы добавили конфигурацию источника данных MySQL в standalone.xml или в эквивалентном файле XML: -

<subsystem xmlns="urn:jboss:domain:datasources:1.0"> 
     <datasources> 
      <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true"> 
       <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</connection-url> 
       <driver>h2</driver> 
       <security> 
        <user-name>sa</user-name> 
        <password>sa</password> 
       </security> 
      </datasource> 
      <datasource jndi-name="java:jboss/datasources/MySqlExampleDS" pool-name="MySqlExampleDS" enabled="true" use-java-context="true"> 
       <connection-url>jdbc:mysql://localhost:3306/jboss7db</connection-url> 
       <driver>mysql</driver> 
       <pool> 
        <max-pool-size>30</max-pool-size> 
       </pool> 
       <security> 
        <user-name>root</user-name> 
        <password>admin</password> 
       </security> 
      </datasource> 
      <drivers> 
       <driver name="h2" module="com.h2database.h2"> 
        <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class> 
       </driver> 
       <driver name="mysql" module="com.mysql"> 
        <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class> 
       </driver> 
      </drivers> 
     </datasources> 
</subsystem> 
+0

Мне не нужно делать этот шаг, если я настраиваю источник данных через файл конфигурации, в моем случае я настраиваю его с помощью интерфейса интерфейса консоли администратора, который, как я полагаю, создаст эту часть в файле standalone.xml после того, как весь операция завершена? –

+0

Да, пользовательский интерфейс администратора создаст выше для вас. Однако вам нужно самостоятельно создать модуль com.mysql, например загрузить драйверы и создать файл module.xml и поместить в структуру каталогов модулей. многие онлайн-примеры о том, как это сделать. – ozOli