jboss7.x - Hibernate 4 is not working c3p0 on JBoss 7 -


when deploy spring4-hibernate-4 application on jboss7, throws error , deployment fails. details:

configuration code:

@configuration @enabletransactionmanagement @componentscan(basepackages = { "com.arg.utility.hibernate" }) @propertysource(value = { "classpath:application.properties" }) public class hibernateconfigws {  @bean public localsessionfactorybean sessionfactoryws() throws sqlexception, namingexception {     localsessionfactorybean sessionfactory = new localsessionfactorybean();     sessionfactory.setdatasource(datasourcews());     sessionfactory.setpackagestoscan(new string[] { "com.arg.utility.hibernate.model" });     sessionfactory.sethibernateproperties(hibernateproperties());     return sessionfactory;  }   @bean @lazy public datasource datasourcews() throws sqlexception, namingexception {     initialcontext initcontext = new initialcontext();     datasource ds = null;     try{          ds = (datasource)initcontext.lookup(system.getproperty(utilityconstants.jndi_ws_datasource));     }catch(exception e){         logger.error("datasource lookup failed :"+e.getstacktrace());     }     return ds; }   @bean public hibernatetransactionmanager transactionmanagerws(sessionfactory sessionfactoryws) {    hibernatetransactionmanager txmanager = new hibernatetransactionmanager();    txmanager.setsessionfactory(sessionfactoryws);    return txmanager; }    //----------------------hibernate common properties config---------------------// /**  *   * @return properties object  */ private properties hibernateproperties() {     properties properties = new properties();     properties.put("hibernate.dialect", environment.getrequiredproperty("hibernate.dialect"));     properties.put("hibernate.show_sql", "false");     properties.put("hibernate.format_sql", environment.getrequiredproperty("hibernate.format_sql"));     /*properties.put("hibernate.connection.provider_class", "org.hibernate.c3p0.internal.c3p0connectionprovider");  // commented     properties.put("hibernate.c3p0.min_size", "5");  // commented     properties.put("hibernate.c3p0.max_size", "20");  // commented     properties.put("hibernate.c3p0.timeout", "1800");  // commented     properties.put("hibernate.c3p0.max_statements", "50");*/  // commented     return properties;         }  } 

datasource entry in jboss 7 standalone.xml:

<datasource jndi-name="java:/wsdatasource" pool-name="wsdatasource" enabled="true" use-java-context="true">                 <connection-url>jdbc:mysql://dshost:3306/ds_name</connection-url>                 <connection-property name="zerodatetimebehavior">                     converttonull                 </connection-property>                 <driver>com.mysql</driver>                 <pool>                     <min-pool-size>0</min-pool-size>                     <max-pool-size>10</max-pool-size>                     <prefill>true</prefill>                 </pool>                 <security>                     <user-name>abc</user-name>                     <password>abc@123</password>                 </security>                 <validation>                     <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.mysqlvalidconnectionchecker"/>                     <validate-on-match>false</validate-on-match>                     <background-validation>true</background-validation>                     <background-validation-millis>30000</background-validation-millis>                     <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.mysqlexceptionsorter"/>                 </validation>     </datasource> 

while deploying application, following error:

    <<< serverservice thread pool -- 68:2017/04/07 16:20:54.676:org.springframework.web.context.contextloader::::: context initialization failed  >>> org.springframework.beans.factory.beancreationexception: error creating bean name 'transactionmanagerws' defined in com.arg.hibernate.config.hibernateconfigws: invocation of init method failed; nested exception org.hibernate.service.unknownunwraptypeexception: cannot unwrap requested type [javax.sql.datasource]     @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.initializebean(abstractautowirecapablebeanfactory.java:1628)     @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.docreatebean(abstractautowirecapablebeanfactory.java:555)     @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.createbean(abstractautowirecapablebeanfactory.java:483)     @ org.springframework.beans.factory.support.abstractbeanfactory$1.getobject(abstractbeanfactory.java:306)     @ org.springframework.beans.factory.support.defaultsingletonbeanregistry.getsingleton(defaultsingletonbeanregistry.java:230)     @ org.springframework.beans.factory.support.abstractbeanfactory.dogetbean(abstractbeanfactory.java:302)     @ org.springframework.beans.factory.support.abstractbeanfactory.getbean(abstractbeanfactory.java:197)     @ org.springframework.beans.factory.support.defaultlistablebeanfactory.preinstantiatesingletons(defaultlistablebeanfactory.java:761)     @ org.springframework.context.support.abstractapplicationcontext.finishbeanfactoryinitialization(abstractapplicationcontext.java:866)     @ org.springframework.context.support.abstractapplicationcontext.refresh(abstractapplicationcontext.java:542)     @ org.springframework.web.context.contextloader.configureandrefreshwebapplicationcontext(contextloader.java:444)     @ org.springframework.web.context.contextloader.initwebapplicationcontext(contextloader.java:326)     @ org.springframework.web.context.contextloaderlistener.contextinitialized(contextloaderlistener.java:107)     @ io.undertow.servlet.core.applicationlisteners.contextinitialized(applicationlisteners.java:187)     @ io.undertow.servlet.core.deploymentmanagerimpl.deploy(deploymentmanagerimpl.java:198)     @ org.wildfly.extension.undertow.deployment.undertowdeploymentservice.startcontext(undertowdeploymentservice.java:100)     @ org.wildfly.extension.undertow.deployment.undertowdeploymentservice$1.run(undertowdeploymentservice.java:82)     @ java.util.concurrent.executors$runnableadapter.call(unknown source)     @ java.util.concurrent.futuretask.run(unknown source)     @ java.util.concurrent.threadpoolexecutor.runworker(unknown source)     @ java.util.concurrent.threadpoolexecutor$worker.run(unknown source)     @ java.lang.thread.run(unknown source)     @ org.jboss.threads.jbossthread.run(jbossthread.java:320) caused by: org.hibernate.service.unknownunwraptypeexception: cannot unwrap requested type [javax.sql.datasource]     @ org.hibernate.engine.jdbc.connections.internal.usersuppliedconnectionproviderimpl.unwrap(usersuppliedconnectionproviderimpl.java:55)     @ org.springframework.orm.hibernate4.sessionfactoryutils.getdatasource(sessionfactoryutils.java:106)     @ org.springframework.orm.hibernate4.hibernatetransactionmanager.afterpropertiesset(hibernatetransactionmanager.java:356)     @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.invokeinitmethods(abstractautowirecapablebeanfactory.java:1687)     @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.initializebean(abstractautowirecapablebeanfactory.java:1624)     ... 22 more 

when uncomment c3p0 properties setting lines in config file, application deployed (but later throws exception while creating connection). however, requirement don't have use c3p0. queries:

  1. is possible run hibernate 4 on jboss 7 without using c3p0?
  2. if yes, how? other configuration needed?

if @ stack trace refers usersuppliedconnectionproviderimpl. exception being thrown. based on configuration , code in connectionproviderinitiator.initiateservice have expected instance of datasourceconnectionproviderimpl instead.

availablesettings.datasource set localsessionfactorybuilder.localsessionfactorybuilder constructor if datasource has been provided yours has. sure jndi lookup isn't silently returning null?


Comments

Popular posts from this blog

How to understand 2 main() functions after using uftrace to profile the C++ program? -

c# - Update a combobox from a presenter (MVP) -

How to put a lock and transaction on table using spring 4 or above using jdbcTemplate and annotations like @Transactional? -