Hello Gavin,

anonymous wrote : 
  | The use of CONVERSATION-scoped or SESSION-scoped Entity Bean Seam 
components is not considered truly cluster-safe. 
  |  
  | If you need to be cluster safe, hold the reference to the entity bean 
inside a stateful session bean (in any version of Seam) or inside a JavaBean 
Seam component that implements Mutable (in Seam 1.1). 
  | 

This means, that if I have an Entity Bean "Item" and use it as
#{item.price} in JSF, I shoud create an SFSB "ItemClusteraware" with getters 
for Item item = new Item() or em.find(..) from DB (create/edit-feature), remove 
@Name from Item and use it like this #{itemClusteraware.item.price} in my JSF?

Is that right?

I tried to clusterify my application:
- put "distributable" into web.xml
- anotate Session Beans with @Clustered
- I didn`t do do Entity - SFSB stuff mentioned before, because that would mean 
lot of refactoring.

Currently I have only one PC with Jboss with the cluster profile, so I deployed 
there.

The app deployed well and I saw some INFO about TreeCache taking care of SFSB 
replication.

The app works well too, but just for some period of time. After this period, 
jboss console output gets polluted with this exception once per second to 
infinity

ProjectActionImpl is declard like this

  | @Stateful
  | @Clustered
  | @Name("projectAction")
  | @CacheConfig(idleTimeoutSeconds=SCRatingDefaults.SFSBTimeout)
  | public class ProjectActionImpl implements ProjectAction, Serializable {
  | 


  | 03:42:07,162 INFO  [TxInterceptor] There was a problem handling this request
  | java.lang.RuntimeException: java.lang.RuntimeException: 
java.io.IOException: org.proaut.scrating.ejb3.session.ProjectActionImpl
  |         at 
org.jboss.ejb3.interceptor.LifecycleInterceptorHandler.prePassivate(LifecycleInterceptorHandler.java:169)
  |         at 
org.jboss.ejb3.stateful.StatefulContainer.invokePrePassivate(StatefulContainer.java:382)
  |         at 
org.jboss.ejb3.stateful.StatefulBeanContext.prePassivate(StatefulBeanContext.java:178)
  |         at 
org.jboss.ejb3.cache.tree.StatefulTreeCache$ClusteredStatefulCacheListener.nodePassivate(StatefulTreeCache.java:288)
  |         at 
org.jboss.cache.TreeCache.notifyNodePassivate(TreeCache.java:5739)
  |         at 
org.jboss.cache.interceptors.PassivationInterceptor.invoke(PassivationInterceptor.java:62)
  |         at 
org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
  |         at 
org.jboss.cache.interceptors.TxInterceptor.handleNonTxMethod(TxInterceptor.java:345)
  |         at 
org.jboss.cache.interceptors.TxInterceptor.invoke(TxInterceptor.java:156)
  |         at 
org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
  |         at 
org.jboss.cache.interceptors.CacheMgmtInterceptor.invoke(CacheMgmtInterceptor.java:179)
  |         at org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:5520)
  |         at org.jboss.cache.TreeCache.evict(TreeCache.java:3716)
  |         at 
org.jboss.cache.eviction.BaseEvictionPolicy.evict(BaseEvictionPolicy.java:34)
  |         at 
org.jboss.cache.eviction.BaseEvictionAlgorithm.evictCacheNode(BaseEvictionAlgorithm.java:210)
  |         at 
org.jboss.cache.eviction.BaseEvictionAlgorithm.emptyRecycleQueue(BaseEvictionAlgorithm.java:461)
  |         at 
org.jboss.cache.eviction.BaseEvictionAlgorithm.process(BaseEvictionAlgorithm.java:97)
  |         at 
org.jboss.cache.eviction.EvictionTimerTask.run(EvictionTimerTask.java:80)
  |         at java.util.TimerThread.mainLoop(Timer.java:512)
  |         at java.util.TimerThread.run(Timer.java:462)
  | Caused by: java.lang.RuntimeException: java.io.IOException: 
org.proaut.scrating.ejb3.session.ProjectActionImpl
  |         at 
org.jboss.ejb3.stateful.StatefulBeanContext.extractBeanAndInterceptors(StatefulBeanContext.java:367)
  |         at 
org.jboss.ejb3.stateful.StatefulBeanContext.getInterceptorInstances(StatefulBeanContext.java:333)
  |         at 
org.jboss.ejb3.interceptor.LifecycleInvocationContextImpl.getLifecycleInvocationContext(LifecycleInvocationContextImpl.java:65)
  |         at 
org.jboss.ejb3.interceptor.LifecycleInterceptorHandler.prePassivate(LifecycleInterceptorHandler.java:160)
  |         ... 19 more
  | Caused by: java.io.IOException: 
org.proaut.scrating.ejb3.session.ProjectActionImpl
  |         at 
org.jboss.serial.classmetamodel.ClassMetamodelFactory.getClassMetaData(ClassMetamodelFactory.java:332)
  |         at 
org.jboss.serial.classmetamodel.StreamingClass.readStream(StreamingClass.java:72)
  |         at 
org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:381)
  |         at 
org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
  |         at 
org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:643)
  |         at 
org.jboss.serial.persister.ArrayPersister.readObjectArray(ArrayPersister.java:196)
  |         at 
org.jboss.serial.persister.ArrayPersister.readData(ArrayPersister.java:172)
  |         at 
org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412)
  |         at 
org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
  |         at 
org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:643)
  |         at 
org.jboss.serial.io.JBossObjectInputStream.readObjectOverride(JBossObjectInputStream.java:163)
  |         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:342)
  |         at 
org.jboss.serial.io.MarshalledObject.get(MarshalledObject.java:68)
  |         at 
org.jboss.ejb3.stateful.StatefulBeanContext.extractBeanAndInterceptors(StatefulBeanContext.java:342)
  |         at 
org.jboss.ejb3.stateful.StatefulBeanContext.getInterceptorInstances(StatefulBeanContext.java:333)
  |         at 
org.jboss.ejb3.interceptor.LifecycleInvocationContextImpl.getLifecycleInvocationContext(LifecycleInvocationContextImpl.java:65)
  |         at 
org.jboss.ejb3.interceptor.LifecycleInterceptorHandler.prePassivate(LifecycleInterceptorHandler.java:160)
  |         at 
org.jboss.ejb3.stateful.StatefulContainer.invokePrePassivate(StatefulContainer.java:382)
  |         at 
org.jboss.ejb3.stateful.StatefulBeanContext.prePassivate(StatefulBeanContext.java:178)
  |         at 
org.jboss.ejb3.cache.tree.StatefulTreeCache$ClusteredStatefulCacheListener.nodePassivate(StatefulTreeCache.java:288)
  |         at 
org.jboss.cache.TreeCache.notifyNodePassivate(TreeCache.java:5739)
  |         at 
org.jboss.cache.interceptors.PassivationInterceptor.invoke(PassivationInterceptor.java:62)
  |         at 
org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
  |         at 
org.jboss.cache.interceptors.TxInterceptor.handleNonTxMethod(TxInterceptor.java:345)
  |         at 
org.jboss.cache.interceptors.TxInterceptor.invoke(TxInterceptor.java:156)
  |         at 
org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
  |         at 
org.jboss.cache.interceptors.CacheMgmtInterceptor.invoke(CacheMgmtInterceptor.java:179)
  | Caused by: java.lang.ClassNotFoundException: 
org.proaut.scrating.ejb3.session.ProjectActionImpl
  |         at java.lang.Class.forName0(Native Method)
  |         at java.lang.Class.forName(Class.java:242)
  |         at 
org.jboss.serial.classmetamodel.ClassMetamodelFactory.resolveClassByName(ClassMetamodelFactory.java:269)
  |         at 
org.jboss.serial.classmetamodel.ClassMetamodelFactory.getClassMetaData(ClassMetamodelFactory.java:289)
  |         at 
org.jboss.serial.classmetamodel.StreamingClass.readStream(StreamingClass.java:72)
  |         at 
org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:381)
  |         at 
org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
  |         at 
org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:643)
  |         at 
org.jboss.serial.persister.ArrayPersister.readObjectArray(ArrayPersister.java:196)
  |         at 
org.jboss.serial.persister.ArrayPersister.readData(ArrayPersister.java:172)
  |         at 
org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412)
  |         at 
org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
  |         at 
org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:643)
  |         at 
org.jboss.serial.io.JBossObjectInputStream.readObjectOverride(JBossObjectInputStream.java:163)
  |         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:342)
  |         at 
org.jboss.serial.io.MarshalledObject.get(MarshalledObject.java:68)
  |         at 
org.jboss.ejb3.stateful.StatefulBeanContext.extractBeanAndInterceptors(StatefulBeanContext.java:342)
  |         at 
org.jboss.ejb3.stateful.StatefulBeanContext.getInterceptorInstances(StatefulBeanContext.java:333)
  |         at 
org.jboss.ejb3.interceptor.LifecycleInvocationContextImpl.getLifecycleInvocationContext(LifecycleInvocationContextImpl.java:65)
  |         at 
org.jboss.ejb3.interceptor.LifecycleInterceptorHandler.prePassivate(LifecycleInterceptorHandler.java:160)
  |         at 
org.jboss.ejb3.stateful.StatefulContainer.invokePrePassivate(StatefulContainer.java:382)
  |         at 
org.jboss.ejb3.stateful.StatefulBeanContext.prePassivate(StatefulBeanContext.java:178)
  |         at 
org.jboss.ejb3.cache.tree.StatefulTreeCache$ClusteredStatefulCacheListener.nodePassivate(StatefulTreeCache.java:288)
  |         at 
org.jboss.cache.TreeCache.notifyNodePassivate(TreeCache.java:5739)
  |         at 
org.jboss.cache.interceptors.PassivationInterceptor.invoke(PassivationInterceptor.java:62)
  |         at 
org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
  |         at 
org.jboss.cache.interceptors.TxInterceptor.handleNonTxMethod(TxInterceptor.java:345)
  |         at 
org.jboss.cache.interceptors.TxInterceptor.invoke(TxInterceptor.java:156)
  |         at 
org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
  |         at 
org.jboss.cache.interceptors.CacheMgmtInterceptor.invoke(CacheMgmtInterceptor.java:179)
  |         at org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:5520)
  |         at org.jboss.cache.TreeCache.evict(TreeCache.java:3716)
  | 

the timeout of the SFSB is 
public static final int SFSBTimeout=((600*60)+60);

what exactly is going on? it looks like an EJB3 thing but I didn`t find nothing 
comparable in the EJB3 forum...

thank you,
Juraj Holtak

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4026077#4026077

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4026077
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to