2 Replies Latest reply on Mar 15, 2014 7:33 AM by tower3

    org.hibernate.service.UnknownServiceException: Unknown service requested [org.hibernate.service.classloading.spi.ClassLoaderService]

    tower3

      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.

       

      Project is created using maven, and I run it using     mvn install wildfly:deploy   command from terminal.

       

      Here is server log:

       

      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.<init>(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" => "sk.fri.war")]) - failure description: {
          "JBAS014671: Failed services" => {"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]
          Caused by: org.hibernate.service.UnknownServiceException: Unknown service requested [org.hibernate.service.classloading.spi.ClassLoaderService]"},
          "JBAS014771: Services with missing/unavailable dependencies" => ["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" => {"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]
          Caused by: org.hibernate.service.UnknownServiceException: Unknown service requested [org.hibernate.service.classloading.spi.ClassLoaderService]"},
          "JBAS014771: Services with missing/unavailable dependencies" => ["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"
      
      
      

       

      My standalone.xml config (included only parts I have added or edited):

       

      <datasources>
          <datasource jndi-name="java:jboss/datasources/jBossJaasPostgres" pool-name="jBossJaasPostgres" enabled="true" use-ccm="false" jta="false" use-java-context="true">
              <connection-url>jdbc:postgresql://localhost:5432/apvv</connection-url>
        <driver-class>org.postgresql.Driver</driver-class>
              <driver>postgresql</driver>
              <pool>
                  <min-pool-size>2</min-pool-size>
                  <max-pool-size>50</max-pool-size>
              </pool>
              <security>
                  <user-name>username</user-name>
                  <password>password</password>
              </security>
              <validation>
                  <validate-on-match>false</validate-on-match>
                  <background-validation>false</background-validation>
              </validation>
              <statement>
                  <share-prepared-statements>false</share-prepared-statements>
              </statement>
          </datasource>
          <drivers>
              <driver name="postgresql" module="org.postgresql">
                  <xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
              </driver>
          </drivers>
      </datasources>
      
      

       

      then default datasource:

       

      <subsystem xmlns="urn:jboss:domain:jpa:1.1">
          <jpa default-datasource="java:jboss/datasources/jBossJaasPostgres"/>
      </subsystem>
      
      

       

      and under security domains (because I use JAAS)

       

      <security-domain name="apvvJaas">
          <authentication>
              <login-module code="Database" flag="required">
                  <module-option name="dsJndiName" value="java:jboss/datasources/jBossJaasPostgres"/>
                  <module-option name="principalsQuery" value="select password from v_user_group where username = ?"/>
                  <module-option name="rolesQuery" value="select rolename, 'Roles' from v_user_group where username = ?"/>
                  <module-option name="hashAlgorithm" value="SHA-256"/>
                  <module-option name="hashEncoding" value="Hex"/>
                  <module-option name="hashUserPassword" value="true"/>
                  <module-option name="hashStorePassword" value="true"/>
              </login-module>
          </authentication>
      </security-domain>
      
      

       

      My persistence.xml:

       

      <?xml version="1.0" encoding="UTF-8" standalone="no"?>
      <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">
        <persistence-unit name="FRIApvvPU" transaction-type="RESOURCE_LOCAL">
      
          <provider>org.hibernate.ejb.HibernatePersistence</provider>
          <non-jta-data-source>java:jboss/datasources/jBossJaasPostgres</non-jta-data-source>
      
      
          <exclude-unlisted-classes>false</exclude-unlisted-classes>
          <properties>
             <property name="hibernate.ejb.cfgfile" value="/hibernate.cfg.xml"/>
          </properties>
        </persistence-unit>
      </persistence>
      
      
      

       

      hibernate.cfg.xml:

       

      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
      <hibernate-configuration>
        <session-factory>
          <property name="hibernate.dialect" >org.hibernate.dialect.PostgreSQLDialect</property>
          <property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
          <property name="hibernate.connection.url">jdbc:postgresql://127.0.0.1:5432/apvv</property>
          <property name="hibernate.connection.username">username</property>
          <property name="hibernate.connection.password">password</property>
          <property name="hibernate.jdbc.batch_size">20</property>
          <property name="hibernate.show_sql">true</property>
          <property name="hibernate.cache.use_second_level_cache">false</property>
          <mapping class="sk.fri.model.MeasurementDataColumn"/>
          <mapping class="sk.fri.model.Winding"/>
          <mapping class="sk.fri.model.Label"/>
          <mapping class="sk.fri.model.MeasurementColumn"/>
          <mapping class="sk.fri.model.Measurement"/>
          <mapping class="sk.fri.model.GroupApp"/>
          <mapping class="sk.fri.model.MeasurementDataColumnId"/>
          <mapping class="sk.fri.model.Location"/>
          <mapping class="sk.fri.model.UserApp"/>
          <mapping class="sk.fri.model.Company"/>
          <mapping class="sk.fri.model.LocationId"/>
          <mapping class="sk.fri.model.WindingTransformer"/>
          <mapping class="sk.fri.model.Manufacturer"/>
          <mapping class="sk.fri.model.Transformer"/>
          <mapping class="sk.fri.model.ColumnData"/>
          <mapping class="sk.fri.model.WindingTransformerId"/>
          <mapping class="sk.fri.model.City"/>
          <mapping class="sk.fri.model.Measurand"/>
        </session-factory>
      </hibernate-configuration>
      
      

       

      jboss-web.xml:

       

      <?xml version="1.0" encoding="UTF-8"?>
      <jboss-web>
        <security-domain>java:/jaas/apvvJaas</security-domain>
        <context-root>/apvv</context-root>
      </jboss-web>
      
      

       

      This is part of code where I produce EntityManager:

       

          @Produces
          @RequestScoped
          public EntityManager produceEntityManager(){
              EntityManagerFactory emf = Persistence.createEntityManagerFactory("FRIApvvPU");      
              EntityManager em = emf.createEntityManager();
              return em;
          }
      
      

       

      Connection to Postgres database works fine I have tested it from wildfly console, because the datasource jBossJaasPostgres was successfully created.

       

      I found answers to this questions but no answer worked for me.

       

      Thank you very much for your answers.

        • 1. Re: org.hibernate.service.UnknownServiceException: Unknown service requested [org.hibernate.service.classloading.spi.ClassLoaderService]
          sfcoy

          I don't think you need the hibernate configuration at all. In addition, you're using configuration in your persistence.xml that is intended for standalone web containers such as Tomcat, which do not have (amongst other things) a built in transaction manager.

           

          So, get rid of hibernate.cfg.xml and change your persistence.xml to:

          <?xml version="1.0" encoding="UTF-8" standalone="no"?> 
          <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">  
            <persistence-unit name="FRIApvvPU" transaction-type="JTA"> 
          
              <jta-data-source>java:jboss/datasources/jBossJaasPostgres</jta-data-source>
          
              <exclude-unlisted-classes>false</exclude-unlisted-classes> 
              <properties> 
                 <property name="hibernate.show_sql" value="true"/> 
              </properties> 
            </persistence-unit> 
          </persistence> 
          
          

           

          Also, make sure that there are no hibernate jars in your WEB-INF/lib directory.

          • 2. Re: org.hibernate.service.UnknownServiceException: Unknown service requested [org.hibernate.service.classloading.spi.ClassLoaderService]
            tower3

            Thank you very much now it works. I hadalso the hiberante jars in WEB-INF/lib folder, so I removed them and adjusted persistence.xml to match the yours and it is working.