Проблемы с созданием источника данных Wildfly 10

#postgresql #jboss #java-ee-7 #wildfly-10

#postgresql #jboss #java-ee-7 #wildfly-10

Вопрос:

Я пытаюсь создать источник данных в Wildfly 10 для подключения к базе данных PostgreSQL 9.5, я уже видел несколько руководств в Интернете, и все же я не могу этого сделать.

Если кто-нибудь сможет мне помочь, я буду очень благодарен.

Это сообщение об ошибке : enter code here

 9:06:46,300 ERROR [org.jboss.as.connector.subsystems.datasources.AbstractDataSourceService$AS7DataSourceDeployer] (MSC service thread 1-6) Error during the deployment of java:jboss/datasources/CiberWebCopierDS: javax.resource.ResourceException: IJ031103: At least one connection property must be defined for datasource-class: org.postgresql.Driver
    at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.createConnectionFactory(LocalManagedConnectionFactory.java:108)
    at org.jboss.jca.deployers.common.AbstractDsDeployer.deployDataSource(AbstractDsDeployer.java:772)
    at org.jboss.jca.deployers.common.AbstractDsDeployer.createObjectsAndInjectValue(AbstractDsDeployer.java:312)
    at org.jboss.as.connector.subsystems.datasources.AbstractDataSourceService$AS7DataSourceDeployer.deploy(AbstractDataSourceService.java:371)
    at org.jboss.as.connector.subsystems.datasources.AbstractDataSourceService.start(AbstractDataSourceService.java:149)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

19:06:46,305 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-6) MSC000001: Failed to start service org.wildfly.data-source.CiberWebCopierDS: org.jboss.msc.service.StartException in service org.wildfly.data-source.CiberWebCopierDS: WFLYJCA0033: Error during the deployment of CiberWebCopierDS
    at org.jboss.as.connector.subsystems.datasources.AbstractDataSourceService.start(AbstractDataSourceService.java:163)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: org.jboss.msc.service.StartException in anonymous service: WFLYJCA0032: Unable to start the ds because it generated more than one cf
    at org.jboss.as.connector.subsystems.datasources.AbstractDataSourceService.start(AbstractDataSourceService.java:151)
    ... 5 more
  

и это

 19:06:47,988 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
    ("subsystem" => "datasources"),
    ("data-source" => "CiberWebCopierDS")
]) - failure description: {
    "WFLYCTL0080: Failed services" => {"org.wildfly.data-source.CiberWebCopierDS" => "org.jboss.msc.service.StartException in service org.wildfly.data-source.CiberWebCopierDS: WFLYJCA0033: Error during the deployment of CiberWebCopierDS
    Caused by: org.jboss.msc.service.StartException in anonymous service: WFLYJCA0032: Unable to start the ds because it generated more than one cf"},
    "WFLYCTL0412: Required services that are not installed:" => ["org.wildfly.data-source.CiberWebCopierDS"],
    "WFLYCTL0180: Services with missing/unavailable dependencies" => undefined
}
19:06:47,990 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
    ("subsystem" => "datasources"),
    ("data-source" => "CiberWebCopierDS")
]) - failure description: {
    "WFLYCTL0080: Failed services" => {"org.wildfly.data-source.CiberWebCopierDS" => "org.jboss.msc.service.StartException in service org.wildfly.data-source.CiberWebCopierDS: WFLYJCA0033: Error during the deployment of CiberWebCopierDS
    Caused by: org.jboss.msc.service.StartException in anonymous service: WFLYJCA0032: Unable to start the ds because it generated more than one cf"},
    "WFLYCTL0412: Required services that are not installed:" => [
        "org.wildfly.data-source.CiberWebCopierDS",
        "org.wildfly.data-source.CiberWebCopierDS"
    ],
    "WFLYCTL0180: Services with missing/unavailable dependencies" => undefined
}
19:06:48,017 INFO  [org.jboss.as.controller] (Controller Boot Thread) WFLYCTL0183: Service status report
WFLYCTL0186: Services which failed to start: service org.wildfly.data-source.CiberWebCopierDS: org.jboss.msc.service.StartException in service org.wildfly.data-source.CiberWebCopierDS: WFLYJCA0033: Error during the deployment of CiberWebCopierDS.
  

Вот как я создаю module.xml

 <?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="com.h2database.h2">
    <resources>
        <resource-root path="h2-1.3.173.jar"/>
    </resources>
    <dependencies>
        <module name="javax.api"/>
        <module name="javax.transaction.api"/>
        <module name="javax.servlet.api" optional="true"/>
    </dependencies>
</module>
  

это определение драйвера:

 <driver name="postgres" module="org.postgresql">
    <datasource-class>org.postgresql.Driver</datasource-class>
</driver>
  

и это определение источника данных:

 <datasource jndi-name="java:jboss/datasources/CiberWebCopierDS" enabled="true" use-java-context="true" pool-name="CiberWebCopierDS">
    <connection-rl>jdbc:postgresql://localhost:5432/CiberWebCopierDB</connection- url>
    <driver>postgres</driver>
    <security>
        <user-name>postgres</user-name>
        <password>postgresql</password>
    </security>
</datasource
  

>

Ответ №1:

module.xml вы указали не для postgres, а для базы данных h2..

Попробуйте использовать следующий модуль и не забудьте загрузить драйвер postrgres, поместите его в modules /org/postgresql /main и измените «postgresql-Y.X-Z.jdbcV.jar » на имя драйвера, который вы загрузили.

Остальная часть вашей конфигурации выглядит хорошо, но я не уверен в настройке datasource-class в разделе driver, я думаю, что это указано в объявлении источника данных с использованием элемента driver-class .

Подводя итог:

module.xml

  <?xml version="1.0" encoding="UTF-8"?>  
<module xmlns="urn:jboss:module:1.0" name="org.postgresql">  
 <resources>  
 <resource-root path="postgresql-Y.X-Z.jdbcV.jar"/>  
 </resources>  
 <dependencies>  
 <module name="javax.api"/>  
 <module name="javax.transaction.api"/>  
 </dependencies>  
</module>  
  

определение драйвера

 <driver name="postgres" module="org.postgresql"/>
  

определение источника данных

 <datasource jndi-name="java:jboss/datasources/CiberWebCopierDS" enabled="true" use-java-context="true" pool-name="CiberWebCopierDS">
    <connection-url>jdbc:postgresql://localhost:5432/CiberWebCopierDB</connection-url>
    <driver-class>org.postgresql.Driver</driver-class>
    <driver>postgres</driver>
    <security>
        <user-name>postgres</user-name>
        <password>postgresql</password>
    </security>
</datasource>
  

РЕДАКТИРОВАТЬ: В качестве примечания, я думаю, что если вы хотите объявить класс источника данных в разделе драйвера, вам нужно использовать элемент xa-datasource-class вместо datasource-class, вы можете попробовать, если хотите.