Joined: Thu Nov 11, 2004 1:23 pm Posts: 5 Location: New York
|
I am trying to get HAR working with JBoss 4.0, Hibernate 2.1.6, Oracle 8.1.7. I am using Oracle driver ojdbc14.jar. J2SE 5.0
I read a wiki http://www.jboss.org/wiki/Wiki.jsp?page=JBossHibernate
I followed the instructions on the wiki but I am getting java.lang.ClassCastException: org.jboss.resource.adapter.jdbc.WrapperDataSource
I have no clue to what's going on here. I see the HAR file being deployed without any problem. I can see all the tables being created, fields being bound. I can see JNDI names for Datasource, HibernateFactory, etc being bound. I can't understand why I am getting java.lang.ClassCastException on Datasource. Please, help
Scott
Please refer to the following
meta-inf/hibernate-service.xml
<server> <mbean code="org.jboss.hibernate.jmx.Hibernate" name="jboss.har:service=Hibernate"> <depends>jboss.jca:service=LocalTxCM,name=OracleDSNADBTL1</depends>
<attribute name="SessionFactoryName">java:/hibernate/HibernateFactory</attribute> <attribute name="DatasourceName">java:/OracleDSNADBTL1</attribute> <attribute name="Dialect">net.sf.hibernate.dialect.OracleDialect</attribute> <attribute name="CacheProviderClass">net.sf.hibernate.cache.HashtableCacheProvider</attribute> <attribute name="Hbm2ddlAuto">create</attribute> </mbean> </server> Log file INFO Initialized REST INFO [ jacorb.home unset! Will use '.' ] INFO [ File .\jacorb.properties for configuration jacorb not found ] INFO InterceptorManager started with 2 SIs, 2 CIs and 4 IORIs INFO ORB run INFO re-Bound name: TransactionService INFO re-Bound name: UserTransaction INFO Hibernate 2.1.6 INFO hibernate.properties not found INFO using CGLIB reflection optimizer INFO Searching for mapping documents in jar: nadb-ejb.har INFO Found mapping documents in jar: com/cec/nadb/ejb/hibernate/pojo/backup/ParamMap.hbm.xml DEBUG trying to locate http://hibernate.sourceforge.net/hibern ... ng-2.0.dtd in classpath under net/sf/hibernate/ DEBUG found http://hibernate.sourceforge.net/hibern ... ng-2.0.dtd in classpath INFO Mapping class: com.cec.nadb.ejb.hibernate.pojo.backup.ParamMap -> PARAM_MAP DEBUG Mapped property: parameterKey -> PARAMETER_KEY, type: integer DEBUG Mapped property: paramName -> PARAM_NAME, type: string DEBUG Mapped property: paramValue -> PARAM_VALUE, type: string DEBUG Mapped property: namespace -> NAMESPACE, type: string INFO Found mapping documents in jar: com/cec/nadb/ejb/hibernate/pojo/process/Groupprocess.hbm.xml DEBUG trying to locate http://hibernate.sourceforge.net/hibern ... ng-2.0.dtd in classpath under net/sf/hibernate/ DEBUG found http://hibernate.sourceforge.net/hibern ... ng-2.0.dtd in classpath INFO Mapping class: com.cec.nadb.ejb.hibernate.pojo.process.Groupprocess -> GROUPPROCESS DEBUG Mapped property: groupkey -> GROUPKEY, type: integer DEBUG Mapped property: processname -> PROCESSNAME, type: string DEBUG Mapped property: cktid -> CKTID, type: string DEBUG Mapped property: issue -> ISSUE, type: string DEBUG Mapped property: revision -> REVISION, type: string DEBUG Mapped property: singleprocesses, type: java.util.Set INFO Found mapping documents in jar: com/cec/nadb/ejb/hibernate/pojo/process/Singleprocess.hbm.xml DEBUG trying to locate http://hibernate.sourceforge.net/hibern ... ng-2.0.dtd in classpath under net/sf/hibernate/ DEBUG found http://hibernate.sourceforge.net/hibern ... ng-2.0.dtd in classpath INFO Mapping class: com.cec.nadb.ejb.hibernate.pojo.process.Singleprocess -> SINGLEPROCESS DEBUG Mapped property: singlekey -> SINGLEKEY, type: integer DEBUG Mapped property: ip -> IP, type: string DEBUG Mapped property: ispingableYn -> ISPINGABLE_YN, type: string DEBUG Mapped property: isloginableYn -> ISLOGINABLE_YN, type: string DEBUG Mapped property: pniYn -> PNI_YN, type: string DEBUG Mapped property: lniYn -> LNI_YN, type: string DEBUG Mapped property: processendedYn -> PROCESSENDED_YN, type: string DEBUG Mapped property: recTouched -> REC_TOUCHED, type: timestamp DEBUG Mapped property: groupprocess -> GROUPKEY, type: com.cec.nadb.ejb.hibernate.pojo.process.Groupprocess INFO processing one-to-many association mappings DEBUG Second pass for collection: com.cec.nadb.ejb.hibernate.pojo.process.Groupprocess.singleprocesses INFO Mapping collection: com.cec.nadb.ejb.hibernate.pojo.process.Groupprocess.singleprocesses -> SINGLEPROCESS DEBUG Mapped collection key: SINGLEKEY, one-to-many: com.cec.nadb.ejb.hibernate.pojo.process.Singleprocess INFO processing one-to-one association property references INFO processing foreign key constraints DEBUG resolving reference to class: com.cec.nadb.ejb.hibernate.pojo.process.Groupprocess INFO Using dialect: net.sf.hibernate.dialect.OracleDialect INFO Use outer join fetching: true INFO JNDI InitialContext properties:{} INFO Using datasource: java:/OracleDSNADBTL1 INFO Transaction strategy: net.sf.hibernate.transaction.JTATransactionFactory INFO JNDI InitialContext properties:{} INFO instantiating TransactionManagerLookup: net.sf.hibernate.transaction.JBossTransactionManagerLookup INFO instantiated TransactionManagerLookup INFO JNDI InitialContext properties:{} INFO instantiating TransactionManagerLookup: net.sf.hibernate.transaction.JBossTransactionManagerLookup INFO instantiated TransactionManagerLookup INFO Use scrollable result sets: true INFO Use JDBC3 getGeneratedKeys(): false INFO Optimize cache for minimal puts: false INFO Query language substitutions: {} INFO cache provider: net.sf.hibernate.cache.HashtableCacheProvider INFO instantiating and configuring caches INFO building session factory DEBUG instantiating session factory with properties: {java.vendor=Sun Microsystems Inc., jacorb.orb.log.verbosity=3, catalina.base=C:\JBoss\server\default, sun.management.compiler=HotSpot Client Compiler, catalina.useNaming=false, os.name=Windows 2000, sun.boot.class.path=C:\JBoss\bin\\..\lib\endorsed\resolver.jar;C:\JBoss\bin\\..\lib\endorsed\xalan.jar;C:\JBoss\bin\\..\lib\endorsed\xercesImpl.jar;C:\JBoss\bin\\..\lib\endorsed\xml-apis.jar;C:\jdk1.5.0\jre\lib\rt.jar;C:\jdk1.5.0\jre\lib\i18n.jar;C:\jdk1.5.0\jre\lib\sunrsasign.jar;C:\jdk1.5.0\jre\lib\jsse.jar;C:\jdk1.5.0\jre\lib\jce.jar;C:\jdk1.5.0\jre\lib\charsets.jar;C:\jdk1.5.0\jre\classes, sun.desktop=windows, java.vm.specification.vendor=Sun Microsystems Inc., java.runtime.version=1.5.0-b64, jacorb.log.default.verbosity=2, hibernate.cache.provider_class=net.sf.hibernate.cache.HashtableCacheProvider, user.name=seos, shared.loader=${catalina.base}/shared/classes,${catalina.base}/shared/lib/*.jar, jboss.bind.address=0.0.0.0, hibernate.session_factory_name=java:/hibernate/HibernateFactory, jboss.home.dir=C:\JBoss, user.language=en, java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, sun.boot.library.path=C:\jdk1.5.0\jre\bin, jboss.home.url=file:/C:/JBoss/, java.version=1.5.0, user.timezone=America/New_York, jboss.server.home.dir=C:\JBoss\server\default, sun.arch.data.model=32, javax.rmi.CORBA.UtilClass=org.jboss.iiop.SunJDK14IsLocalBugFix, java.endorsed.dirs=C:\JBoss\bin\\..\lib\endorsed, jboss.server.home.url=file:/C:/JBoss/server/default/, sun.cpu.isalist=pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86, sun.jnu.encoding=Cp1252, file.encoding.pkg=sun.io, package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.,sun.beans., file.separator=\, java.specification.name=Java Platform API Specification, hibernate.cglib.use_reflection_optimizer=true, java.class.version=49.0, jboss.server.config.url=file:/C:/JBoss/server/default/conf/, user.country=US, java.home=C:\jdk1.5.0\jre, java.vm.info=mixed mode, jboss.lib.url=file:/C:/JBoss/lib/, os.version=5.0, hibernate.connection.datasource=java:/OracleDSNADBTL1, hibernate.transaction.factory_class=net.sf.hibernate.transaction.JTATransactionFactory, org.omg.CORBA.ORBSingletonClass=org.jboss.system.ORBSingleton, path.separator=;, java.vm.version=1.5.0-b64, user.variant=, java.protocol.handler.pkgs=org.jboss.net.protocol, java.awt.printerjob=sun.awt.windows.WPrinterJob, sun.io.unicode.encoding=UnicodeLittle, awt.toolkit=sun.awt.windows.WToolkit, package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper., jboss.server.temp.dir=C:\JBoss\server\default\tmp, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces, user.home=C:\Documents and Settings\seos, java.rmi.server.RMIClassLoaderSpi=org.jboss.system.JBossRMIClassLoader, java.specification.vendor=Sun Microsystems Inc., hibernate.hbm2ddl.auto=create, java.library.path=C:\jdk1.5.0\bin;.;C:\WINNT\system32;C:\WINNT;C:\jdk1.5.0\bin;C:\oracle\ora81\bin;C:\Program Files\Oracle\jre\1.1.7\bin;C:\j2sdk1.4.2_04\bin;C:\Program Files\CA\Dcs\DMScripting\;C:\Program Files\CA\DCS\CAWIN\;C:\jdk1.5.0bin;C:\Program Files\Common Files\VERITAS Shared;C:\PROGRA~1\VERITAS\\NetBackup\bin;c:\jdk1.2.2\bin;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;c:\program files\resource kit;C:\applications\apache-ant-1.6.1\bin\;C:\j2sdkee1.3.1\bin;;C:\Program Files\CA\Unicenter Software Delivery\BIN;C:\applications\maven-1.0-rc2\bin;C:\MSSQL7\BINN;C:\jwsdp-1.4\jwsdp-shared\bin, java.vendor.url=http://java.sun.com/, program.name=run.bat, java.vm.vendor=Sun Microsystems Inc., hibernate.dialect=net.sf.hibernate.dialect.OracleDialect, common.loader=${catalina.home}/common/classes,${catalina.home}/common/endorsed/*.jar,${catalina.home}/common/lib/*.jar, java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition, java.class.path=C:\jdk1.5.0\lib\tools.jar;C:\JBoss\bin\\run.jar, jbossmx.loader.repository.class=org.jboss.mx.loading.UnifiedLoaderRepository3, java.vm.specification.name=Java Virtual Machine Specification, java.vm.specification.version=1.0, catalina.home=C:\JBoss\server\default, sun.cpu.endian=little, sun.os.patch.level=Service Pack 4, jboss.server.lib.url=file:/C:/JBoss/server/default/lib/, java.rmi.server.codebase=http://noc-intranet:8083/, java.io.tmpdir=C:\DOCUME~1\seos\LOCALS~1\Temp\1\, java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi, server.loader=${catalina.home}/server/classes,${catalina.home}/server/lib/*.jar, jboss.server.data.dir=C:\JBoss\server\default\data, os.arch=x86, java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment, java.ext.dirs=C:\jdk1.5.0\jre\lib\ext, user.dir=C:\JBoss\bin, line.separator= , java.vm.name=Java HotSpot(TM) Client VM, jboss.server.base.dir=C:\JBoss\server, org.jboss.ORBSingletonDelegate=org.jacorb.orb.ORBSingleton, jacorb.log.loggerFactory=org.jboss.util.Log4jLoggerFactory, jboss.server.base.url=file:/C:/JBoss/server/, javax.management.builder.initial=org.jboss.mx.server.MBeanServerBuilderImpl, org.omg.CORBA.ORBClass=org.jacorb.orb.ORB, file.encoding=Cp1252, catalina.ext.dirs=C:\JBoss\server\default\lib, hibernate.transaction.manager_lookup_class=net.sf.hibernate.transaction.JBossTransactionManagerLookup, java.specification.version=1.5, jboss.server.name=default} DEBUG initializing class SessionFactoryObjectFactory DEBUG registered: 8a008c890028d255010028d25cde0000 (java:/hibernate/HibernateFactory) INFO Factory name: java:/hibernate/HibernateFactory INFO JNDI InitialContext properties:{} DEBUG binding: java:/hibernate/HibernateFactory DEBUG Returning a Reference to the SessionFactory DEBUG lookup: java: DEBUG Found subcontext: java: DEBUG lookup: hibernate INFO Creating subcontext: hibernate DEBUG binding: HibernateFactory DEBUG Returning a Reference to the SessionFactory DEBUG Bound name: java:/hibernate/HibernateFactory INFO Bound factory to JNDI name: java:/hibernate/HibernateFactory WARN InitialContext did not implement EventContext DEBUG instantiated session factory INFO Using dialect: net.sf.hibernate.dialect.OracleDialect INFO processing one-to-many association mappings INFO processing one-to-one association property references INFO processing foreign key constraints DEBUG resolving reference to class: com.cec.nadb.ejb.hibernate.pojo.process.Groupprocess INFO processing one-to-many association mappings INFO processing one-to-one association property references INFO processing foreign key constraints DEBUG resolving reference to class: com.cec.nadb.ejb.hibernate.pojo.process.Groupprocess INFO Running hbm2ddl schema export INFO exporting generated schema to database INFO JNDI InitialContext properties:{} INFO Using datasource: java:/OracleDSNADBTL1 DEBUG alter table SINGLEPROCESS drop constraint FKC08AD1074CD49380 DEBUG drop table SINGLEPROCESS cascade constraints DEBUG drop table GROUPPROCESS cascade constraints DEBUG drop table PARAM_MAP cascade constraints DEBUG drop sequence SEQ#PARAMMAP#KEY DEBUG drop sequence SEQ#GROUPPROCESS#KEY DEBUG drop sequence SEQ#SINGLEPROCESS#KEY DEBUG create table SINGLEPROCESS ( SINGLEKEY number(10,0) not null, IP varchar2(255), ISPINGABLE_YN varchar2(255), ISLOGINABLE_YN varchar2(255), PNI_YN varchar2(255), LNI_YN varchar2(255), PROCESSENDED_YN varchar2(255), REC_TOUCHED date, GROUPKEY number(10,0) not null, primary key (SINGLEKEY) ) DEBUG create table GROUPPROCESS ( GROUPKEY number(10,0) not null, PROCESSNAME varchar2(255), CKTID varchar2(255), ISSUE varchar2(255), REVISION varchar2(255), primary key (GROUPKEY) ) DEBUG create table PARAM_MAP ( PARAMETER_KEY number(10,0) not null, PARAM_NAME varchar2(255) not null, PARAM_VALUE varchar2(255) not null, NAMESPACE varchar2(255), primary key (PARAMETER_KEY) ) DEBUG alter table SINGLEPROCESS add constraint FKC08AD1074CD49380 foreign key (GROUPKEY) references GROUPPROCESS DEBUG create sequence SEQ#PARAMMAP#KEY DEBUG create sequence SEQ#GROUPPROCESS#KEY DEBUG create sequence SEQ#SINGLEPROCESS#KEY INFO schema export complete DEBUG obtaining JTA TransactionManager INFO JNDI InitialContext properties:{} my oracle-ds.xml <local-tx-datasource> <jndi-name>OracleDSNADBTL1</jndi-name> <connection-url>jdbc:oracle:thin:@NOCORACLE-02:1521:CECNADB</connection-url> <driver-class>oracle.jdbc.driver.OracleDriver</driver-class> <user-name>tl1</user-name> <password>tl1</password> <!-- Uses the pingDatabase method to check a connection is still valid before handing it out from the pool --> <!-- <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker</valid-connection-checker-class-name> --> <!-- Checks the Oracle error codes and messages for fatal errors --> <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name> <check-valid-connection-sql>SELECT COUNT(*) FROM LOOKUP.EQ_MODEL</check-valid-connection-sql> <min-pool-size>2</min-pool-size> <max-pool-size>25</max-pool-size> <blocking-timeout-millis>15000</blocking-timeout-millis> <idle-timeout-minutes>1</idle-timeout-minutes> <prepared-statement-cache-size>100</prepared-statement-cache-size> </local-tx-datasource> StackTrace java.lang.ClassCastException: org.jboss.resource.adapter.jdbc.WrapperDataSource at org.jboss.hibernate.session.HibernateContext.locateSessionFactory(HibernateContext.java:212) at org.jboss.hibernate.session.HibernateContext.generateSession(HibernateContext.java:202) at org.jboss.hibernate.session.HibernateContext.getSession(HibernateContext.java:98) at com.cec.nadb.ejb.hibernate.dao.DAO.get(DAO.java:30) at com.cec.nadb.ejb.hibernate.dao.TL1DAO.getParamMap(TL1DAO.java:20) at com.cec.nadb.ejb.jms.backup.model.Catalyst3550MDB.onMessage(Catalyst3550MDB.java:46) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.jboss.invocation.Invocation.performCall(Invocation.java:345) at org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDrivenContainer.java:475) at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:185) at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterceptor.java:87) at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:48) at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:105) at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:316) at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:149) at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:95) at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191) at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122) at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:389) at org.jboss.ejb.Container.invoke(Container.java:854) at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:920) at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1213) at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:256) at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:877) at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:159) at org.jboss.mq.SpySession.run(SpySession.java:351) at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180) at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743) at java.lang.Thread.run(Thread.java:595)
Code I am executing is
Code: public Object get(Class c, Integer id) throws Exception { try { if (session == null || session.isConnected() == false) { session = HibernateContext.getSession(dsName); } return session.load(c, id); } catch (ObjectNotFoundException onfe) { return null; } catch (HibernateException e) { System.err.println("Hibernate Exception" + e.getMessage()); throw new RuntimeException(e); } finally { if (session != null) { try { session.close(); } catch (HibernateException e) { System.err.println("Hibernate Exception" + e.getMessage()); throw new RuntimeException(e); } } } }
|
|