我知道,这个问题建立在所有google和stackoverflow之上,但我的问题并没有解决,我没有找到解决方案= /
所以,很简单,我的WildFly似乎没有看到我的mysql连接器。
我尝试使用mysql-connector-java-5.1.38
module.xml(wildfly-10.1.0.Final \ modules \ system \ layers \ base \ com \ mysql \ main)
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="com.mysql">
<resources>
<resource-root path="mysql-connector-java-5.1.38.jar"/>
</resources>
<dependencies>
<modue name="javax.api"/>
</dependencies>
</module>
有没有&#34; .jar&#34;在mysql-connector-java-5.1.38
上数据源
<datasources>
<datasource jndi-name="java:/budget-datasource" pool-name="budget-datasource" enabled="true" use-java-context="true" use-ccm="true">
<connection-url>jdbc:mysql://127.0.0.1:3306/budget?zeroDateTimeBehavior=convertToNull</connection-url>
<driver>mysql</driver>
<security>
<user-name>root</user-name>
</security>
</datasource>
<drivers>
<driver name="mysql" module="com.mysql">
<xa-datasource-class>com.mysql.jdbc.Driver</xa-datasource-class>
</driver>
</drivers>
</datasources>
我试图替换
<xa-datasource-class>com.mysql.jdbc.Driver</xa-datasource-class>
通过
<driver>com.mysql.jdbc.Driver</driver>
但没有工作
完整有趣的堆栈跟踪 错误[org.jboss.as.controller.management-operation](ServerService线程池 - 33)WFLYCTL0013:操作(&#34;添加&#34;)失败 - 地址:([ (&#34;子系统&#34; =&gt;&#34;数据源&#34;), (&#34; jdbc-driver&#34; =&gt;&#34; mysql&#34;)
ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
("subsystem" => "datasources"),
("data-source" => "budget-datasource")
]) - failure description: {
"WFLYCTL0412: Required services that are not installed:" => ["jboss.jdbc-driver.mysql"],
"WFLYCTL0180: Services with missing/unavailable dependencies" => [
"org.wildfly.data-source.budget-datasource is missing [jboss.jdbc-driver.mysql]",
"jboss.driver-demander.java:/budget-datasource is missing [jboss.jdbc-driver.mysql]"
]
}
ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
("subsystem" => "datasources"),
("data-source" => "budget-datasource")
]) - failure description: {
"WFLYCTL0412: Required services that are not installed:" => [
"jboss.jdbc-driver.mysql",
"jboss.jdbc-driver.mysql"
],
"WFLYCTL0180: Services with missing/unavailable dependencies" => [
"org.wildfly.data-source.budget-datasource is missing [jboss.jdbc-driver.mysql]",
"jboss.driver-demander.java:/budget-datasource is missing [jboss.jdbc-driver.mysql]",
"org.wildfly.data-source.budget-datasource is missing [jboss.jdbc-driver.mysql]"
]
}
INFO [org.jboss.as.controller] (Controller Boot Thread) WFLYCTL0183: Service status report
WFLYCTL0184: New missing/unsatisfied dependencies:
service jboss.jdbc-driver.mysql (missing) dependents: [service jboss.driver-demander.java:/budget-datasource, service org.wildfly.data-source.budget-datasource]
我使用Eclipse Mars来开发,需要配置项目才能使用mysql连接器吗?
提前,感谢很多,很多寻求帮助,我很失落
我找到了解决方案:
<modue name="javax.api"/>
<module name="javax.api"/>
答案 0 :(得分:1)
然后创建一个mysql模块,尝试另一种方式:
1)在Wildfly上部署jar mysql-connector-java-5.1.38.jar
2)将数据源设置如下
<datasources>
<datasource jndi-name="java:/budget-datasource" pool-name="budget-datasource" enabled="true" use-java-context="true" use-ccm="true">
<connection-url>jdbc:mysql://127.0.0.1:3306/budget?zeroDateTimeBehavior=convertToNull</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<driver>mysql-connector-java-5.1.38.jar</driver>
<security>
<user-name>root</user-name>
</security>
</datasource>
</datasources>
答案 1 :(得分:1)
Absent one mandatory step : you need to reference the module as a driver in WildFly configuration with the following jboss-cli command.
The Command Line
All admin operations can be also done through the command line. To activate WildFly command line prompt start WildFly, go to the WILDFLY_HOME/bin folder and execute the command:
#> jboss-cli.sh(.bat) --connect
It connects to localhost and port 9990 by default. The prompt looks like [standalone@localhost:9990 /], indicating it is ready to accept admin commands. Type quit when you are done. Command line examples are spreaded througout the text. Before using them, please remove all line breaks and identation spaces, making them a continous text string. For example:
Instead of doing exactly this:
[standalone@localhost:9990 /] /subsystem=datasources/jdbc-driver=mysql:add(
driver-name=mysql,
driver-module-name=com.mysql,
driver-class-name=com.mysql.jdbc.Driver
)
You should do this:
[standalone@localhost:9990 /] /subsystem=datasources/jdbc-driver=mysql:add(driver-name=mysql,driver-module-name=com.mysql,driver-class-name=com.mysql.jdbc.Driver)
这将解决问题,驱动器会出现在WildFly 10的已注册驱动程序列表中
答案 2 :(得分:0)
在您的model.xml上简单定义:
<resources>
<resource-root path="mysql-connector-java-8.0.11.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
答案 3 :(得分:0)
此问题的一种解决方案:编辑standalone.xml,在bloc中添加此行
<driver name="mysql" module="com.mysql"/>
示例
<drivers>
<driver name="mysql" module="com.mysql"/>
</drivers>`