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

Reply via email to