Конфигурации Wildfly с dataSource
это первый раз, когда я пытаюсь настроить источник данных на моем сервере Wildfly. Я попытался следовать некоторым учебникам, которые я нашел в Google, но он все еще не работает.
Я работаю над веб-службой, но я продолжаю получать некоторые ошибки при развертывании .War-файл.
вот последний журнал при развертывании приложения:
22:16:33,049 INFO [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015877: Stopped deployment IslamicPostsWS.war (runtime-name: IslamicPostsWS.war) in 7ms
22:16:33,184 INFO [org.jboss.as.server] (XNIO-1 task-2) JBAS018558: Undeployed "IslamicPostsWS.war" (runtime-name: "IslamicPostsWS.war")
22:16:33,186 INFO [org.jboss.as.controller] (XNIO-1 task-2) JBAS014774: Service status report
JBAS014777: Services which failed to start: service jboss.deployment.unit."IslamicPostsWS.war".POST_MODULE
22:16:35,518 INFO [org.jboss.as.server.deployment] (MSC service thread 1-6) JBAS015877: Stopped deployment IslamicPostsWS (runtime-name: IslamicPostsWS) in 7ms
22:16:35,660 INFO [org.jboss.as.server] (XNIO-1 task-6) JBAS018558: Undeployed "IslamicPostsWS" (runtime-name: "IslamicPostsWS")
22:16:38,358 INFO [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 2) JBAS015018: Deployment IslamicPostsWS was previously deployed by this scanner but has been removed from the server deployment list by another management tool. Marker file C:UsersIlhamiworkspace-services.metadata.pluginsorg.jboss.ide.eclipse.as.coreWildFly_8.0_Runtime_Server1396040937545deployIslamicPostsWS.undeployed is being added to record this fact.
22:17:00,406 INFO [org.jboss.as.server.deployment] (MSC service thread 1-7) JBAS015876: Starting deployment of "IslamicPostsWS.war" (runtime-name: "IslamicPostsWS.war")
22:17:00,540 ERROR [org.jboss.as.controller.management-operation] (DeploymentScanner-threads - 2) JBAS014613: Operation ("deploy") failed - address: ([("deployment" => "IslamicPostsWS.war")]) - failure description: {
"JBAS014771: Services with missing/unavailable dependencies" => ["jboss.naming.context.java.module.IslamicPostsWS.IslamicPostsWS.DefaultDataSource is missing [jboss.naming.context.java.jboss.datasources.ExampleDS]"],
"JBAS014879: One or more services were unable to start due to one or more indirect dependencies not being available." => {
"Services that were unable to start:" => [
"jboss.deployment.unit."IslamicPostsWS.war".component."com.sun.faces.config.ConfigureListener".START",
"jboss.deployment.unit."IslamicPostsWS.war".component."javax.faces.webapp.FacetTag".START",
"jboss.deployment.unit."IslamicPostsWS.war".component."javax.servlet.jsp.jstl.tlv.PermittedTaglibsTLV".START",
"jboss.deployment.unit."IslamicPostsWS.war".component."javax.servlet.jsp.jstl.tlv.ScriptFreeTLV".START",
"jboss.deployment.unit."IslamicPostsWS.war".component."org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher".START",
"jboss.deployment.unit."IslamicPostsWS.war".component."org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap".START",
"jboss.deployment.unit."IslamicPostsWS.war".deploymentCompleteService",
"jboss.deployment.unit."IslamicPostsWS.war".jndiDependencyService",
"jboss.naming.context.java.module.IslamicPostsWS.IslamicPostsWS.env.jdbc.TestDB",
"jboss.undertow.deployment.default-server.default-host./IslamicPostsWS",
"jboss.undertow.deployment.default-server.default-host./IslamicPostsWS.UndertowDeploymentInfoService"
],
"Services that may be the cause:" => [
"jboss.jdbc-driver.com_mysql_jdbc_Driver",
"jboss.naming.context.java.jboss.datasources.ExampleDS"
]
}
}
22:17:00,683 INFO [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS018559: Deployed "IslamicPostsWS.war" (runtime-name : "IslamicPostsWS.war")
22:17:00,683 INFO [org.jboss.as.controller] (DeploymentScanner-threads - 2) JBAS014774: Service status report
JBAS014775: New missing/unsatisfied dependencies:
service jboss.naming.context.java.jboss.datasources.ExampleDS (missing) dependents: [service jboss.naming.context.java.module.IslamicPostsWS.IslamicPostsWS.DefaultDataSource]
настойчивость.в XML
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="JPADB">
<jta-data-source>java:jboss/datasources/DBTest</jta-data-source>
<properties>
<property name="showSql" value="true"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
</properties>
</persistence-unit>
</persistence>
просто скажите мне, если вам нужно больше файлов.
6 ответов
можете ли вы опубликовать свое определение источника данных?
Я думаю, что было бы лучше всего протестировать развертывание источника данных "автономно". Я имею в виду, отделенный от фактического развертывания приложения, просто чтобы проверить, работает ли ваш источник данных или нет. Вы можете проверить это f.Я. использование веб-консоли (localhost: 9990 / console).
также похоже, что есть проблемы с предварительно настроенным примером DS wildfly. Вы удалили этот DS? В standalone.xml существует также ссылка на ExampleDS что может быть сломано.
перейдите в консоль wildfly (что-то вроде localhost:9990) и отредактируйте раздел конфигурации->контейнер->EE - >привязки по умолчанию. Задайте для источника данных по умолчанию имя JNDI некоторого допустимого источника данных.
Я удалил по умолчанию тот, который был там, и просто указал его на мой основной источник данных, так как сервер существует для запуска только одного приложения.
у вас, вероятно, есть объявление ds "java:JBoss/datasources/ExampleDS", отсутствующее в вашем автономном режиме.xml xmlns" urn:jboss:domain:datasources:2.0 " раздел, просто и он будет работать (вот пример из конфигурации по умолчанию):
<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;DB_CLOSE_ON_EXIT=FALSE</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>
</drivers>
или вы также можете добавить через пользовательский интерфейс, как указано в другом ответе.
предполагая, что вы используете БД MySQL, вы можете создать DS следующим образом:
(1) Загрузите драйвер mysql отсюда: http://dev.mysql.com/downloads/connector/j/
(2) скопируйте драйвер mysql в: WILDFLY_HOME / модули / система/слои/база/com/mysql / main
(3) в консоли JBoss (или Wildfly) выполните команду:
/subsystem=datasources/jdbc-driver=mysql:add(driver-name=mysql, driver-module-name=com.mysql, driver-class-name=com.mysql.jdbc.Driver)
(4) затем снова с консоли JBoss (или Wildfly) запустите команда:
/subsystem=datasources/data-source=YourDS:add(driver-name=mysql, user-name=USERNAME, password=PASSWORD, connection-url=jdbc:mysql://localhost:3306/YOURDATABASE, min-pool-size=5, max-pool-size=15, jndi-name=java:jboss/datasources/YourDS, enabled=true, validate-on-match=true, valid-connection-checker-class-name=org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker, exception-sorter-class-name=org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter)
вуаля. Теперь у вас есть источник данных с путем JNDI: java: jboss/источники данных/YourDS
проверьте, если ссылки конфигурации Привязок по умолчанию для исправления источника данных: https://docs.jboss.org/author/display/WFLY8/Default+EE+Bindings+Configuration
Я
сервис jboss.называющий.контекст.Ява.с JBoss.datasourservice от JBoss.называющий.контекст.Ява.с JBoss.источники.ExampleDS (missing) иждивенцы:...
на wildfly-8.1.0.Окончательный.
ИМХО
на standalone/configuration/standalone-full.xml
Она
<default-bindings ... datasource="java:jboss/datasources/ExampleDS" ...
и
<datasource jndi-name="java:/datasources/ExampleDS"...
в JNDI-имя несоответствие!
Я создал ExampleDS2 с jndi-name= "java: JBoss/источники данных / ExampleDS". Это решило мою проблему.