Java JBOSS驱动程序名为;org.mariadb.jdbc.Driver“;未安装
在JBOSS7中安装MariaDB Java连接器 我很难使用MariaDB在JBOSS7上部署EJBCA 6。我已经将EJBCA配置为使用JBOSS standalone。我的配置在使用默认H2数据库后端时工作。我已经在JBOSS standalone.xml中配置了mariadb Java连接器Java JBOSS驱动程序名为;org.mariadb.jdbc.Driver“;未安装,java,jboss,mariadb,ejbca,Java,Jboss,Mariadb,Ejbca,在JBOSS7中安装MariaDB Java连接器 我很难使用MariaDB在JBOSS7上部署EJBCA 6。我已经将EJBCA配置为使用JBOSS standalone。我的配置在使用默认H2数据库后端时工作。我已经在JBOSS standalone.xml中配置了mariadb Java连接器 <datasources> <datasource jndi-name="java:jboss/datasources/ExampleDS"
<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>
<drivers>
<driver name="h2" module="com.h2database.h2">
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
</driver>
<driver name="mariadb" module="org.mariadb.jdbc">
<xa-datasource-class>org.mariadb.jdbc.MySQLDataSource</xa-datasource-class>
</driver>
</drivers>
<datasource jndi-name="java:/MariaDS" pool-name="MariaDS" enabled="false">
<connection-url>jdbc:mariadb://localhost:3306/ejbca</connection-url>
<driver>mariadb</driver>
<transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
<pool>
<min-pool-size>100</min-pool-size>
<max-pool-size>200</max-pool-size>
</pool>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
<statement>
<prepared-statement-cache-size>100</prepared-statement-cache-size>
<share-prepared-statements/>
</statement>
</datasource>
</datasources>
<datasource jta="true" jndi-name="java:jboss/MariaDBDS" pool-name="MariaDBDS" enabled="true" use-ccm="false">
<connection-url>jdbc:mariadb://localhost:3306/DbName</connection-url>
<driver>mariadb-java-client-2.7.0.jar</driver>
<driver-class>org.mariadb.jdbc.Driver</driver-class>
<security>
<user-name>uname</user-name>
<password>pwd</password>
</security>
<validation>
<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/>
<validate-on-match>true</validate-on-match>
<background-validation>false</background-validation>
<exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/>
</validation>
</datasource>
我已将EJBCA database.properties设置为:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="org.mariadb.jdbc">
<resources>
<resource-root path="mariadb-java-client-1.1.5.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
database.driver=org.mariadb.jdbc.Driver
database.url=jdbc:mysql://hostname:3306/ejbca?characterEncoding=UTF
database.name=mysql
但是,当我尝试使用ant deploy将EJBCA部署到JBOSS时,部署失败,原因是:
jee:deployDSJBoss7:
[exec] Result: 1
[exec] Result: 1
[echo] data-source add --name=ejbcads --driver-name="org.mariadb.jdbc.Driver" --connection-url="jdbc:mysql://ejbca-test-05.vm:3306/ejbca?characterEncoding=UTF-8" --jndi-name="java:/EjbcaDS" --use-ccm=true --user-name="ejbca" --password="reverse" --validate-on-match=true --background-validation=false --prepared-statements-cache-size=50 --share-prepared-statements=true --min-pool-size=5 --max-pool-size=150 --pool-prefill=true --transaction-isolation=TRANSACTION_READ_COMMITTED --check-valid-connection-sql="select 1"
[exec] JBAS010468: Driver named "org.mariadb.jdbc.Driver" is not installed.
我做错了什么?我看到了一些奇怪的事情:
<datasource jndi-name="java:/MariaDS" pool-name="MariaDS" enabled="false">
enabled=false不应存在,也不应为true,如:
<datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
另外,通常有datasource元素和drivers元素
<module xmlns="urn:jboss:module:1.1" name="org.mariadb">
<resources>
<resource-root path="mariadb-java-client-1.3.3.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
<datasource jndi-name="java:jboss/MariaDBDS" pool-name="MariaDBDS" enabled="true" statistics-enabled="true">
<connection-url>jdbc:mariadb://10.92.142.148:6603/DB1</connection-url>
<driver>mariadb</driver>
<new-connection-sql>SELECT 1</new-connection-sql>
<security>
<user-name>your-database-username</user-name>
<password>password</password>
</security>
<validation>
<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/>
<check-valid-connection-sql>SELECT 1</check-valid-connection-sql>
<exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/>
</validation>
</datasource>
jdbc:mariadb://10.92.142.148:6603/DB1
马里亚布
选择1
您的数据库用户名
暗语
选择1
<driver name="mariadb" module="org.mariadb">
<xa-datasource-class>org.mariadb.jdbc.MariaDbDataSource</xa-datasource-class>
</driver>
org.mariadb.jdbc.MariaDbDataSource
对我来说,在搜罗了很多东西并收集了一些零碎的东西之后,下面的工作就完成了 首先需要通过jboss cli部署Mariadb jar文件,然后将模块添加到org/Mariadb/main下/
<?xml version="1.0" encoding="UTF-8"?> <module xmlns="urn:jboss:module:1.1" name="org.mariadb"> <resources> <resource-root path="mariadb-java-client-2.7.0.jar"/></resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> </dependencies> </module>
然后在standalone.xml中添加更改
<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>
<drivers>
<driver name="h2" module="com.h2database.h2">
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
</driver>
<driver name="mariadb" module="org.mariadb.jdbc">
<xa-datasource-class>org.mariadb.jdbc.MySQLDataSource</xa-datasource-class>
</driver>
</drivers>
<datasource jndi-name="java:/MariaDS" pool-name="MariaDS" enabled="false">
<connection-url>jdbc:mariadb://localhost:3306/ejbca</connection-url>
<driver>mariadb</driver>
<transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
<pool>
<min-pool-size>100</min-pool-size>
<max-pool-size>200</max-pool-size>
</pool>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
<statement>
<prepared-statement-cache-size>100</prepared-statement-cache-size>
<share-prepared-statements/>
</statement>
</datasource>
</datasources>
<datasource jta="true" jndi-name="java:jboss/MariaDBDS" pool-name="MariaDBDS" enabled="true" use-ccm="false">
<connection-url>jdbc:mariadb://localhost:3306/DbName</connection-url>
<driver>mariadb-java-client-2.7.0.jar</driver>
<driver-class>org.mariadb.jdbc.Driver</driver-class>
<security>
<user-name>uname</user-name>
<password>pwd</password>
</security>
<validation>
<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/>
<validate-on-match>true</validate-on-match>
<background-validation>false</background-validation>
<exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/>
</validation>
</datasource>
jdbc:mariadb://localhost:3306/DbName
mariadb-java-client-2.7.0.jar
org.mariadb.jdbc.Driver
uname
pwd
符合事实的
错误的
尝试从UI添加,而不是查看配置文件。这会更容易,也不容易出错。谢谢。但是使用ui不是我的选择,因为我正在通过Ansible部署EJBCA。无论如何,我想我找到了解决问题的办法。似乎再次运行ant deploy解决了这个错误。但是我还在调试这个。如果你在用JBOSS和MariaDB安装EJBCA时遇到麻烦,你可以看看我的角色:非常感谢你,Henrick的github链接。你让我的生活更轻松