hibernate - unable to use spring component-scan feature in JBoss 5.1.2 -
i facing challenge in using spring 3.0 component-scan feature jboss 5.1.2. not able use @autowired feature. below code configured.
my web.xml
<context-param> <param-name>contextconfiglocation</param-name> <param-value>/web-inf/spring-config/applicationcontext.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.contextloaderlistener</listener-class> </listener> applicationcontext.xml consist of below line have imported beans,context xsd in file. applicationcontext-hibernate.xml file contains hibernate configuration details.
<ctx:component-scan base-package="com.mycom.cmc" /> <import resource="applicationcontext-hibernate.xml" /> below class using doing dao operation.
@repository("batchprocessingtxdao") public class batchprocessingtxdaoimpl extends hibernaterepository implements batchprocessingtxdao { private static final logger log = logger .getlogger(batchprocessingtxdaoimpl.class); @override public void savebatchprocessingtx(batchprocessingtx batchprocessingtx) { try { if (batchprocessingtx != null) { log.info(string .format("saving batchprocessingtx details batchprocessingtxid :: %s", batchprocessingtx.getbatchprocessingtxid())); hibernatetemplate.save(batchprocessingtx); } } catch (exception e) { log.error(string .format("exception occured while saving batchprocessingtx caused :: %s", e)); } log.info(string .format("sucessfully saved batchprocessingtx details batchprocessingtxid ::%s", batchprocessingtx.getbatchprocessingtxid())); } @override public batchprocessingtx getbatchprocessingtxbybatchprocessingtxid( bigdecimal batchprocessingtxid) { system.out.println("called sucessfully 1212121111111111111111111"); batchprocessingtx batchprocessingtx = null; /* if (batchprocessingtxid != null) { log.info(string.format( "batchprocessingtx details batchprocessingtxid :: %s", batchprocessingtxid)); batchprocessingtx = hibernatetemplate.get(batchprocessingtx.class, batchprocessingtxid); } */ return batchprocessingtx; } }
public abstract class hibernaterepository { private sessionfactory sessionfactory; protected hibernatetemplate hibernatetemplate; @required @autowired(required =true) @qualifier("sessionfactory") public void setsessionfactory(final sessionfactory sessionfactory) { this.sessionfactory = sessionfactory; hibernatetemplate = new hibernatetemplate(sessionfactory); } protected session getsession() { return sessionfactory.getcurrentsession(); } }
when deploy application on jboss container can see .hbm files , jndi connection happening properly. can not see class getting scanned in server log jboss container.
19:49:54,958 info [[/cmc]] initializing spring root webapplicationcontext 19:49:55,598 info [hbmbinder] mapping class: com.myapp.cmc.domain.model.batchprocessingtx -> batch_processing_tx 19:49:55,598 info [hbmbinder] mapping class: com.myapp.cmc.domain.model.brandmapping -> brand_mapping 19:49:55,614 info [hbmbinder] mapping class: com.myapp.cmc.domain.model.clientaccessrule -> client_access_rule 19:49:55,614 info [hbmbinder] mapping class: com.myapp.cmc.domain.model.contractinfo -> contract_info 19:49:55,630 info [hbmbinder] mapping class: com.myapp.cmc.domain.model.exceptioninfo -> exception_info 19:49:55,630 info [hbmbinder] mapping class: com.myapp.cmc.domain.model.pdfdocumentmapping -> pdf_document_mapping 19:49:55,645 info [hbmbinder] mapping class: com.myapp.cmc.domain.model.referenceinfo -> reference_info 19:49:55,645 info [hbmbinder] mapping class: com.myapp.cmc.domain.model.webservicetx -> web_service_tx 19:49:55,645 info [hbmbinder] mapping collection: com.myapp.cmc.domain.model.contractinfo.batchprocessingtxes -> batch_processing_tx 19:49:55,645 info [hbmbinder] mapping collection: com.myapp.cmc.domain.model.contractinfo.exceptioninfos -> exception_info 19:49:55,645 info [hbmbinder] mapping collection: com.myapp.cmc.domain.model.pdfdocumentmapping.contractinfosforfairusepolicyid -> contract_info 19:49:55,645 info [hbmbinder] mapping collection: com.myapp.cmc.domain.model.pdfdocumentmapping.contractinfosfortermsofserviceid -> contract_info 19:49:55,645 info [hbmbinder] mapping collection: com.myapp.cmc.domain.model.pdfdocumentmapping.contractinfosforprivacypolicyid -> contract_info 19:49:55,645 info [hbmbinder] mapping collection: com.myapp.cmc.domain.model.pdfdocumentmapping.contractinfosforaddedclausesid -> contract_info 19:49:55,645 info [hbmbinder] mapping collection: com.myapp.cmc.domain.model.referenceinfo.contractinfosforcontractreasonid -> contract_info 19:49:55,645 info [hbmbinder] mapping collection: com.myapp.cmc.domain.model.referenceinfo.contractinfosforcontracttypeid -> contract_info 19:49:55,645 info [hbmbinder] mapping collection: com.myapp.cmc.domain.model.referenceinfo.contractinfosforcontractmediaid -> contract_info 19:49:55,645 info [hbmbinder] mapping collection: com.myapp.cmc.domain.model.referenceinfo.contractinfosforcontractdistributiontypeid -> contract_info 19:49:55,645 info [hbmbinder] mapping collection: com.myapp.cmc.domain.model.webservicetx.contractinfos -> contract_info 19:49:55,661 info [connectionproviderfactory] initializing connection provider: org.springframework.orm.hibernate3.localdatasourceconnectionprovider 19:49:55,661 info [settingsfactory] rdbms: oracle, version: oracle database 10g enterprise edition release 10.2.0.1.0 - production partitioning, olap , data mining options 19:49:55,661 info [settingsfactory] jdbc driver: oracle jdbc driver, version: 10.1.0.4.0 19:49:55,661 info [dialect] using dialect: org.hibernate.dialect.oracle10gdialect 19:49:55,661 info [jdbcsupportloader] disabling contextual lob creation createclob() method threw error : java.lang.reflect.invocationtargetexception 19:49:55,661 info [transactionfactoryfactory] transaction strategy: org.springframework.orm.hibernate3.springtransactionfactory 19:49:55,661 info [transactionmanagerlookupfactory] no transactionmanagerlookup configured (in jta environment, use of read-write or transactional second-level cache not recommended) 19:49:55,661 info [settingsfactory] automatic flush during beforecompletion(): disabled 19:49:55,661 info [settingsfactory] automatic session close @ end of transaction: disabled 19:49:55,661 info [settingsfactory] jdbc batch size: 15 19:49:55,661 info [settingsfactory] jdbc batch updates versioned data: disabled 19:49:55,661 info [settingsfactory] scrollable result sets: enabled 19:49:55,661 info [settingsfactory] jdbc3 getgeneratedkeys(): disabled 19:49:55,661 info [settingsfactory] connection release mode: auto 19:49:55,661 info [settingsfactory] default batch fetch size: 1 19:49:55,661 info [settingsfactory] generate sql comments: disabled 19:49:55,661 info [settingsfactory] order sql updates primary key: disabled 19:49:55,661 info [settingsfactory] order sql inserts batching: disabled 19:49:55,661 info [settingsfactory] query translator: org.hibernate.hql.ast.astquerytranslatorfactory 19:49:55,661 info [astquerytranslatorfactory] using astquerytranslatorfactory 19:49:55,661 info [settingsfactory] query language substitutions: {} 19:49:55,661 info [settingsfactory] jpa-ql strict compliance: disabled 19:49:55,661 info [settingsfactory] second-level cache: enabled 19:49:55,661 info [settingsfactory] query cache: disabled 19:49:55,661 info [settingsfactory] cache region factory : org.hibernate.cache.impl.nocachingregionfactory 19:49:55,661 info [settingsfactory] optimize cache minimal puts: disabled 19:49:55,661 info [settingsfactory] structured second-level cache entries: disabled 19:49:55,661 info [settingsfactory] statistics: disabled 19:49:55,661 info [settingsfactory] deleted entity synthetic identifier rollback: disabled 19:49:55,661 info [settingsfactory] default entity-mode: pojo 19:49:55,661 info [settingsfactory] named query checking : enabled 19:49:55,661 info [sessionfactoryimpl] building session factory 19:49:55,723 info [sessionfactoryobjectfactory] not binding factory jndi, no jndi name configured when try save object getting nullpointerexception. think spring component scan feature not working. due unable hibernatetemplate instance. , don't see scanning class in log file of jboss server log. please tell me missed it. or issue jboss 5.1.2 spring 3.0.
annotate hibernaterepository class @component or @repository (preferred). should work.
Comments
Post a Comment