title: Failed to start service jboss.persistenceunit: org.hibernate.service.UnknownServiceException
body: <p>I would like to ask if somebody could help to resolve this problem because I'm stuck with it and I don't know where the problem could be. Until now I developed my application under Glassfish Server 4. Now I deceided to change my server for WildFly and I edited some configs to be able to run it on Wild Fly.</p>
  
  <p>Project is created using maven, and I run it using     mvn install wildfly:deploy   command from terminal.</p>
  
  <p>Here is <strong>server log</strong>:</p>
  
  <pre><code>09:42:29,625 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-5) JBAS015876: Starting deployment of "sk.fri.war" (runtime-name: "sk.fri.war")  
  09:42:31,906 INFO  [org.jboss.as.jpa] (MSC service thread 1-1) JBAS011401: Read persistence.xml for FRIApvvPU  
  09:42:32,073 INFO  [org.jboss.as.jpa] (ServerService Thread Pool -- 53) JBAS011409: Starting Persistence Unit (phase 1 of 2) Service 'sk.fri.war#FRIApvvPU'  
  09:42:32,074 INFO  [org.hibernate.jpa.internal.util.LogHelper] (ServerService Thread Pool -- 53) HHH000204: Processing PersistenceUnitInfo [  
    name: FRIApvvPU  
    ...]  
  09:42:33,398 INFO  [org.jboss.weld.deployer] (MSC service thread 1-7) JBAS016002: Processing weld deployment sk.fri.war  
  09:42:33,416 INFO  [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-7) JNDI bindings for session bean named LoginManagementService in deployment unit deployment "sk.fri.war" are as follows:  
  
  
    java:global/sk.fri/LoginManagementService!sk.fri.service.LoginManagementService  
    java:app/sk.fri/LoginManagementService!sk.fri.service.LoginManagementService  
    java:module/LoginManagementService!sk.fri.service.LoginManagementService  
    java:global/sk.fri/LoginManagementService  
    java:app/sk.fri/LoginManagementService  
    java:module/LoginManagementService  
  
  
  09:42:33,417 INFO  [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-7) JNDI bindings for session bean named MeasurementProcessingService in deployment unit deployment "sk.fri.war" are as follows:  
  
  
    java:global/sk.fri/MeasurementProcessingService!sk.fri.service.MeasurementProcessingService  
    java:app/sk.fri/MeasurementProcessingService!sk.fri.service.MeasurementProcessingService  
    java:module/MeasurementProcessingService!sk.fri.service.MeasurementProcessingService  
    java:global/sk.fri/MeasurementProcessingService  
    java:app/sk.fri/MeasurementProcessingService  
    java:module/MeasurementProcessingService  
  
  
  09:42:33,417 INFO  [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-7) JNDI bindings for session bean named CityService in deployment unit deployment "sk.fri.war" are as follows:  
  
  
    java:global/sk.fri/CityService!sk.fri.service.CityService  
    java:app/sk.fri/CityService!sk.fri.service.CityService  
    java:module/CityService!sk.fri.service.CityService  
    java:global/sk.fri/CityService  
    java:app/sk.fri/CityService  
    java:module/CityService  
  
  
  09:42:33,557 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-4) JBAS010404: Deploying non-JDBC-compliant driver class org.postgresql.Driver (version 9.3)  
  09:42:33,558 INFO  [org.jboss.weld.deployer] (MSC service thread 1-4) JBAS016005: Starting Services for CDI deployment: sk.fri.war  
  09:42:33,565 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-2) JBAS010417: Started Driver service with driver-name = sk.fri.war_org.postgresql.Driver_9_3  
  09:42:33,567 INFO  [org.jboss.weld.deployer] (MSC service thread 1-6) JBAS016008: Starting weld service for deployment sk.fri.war  
  09:42:33,584 INFO  [org.jboss.as.jpa] (ServerService Thread Pool -- 53) JBAS011409: Starting Persistence Unit (phase 2 of 2) Service 'sk.fri.war#FRIApvvPU'  
  09:42:49,079 INFO  [org.hibernate.dialect.Dialect] (ServerService Thread Pool -- 53) HHH000400: Using dialect: org.hibernate.dialect.PostgreSQLDialect  
  09:42:49,081 INFO  [org.hibernate.engine.jdbc.internal.LobCreatorBuilder] (ServerService Thread Pool -- 53) HHH000424: Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException  
  09:42:49,148 INFO  [org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory] (ServerService Thread Pool -- 53) HHH000397: Using ASTQueryTranslatorFactory  
  09:42:49,231 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 53) MSC000001: Failed to start service jboss.persistenceunit."sk.fri.war#FRIApvvPU": org.jboss.msc.service.StartException in service jboss.persistenceunit."sk.fri.war#FRIApvvPU": org.hibernate.service.UnknownServiceException: Unknown service requested [org.hibernate.service.classloading.spi.ClassLoaderService]  
    at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:172) [wildfly-jpa-8.0.0.Final.jar:8.0.0.Final]  
    at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:117) [wildfly-jpa-8.0.0.Final.jar:8.0.0.Final]  
    at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.7.0_51]  
    at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:474)  
    at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1.run(PersistenceUnitServiceImpl.java:182) [wildfly-jpa-8.0.0.Final.jar:8.0.0.Final]  
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51]  
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51]  
    at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]  
    at org.jboss.threads.JBossThread.run(JBossThread.java:122)  
  Caused by: org.hibernate.service.UnknownServiceException: Unknown service requested [org.hibernate.service.classloading.spi.ClassLoaderService]  
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:173) [hibernate-core-4.3.1.Final.jar:4.3.1.Final]  
    at org.hibernate.envers.event.EnversIntegrator.integrate(EnversIntegrator.java:65) [hibernate-envers-4.2.7.Final.jar:4.2.7.Final]  
    at org.hibernate.internal.SessionFactoryImpl.&lt;init&gt;(SessionFactoryImpl.java:311) [hibernate-core-4.3.1.Final.jar:4.3.1.Final]  
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1857) [hibernate-core-4.3.1.Final.jar:4.3.1.Final]  
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:850) [hibernate-entitymanager-4.3.1.Final.jar:4.3.1.Final]  
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:843) [hibernate-entitymanager-4.3.1.Final.jar:4.3.1.Final]  
    at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:399) [hibernate-core-4.3.1.Final.jar:4.3.1.Final]  
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:842) [hibernate-entitymanager-4.3.1.Final.jar:4.3.1.Final]  
    at org.jboss.as.jpa.hibernate4.TwoPhaseBootstrapImpl.build(TwoPhaseBootstrapImpl.java:44) [jipijapa-hibernate4-3-1.0.1.Final.jar:]  
    at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:154) [wildfly-jpa-8.0.0.Final.jar:8.0.0.Final]  
    ... 8 more  
  
  
  09:42:49,237 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 5) JBAS014613: Operation ("deploy") failed - address: ([("deployment" =&gt; "sk.fri.war")]) - failure description: {  
      "JBAS014671: Failed services" =&gt; {"jboss.persistenceunit.\"sk.fri.war#FRIApvvPU\"" =&gt; "org.jboss.msc.service.StartException in service jboss.persistenceunit.\"sk.fri.war#FRIApvvPU\": org.hibernate.service.UnknownServiceException: Unknown service requested [org.hibernate.service.classloading.spi.ClassLoaderService]  
      Caused by: org.hibernate.service.UnknownServiceException: Unknown service requested [org.hibernate.service.classloading.spi.ClassLoaderService]"},  
      "JBAS014771: Services with missing/unavailable dependencies" =&gt; ["jboss.naming.context.java.module.\"sk.fri\".\"sk.fri\".DefaultDataSource is missing [jboss.naming.context.java.jboss.datasources.ExampleDS]"]  
  }  
  09:42:49,243 ERROR [org.jboss.as.server] (management-handler-thread - 5) JBAS015870: Deploy of deployment "sk.fri.war" was rolled back with the following failure message:  
  {  
      "JBAS014671: Failed services" =&gt; {"jboss.persistenceunit.\"sk.fri.war#FRIApvvPU\"" =&gt; "org.jboss.msc.service.StartException in service jboss.persistenceunit.\"sk.fri.war#FRIApvvPU\": org.hibernate.service.UnknownServiceException: Unknown service requested [org.hibernate.service.classloading.spi.ClassLoaderService]  
      Caused by: org.hibernate.service.UnknownServiceException: Unknown service requested [org.hibernate.service.classloading.spi.ClassLoaderService]"},  
      "JBAS014771: Services with missing/unavailable dependencies" =&gt; ["jboss.naming.context.java.module.\"sk.fri\".\"sk.fri\".DefaultDataSource is missing [jboss.naming.context.java.jboss.datasources.ExampleDS]"]  
  }  
  09:42:49,246 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-1) JBAS010418: Stopped Driver service with driver-name = sk.fri.war_org.postgresql.Driver_9_3  
  09:42:49,248 INFO  [org.jboss.weld.deployer] (MSC service thread 1-2) JBAS016009: Stopping weld service for deployment sk.fri.war  
  09:42:49,264 INFO  [org.jboss.as.jpa] (ServerService Thread Pool -- 53) JBAS011410: Stopping Persistence Unit (phase 1 of 2) Service 'sk.fri.war#FRIApvvPU'  
  09:42:49,322 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-7) JBAS015877: Stopped deployment sk.fri.war (runtime-name: sk.fri.war) in 79ms  
  09:42:49,324 INFO  [org.jboss.as.controller] (management-handler-thread - 5) JBAS014774: Service status report  
  JBAS014775:    New missing/unsatisfied dependencies:  
        service jboss.deployment.unit."sk.fri.war".component.MeasurementProcessingService.CREATE (missing) dependents: [service jboss.deployment.unit."sk.fri.war".component.MeasurementProcessingService.START]  
        service jboss.deployment.unit."sk.fri.war".component.MeasurementProcessingService.VIEW."sk.fri.service.MeasurementProcessingService".LOCAL (missing) dependents: [service jboss.deployment.unit."sk.fri.war".component.MeasurementProcessingService.START]  
        service jboss.deployment.unit."sk.fri.war".component.MeasurementProcessingService.WeldInstantiator (missing) dependents: [service jboss.deployment.unit."sk.fri.war".component.MeasurementProcessingService.START]  
        service jboss.deployment.unit."sk.fri.war".component.MeasurementProcessingService.ejb.non-functional-timerservice (missing) dependents: [service jboss.deployment.unit."sk.fri.war".component.MeasurementProcessingService.START]  
  JBAS014776:    Newly corrected services:  
        service jboss.deployment.unit."sk.fri.war".component.LoginManagementService.WeldInterceptorBindingsService (no longer required)  
        service jboss.deployment.unit."sk.fri.war".component."com.sun.faces.config.ConfigureListener".WeldInstantiator (no longer required)  
        service jboss.deployment.unit."sk.fri.war".component."javax.faces.webapp.FacetTag".WeldInstantiator (no longer required)  
        service jboss.undertow.deployment.default-server.default-host./apvv (no longer required)  
  JBAS014777:   Services which failed to start:      service jboss.persistenceunit."sk.fri.war#FRIApvvPU"  
  </code></pre>
  
  <p>My <strong>standalone.xml</strong> config (included only parts I have added or edited):</p>
  
  <pre><code>&lt;datasources&gt;  
      &lt;datasource jndi-name="java:jboss/datasources/jBossJaasPostgres" pool-name="jBossJaasPostgres" enabled="true" use-ccm="false" jta="false" use-java-context="true"&gt;  
          &lt;connection-url&gt;jdbc:postgresql://localhost:5432/apvv&lt;/connection-url&gt;  
    &lt;driver-class&gt;org.postgresql.Driver&lt;/driver-class&gt;  
          &lt;driver&gt;postgresql&lt;/driver&gt;  
          &lt;pool&gt;  
              &lt;min-pool-size&gt;2&lt;/min-pool-size&gt;  
              &lt;max-pool-size&gt;50&lt;/max-pool-size&gt;  
          &lt;/pool&gt;  
          &lt;security&gt;  
              &lt;user-name&gt;username&lt;/user-name&gt;  
              &lt;password&gt;password&lt;/password&gt;  
          &lt;/security&gt;  
          &lt;validation&gt;  
              &lt;validate-on-match&gt;false&lt;/validate-on-match&gt;  
              &lt;background-validation&gt;false&lt;/background-validation&gt;  
          &lt;/validation&gt;  
          &lt;statement&gt;  
              &lt;share-prepared-statements&gt;false&lt;/share-prepared-statements&gt;  
          &lt;/statement&gt;  
      &lt;/datasource&gt;  
      &lt;drivers&gt;  
          &lt;driver name="postgresql" module="org.postgresql"&gt;  
              &lt;xa-datasource-class&gt;org.postgresql.xa.PGXADataSource&lt;/xa-datasource-class&gt;  
          &lt;/driver&gt;  
      &lt;/drivers&gt;  
  &lt;/datasources&gt;  
  </code></pre>
  
  <p>then default datasource:</p>
  
  <pre><code>&lt;subsystem xmlns="urn:jboss:domain:jpa:1.1"&gt;  
      &lt;jpa default-datasource="java:jboss/datasources/jBossJaasPostgres"/&gt;  
  &lt;/subsystem&gt; 
  </code></pre>
  
  <p>and under security domains (because I use JAAS)</p>
  
  <pre><code>&lt;security-domain name="apvvJaas"&gt;  
      &lt;authentication&gt;  
          &lt;login-module code="Database" flag="required"&gt;  
              &lt;module-option name="dsJndiName" value="java:jboss/datasources/jBossJaasPostgres"/&gt;  
              &lt;module-option name="principalsQuery" value="select password from v_user_group where username = ?"/&gt;  
              &lt;module-option name="rolesQuery" value="select rolename, 'Roles' from v_user_group where username = ?"/&gt;  
              &lt;module-option name="hashAlgorithm" value="SHA-256"/&gt;  
              &lt;module-option name="hashEncoding" value="Hex"/&gt;  
              &lt;module-option name="hashUserPassword" value="true"/&gt;  
              &lt;module-option name="hashStorePassword" value="true"/&gt;  
          &lt;/login-module&gt;  
      &lt;/authentication&gt;  
  &lt;/security-domain&gt;  
  </code></pre>
  
  <p>My <strong>persistence.xml</strong>:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;  
  &lt;persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"&gt;  
    &lt;persistence-unit name="FRIApvvPU" transaction-type="RESOURCE_LOCAL"&gt;  
  
      &lt;provider&gt;org.hibernate.ejb.HibernatePersistence&lt;/provider&gt;  
      &lt;non-jta-data-source&gt;java:jboss/datasources/jBossJaasPostgres&lt;/non-jta-data-source&gt;  
  
  
      &lt;exclude-unlisted-classes&gt;false&lt;/exclude-unlisted-classes&gt;  
      &lt;properties&gt;  
         &lt;property name="hibernate.ejb.cfgfile" value="/hibernate.cfg.xml"/&gt;  
      &lt;/properties&gt;  
    &lt;/persistence-unit&gt;  
  &lt;/persistence&gt; 
  </code></pre>
  
  <p><strong>hibernate.cfg.xml</strong>:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;  
  &lt;!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"&gt;  
  &lt;hibernate-configuration&gt;  
    &lt;session-factory&gt;  
      &lt;property name="hibernate.dialect" &gt;org.hibernate.dialect.PostgreSQLDialect&lt;/property&gt;  
      &lt;property name="hibernate.connection.driver_class"&gt;org.postgresql.Driver&lt;/property&gt;  
      &lt;property name="hibernate.connection.url"&gt;jdbc:postgresql://127.0.0.1:5432/apvv&lt;/property&gt;  
      &lt;property name="hibernate.connection.username"&gt;username&lt;/property&gt;  
      &lt;property name="hibernate.connection.password"&gt;password&lt;/property&gt;  
      &lt;property name="hibernate.jdbc.batch_size"&gt;20&lt;/property&gt;  
      &lt;property name="hibernate.show_sql"&gt;true&lt;/property&gt;  
      &lt;property name="hibernate.cache.use_second_level_cache"&gt;false&lt;/property&gt;  
      &lt;mapping class="sk.fri.model.MeasurementDataColumn"/&gt;  
      &lt;mapping class="sk.fri.model.Winding"/&gt;  
      &lt;mapping class="sk.fri.model.Label"/&gt;  
      &lt;mapping class="sk.fri.model.MeasurementColumn"/&gt;  
      &lt;mapping class="sk.fri.model.Measurement"/&gt;  
      &lt;mapping class="sk.fri.model.GroupApp"/&gt;  
      &lt;mapping class="sk.fri.model.MeasurementDataColumnId"/&gt;  
      &lt;mapping class="sk.fri.model.Location"/&gt;  
      &lt;mapping class="sk.fri.model.UserApp"/&gt;  
      &lt;mapping class="sk.fri.model.Company"/&gt;  
      &lt;mapping class="sk.fri.model.LocationId"/&gt;  
      &lt;mapping class="sk.fri.model.WindingTransformer"/&gt;  
      &lt;mapping class="sk.fri.model.Manufacturer"/&gt;  
      &lt;mapping class="sk.fri.model.Transformer"/&gt;  
      &lt;mapping class="sk.fri.model.ColumnData"/&gt;  
      &lt;mapping class="sk.fri.model.WindingTransformerId"/&gt;  
      &lt;mapping class="sk.fri.model.City"/&gt;  
      &lt;mapping class="sk.fri.model.Measurand"/&gt;  
    &lt;/session-factory&gt;  
  &lt;/hibernate-configuration&gt;
  </code></pre>
  
  <p><strong>jboss-web.xml</strong>:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;  
  &lt;jboss-web&gt;  
    &lt;security-domain&gt;java:/jaas/apvvJaas&lt;/security-domain&gt;  
    &lt;context-root&gt;/apvv&lt;/context-root&gt;  
  &lt;/jboss-web&gt;  
  </code></pre>
  
  <p>This is part of code where I produce <strong>EntityManager</strong>:</p>
  
  <pre><code>@Produces  
  @RequestScoped  
  public EntityManager produceEntityManager(){  
      EntityManagerFactory emf = Persistence.createEntityManagerFactory("FRIApvvPU");        
      EntityManager em = emf.createEntityManager();  
      return em;  
  } 
  </code></pre>
  
  <p>Connection to Postgres database works fine I have tested it from wildfly console, because the datasource jBossJaasPostgres was successfully created.</p>
  
  <p>I found answers to this questions but no answer worked for me.</p>
  
  <p>Thank you very much for your answers.</p>