Hi Ben, Exception got fixed after anonymous wrote : <cache usage=""transactional"/> tag in one of the hibernate class was removed from hibernate mapping file . and after application was deploed in tomcat 5.0: Also please not that, if hibernate.cache.provider_class=net.sf.hibernate.cache.TreeCacheProvider is replaced with following(coherence caching), everything works without need to change mapping file. And I was able to see cache keys(coherence) on web console(weblogic): hibernate.cache.provider_class=net.sf.hibernate.cache.CoherenceCacheProvider
I am using hibernate 2.1.8 & JBossCache 1.2. Here are the files: treecache.xml(don't know whether this correct at all): <?xml version="1.0" encoding="UTF-8"?> | <server> | <classpath codebase="./lib" archives="jboss-cache.jar, jgroups.jar"/><mbean code="org.jboss.cache.TreeCache" name="jboss.cache:service=TreeCache"> | <depends>jboss:service=Naming</depends> | <depends>jboss:service=TransactionManager</depends> | <!-- <attribute name="TransactionManagerLookupClass">org.jboss.cache.DummyTransactionManagerLookup</attribute>--> | | <attribute name="IsolationLevel">REPEATABLE_READ</attribute> | <attribute name="ClusterName">TreeCache-Cluster</attribute> | <attribute name="CacheMode">REPL_SYNC</attribute> | <attribute name="SyncReplTimeout">10000</attribute> | <attribute name="LockAcquisitionTimeout">15000</attribute> | <attribute name="FetchStateOnStartup">true</attribute> | <attribute name="EvictionPolicyClass"> | org.jboss.cache.eviction.LRUPolicy | </attribute> | <attribute name="EvictionPolicyConfig"> | <config> | <attribute name="wakeUpIntervalSeconds">5</attribute> | | </config> | </attribute> | <attribute name="ClusterConfig"> | <config> | <UDP mcast_addr="224.10.10.10" mcast_port="45566" | ip_ttl="64" ip_mcast="true" | mcast_send_buf_size="150000" mcast_recv_buf_size="80000" | ucast_send_buf_size="150000" ucast_recv_buf_size="80000" | loopback="false" bind_addr="127.0.0.1"/> | <PING timeout="2000" num_initial_members="3" | up_thread="false" down_thread="false"/> | <MERGE2 min_interval="10000" max_interval="20000"/> | <FD_SOCK/> | <VERIFY_SUSPECT timeout="1500" | up_thread="false" down_thread="false"/> | <pbcast.NAKACK gc_lag="50" retransmit_timeout="600,1200,2400,4800" | max_xmit_size="8192" up_thread="false" down_thread="false"/> | <UNICAST timeout="600,1200,2400" window_size="100" min_threshold="10" | down_thread="false"/> | <pbcast.STABLE desired_avg_gossip="20000" | up_thread="false" down_thread="false"/> | <FRAG frag_size="8192" | down_thread="false" up_thread="false"/> | <pbcast.GMS join_timeout="5000" join_retry_timeout="2000" | shun="true" print_local_addr="true"/> | <pbcast.STATE_TRANSFER up_thread="true" down_thread="true"/> | </config> | </attribute> | </mbean> | </server> | | jdbc.properties which is used to initialize hibernate configuration with spring: jdbc.driverClassName=org.hsqldb.jdbcDriver | jdbc.url=jdbc:hsqldb:hsql://localhost:1476 | jdbc.username=sa | jdbc.password= | hibernate.show_sql=true | hibernate.dialect=net.sf.hibernate.dialect.HSQLDialect | hibernate.cache.provider_class=net.sf.hibernate.cache.TreeCacheProvider | #hibernate.cache.provider_class=net.sf.hibernate.cache.CoherenceCacheProvider | hibernate.c3p0.minPoolSize=5 | hibernate.c3p0.maxPoolSize=20 | hibernate.c3p0.timeout=1800 | hibernate.c3p0.max_statement=50 | applicationContext.xml of spring: <?xml version="1.0" encoding="UTF-8"?> | <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> | | <!-- | - Application context definition for Petclinic on Apache OJB. | --> | <beans> | | | <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> | <property name="location"><value>/WEB-INF/jdbc.properties</value></property> | </bean> | <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> | <property name="driverClassName"><value>${jdbc.driverClassName}</value></property> | <property name="url"><value>${jdbc.url}</value></property> | <property name="username"><value>${jdbc.username}</value></property> | <property name="password"><value>${jdbc.password}</value></property> | </bean> | | <bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean"> | <property name="dataSource"><ref local="dataSource"/></property> | <property name="mappingResources"> | <value>vz/esm/vcm/core/vcm-core.hbm.xml</value> | </property> | <property name="hibernateProperties"> | <props> | <prop key="hibernate.dialect">${hibernate.dialect}</prop> | <prop key="hibernate.show_sql">${hibernate.show_sql}</prop> | <prop key="hibernate.c3p0.minPoolSize">${hibernate.c3p0.minPoolSize}</prop> | <prop key="hibernate.c3p0.maxPoolSize">${hibernate.c3p0.maxPoolSize}</prop> | <prop key="hibernate.c3p0.timeout">${hibernate.c3p0.timeout}</prop> | <prop key="hibernate.c3p0.max_statement">${hibernate.c3p0.max_statement}</prop> | <prop key="hibernate.cache.provider_class">${hibernate.cache.provider_class}</prop> | </props> | </property> | </bean> | | <bean id="transactionManager" class="org.springframework.orm.hibernate.HibernateTransactionManager"> | <property name="sessionFactory"><ref local="sessionFactory"/></property> | </bean> | | <bean id="DMS" class="org.springframework.aop.framework.ProxyFactoryBean"> | <property name="target"><ref local="compDMSTarget"/></property> | <property name="interceptorNames" > | <list> | <value>pmTransactionInterceptor</value> | <value>hibernateInterceptor</value> | </list> | </property> | </bean> | | <bean id="compDMS" parent="DMS" > | <property name="target"><ref local="compDMSTarget"/></property> | </bean> | | <bean id="compDMSTarget" class="vz.esm.vcm.service.ComponentDMS"> | <property name="sessionFactory"><ref local="sessionFactory"/></property> | </bean> | | <bean id="pmTransactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor"> | <property name="transactionManager"><ref bean="transactionManager"/></property> | <property name="transactionAttributes"> | <props> | <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop> | <prop key="*">PROPAGATION_REQUIRED</prop> | </props> | </property> | </bean> | | <bean id="hibernateInterceptor" class="org.springframework.orm.hibernate.HibernateInterceptor"> | <property name="sessionFactory"><ref bean="sessionFactory"/></property> | </bean> | </beans> | part of hibernate mapping file is here: <class name="Component" table="Component" discriminator-value="base"> | <cache usage="transactional" /> | <id name="uuid" column="uuid" type="java.lang.String"> | <generator class="uuid.string"/> | </id> | <discriminator column="type"/> | ....... | <set name="contacts" table="contact" lazy="true" cascade="all"> | <key column="component_uuid"/> | <one-to-many class="Contact"/> | </set> | </class> | ........ | ........ | <class name="Contact" table="Contact"> | <!--following line commented out for jbosscache. But works in coherence cache--> | <!--<cache usage="transactional" /> --> | <id name="uuid" column="uuid" type="java.lang.String"> | <generator class="uuid.string"/> | </id> | ........ | </class> | | "Component" class has multiple "Contact"s (one to many relation) Does this one to many relationship has anything to do with nullpointer exception? Also I am not able to view contents of cache by running: build run.aop.demo Also in tomcat nullpointerexception stacktrace was different from weblogic with same mapping file (note:I am not sure whether, I tried different verion of jbosscache & hibernate in weblogic 8.1. ). here it is: | ct contacts0_ where contacts0_.role_uuid=? | net.sf.hibernate.cache.CacheException: org.jboss.util.NestedRuntimeException: - | nested throwable: (java.lang.NullPointerException) | at net.sf.hibernate.cache.TreeCache.put(TreeCache.java:70) | at net.sf.hibernate.cache.TransactionalCache.put(TransactionalCache.java | :44) | at net.sf.hibernate.impl.SessionImpl.initializeEntity(SessionImpl.java:2 | 227) | at net.sf.hibernate.loader.Loader.initializeEntitiesAndCollections(Loade | r.java:315) | at net.sf.hibernate.loader.Loader.doQuery(Loader.java:305) | at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections | (Loader.java:133) | at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:990) | at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:965) | at net.sf.hibernate.loader.OneToManyLoader.initialize(OneToManyLoader.ja | va:93) | at net.sf.hibernate.collection.AbstractCollectionPersister.initialize(Ab | stractCollectionPersister.java:288) | at net.sf.hibernate.impl.SessionImpl.initializeCollection(SessionImpl.ja | va:3303) | at net.sf.hibernate.collection.PersistentCollection.forceInitialization( | PersistentCollection.java:336) | at net.sf.hibernate.impl.SessionImpl.initializeNonLazyCollections(Sessio | nImpl.java:3156) | at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections | (Loader.java:138) | at net.sf.hibernate.loader.Loader.doList(Loader.java:1033) | at net.sf.hibernate.loader.Loader.list(Loader.java:1024) | at net.sf.hibernate.hql.QueryTranslator.list(QueryTranslator.java:854) | at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1553) | at net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:39) | at vz.esm.vcm.service.ComponentDMS.executeNamedQuery(ComponentDMS.java:1 | 29) | at vz.esm.vcm.service.ComponentDMS.getSMETitleList(ComponentDMS.java:153 | ) | at vz.esm.vcm.web.CreateAtomicElement.populateSMETitleList(CreateAtomicE | lement.java:130) | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. | java:39) | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces | sorImpl.java:25) | at java.lang.reflect.Method.invoke(Method.java:324) | at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:255) | at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:553) | at ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:54) | at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:577) | at ognl.ASTMethod.getValueBody(ASTMethod.java:84) | at ognl.SimpleNode.getValue(SimpleNode.java:129) | at ognl.Ognl.getValue(Ognl.java:335) | at ognl.Ognl.getValue(Ognl.java:310) | at org.apache.tapestry.binding.ExpressionBinding.resolveProperty(Express | ionBinding.java:201) | at org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBin | ding.java:194) | at org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding | .java:208) | at org.apache.tapestry.param.AbstractParameterConnector.getBindingValue( | AbstractParameterConnector.java:105) | at org.apache.tapestry.param.ObjectParameterConnector.setParameter(Objec | tParameterConnector.java:53) | at org.apache.tapestry.param.ParameterManager.setParameters(ParameterMan | ager.java:105) | at org.apache.tapestry.AbstractComponent.prepareForRender(AbstractCompon | ent.java:898) | at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:8 | 53) | at org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.ja | va:624) | at org.apache.tapestry.components.Foreach.renderComponent(Foreach.java:1 | 22) | at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:8 | 57) | at org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.ja | va:624) | at org.apache.tapestry.form.Form.renderComponent(Form.java:362) | at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:8 | 57) | at org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.ja | va:624) | at org.apache.tapestry.html.Body.renderComponent(Body.java:269) | at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:8 | 57) | at org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java: | 118) | at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:8 | 57) | at org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:300) | at org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java: | 371) | at org.apache.tapestry.engine.AbstractEngine.renderResponse(AbstractEngi | ne.java:732) | at org.apache.tapestry.engine.PageService.service(PageService.java:77) | at org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java | :872) | at org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.j | ava:197) | at org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java: | 158) | at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) | at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl | icationFilterChain.java:237) | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF | ilterChain.java:157) | at org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doF | ilterInternal(OpenSessionInViewFilter.java:117) | at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerR | equestFilter.java:73) | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl | icationFilterChain.java:186) | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF | ilterChain.java:157) | at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV | alve.java:214) | at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv | eContext.java:104) | at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav | a:520) | at org.apache.catalina.core.StandardContextValve.invokeInternal(Standard | ContextValve.java:198) | at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV | alve.java:152) | at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv | eContext.java:104) | at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav | a:520) | at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j | ava:137) | at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv | eContext.java:104) | at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j | ava:118) | at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv | eContext.java:102) | at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav | a:520) | at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal | ve.java:109) | at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv | eContext.java:104) | at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav | a:520) | at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) | | at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:16 | 0) | at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java | :799) | at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce | ssConnection(Http11Protocol.java:705) | at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java | :577) | at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP | ool.java:683) | at java.lang.Thread.run(Thread.java:534) | Caused by: org.jboss.util.NestedRuntimeException: - nested throwable: (java.lang | .NullPointerException) | at org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:3083) | at org.jboss.cache.TreeCache.put(TreeCache.java:1758) | at net.sf.hibernate.cache.TreeCache.put(TreeCache.java:67) | ... 89 more | Caused by: java.lang.NullPointerException | at org.jboss.cache.eviction.LRUPolicy.nodeAdded(LRUPolicy.java:54) | at org.jboss.cache.eviction.LRUPolicy.nodeCreated(LRUPolicy.java:92) | at org.jboss.cache.TreeCache.notifyNodeCreated(TreeCache.java:3129) | at org.jboss.cache.interceptors.CreateIfNotExistsInterceptor.createNode( | CreateIfNotExistsInterceptor.java:71) | at org.jboss.cache.interceptors.CreateIfNotExistsInterceptor.invoke(Crea | teIfNotExistsInterceptor.java:43) | at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:40) | at org.jboss.cache.interceptors.ReplicationInterceptor.invoke(Replicatio | nInterceptor.java:51) | at org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:3078) | ... 91 more | (web.FlushingSpringSessionInViewFilter 134 ) Using SessionFactory 'sessionFactor | y' for OpenSessionInViewFilter | Thanks in Advance, Hari View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3865543#3865543 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3865543 ------------------------------------------------------- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag-&-drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl _______________________________________________ JBoss-Development mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/jboss-development
