Push + Infinispan

UI Components for JSF
Post Reply
mick_g
Posts: 5
Joined: 21 Mar 2014, 15:55

07 Apr 2014, 13:06

Can someone suggest any good solution?

Code: Select all

[org.infinispan.interceptors.InvocationContextInterceptor] 
(http-/127.0.0.1:8080-6) ISPN000136: Execution error: 
org.infinispan.marshall.NotSerializableException: 
org.primefaces.push.PushContextImpl
Caused by: an exception which occurred:
	in field pushContext
	in object java.util.HashMap@ade743c
	in object org.jboss.as.clustering.SimpleMarshalledValue@ade743c
	in object org.infinispan.util.FastCopyHashMap@cb21f91
	in object org.infinispan.atomic.AtomicHashMap@6b50e80a
	in object org.infinispan.container.entries.ImmortalCacheEntry@84e0c00b
	in object org.infinispan.loaders.bucket.Bucket@92a499

12:55:43,617 ERROR [org.infinispan.transaction.TransactionCoordinator] 
(http-/127.0.0.1:8080-6) ISPN000188: Error while processing a commit in a 
two-phase transaction: org.infinispan.marshall.NotSerializableException: 
org.primefaces.push.PushContextImpl
Caused by: an exception which occurred:
	in field pushContext
	in object java.util.HashMap@ade743c
	in object org.jboss.as.clustering.SimpleMarshalledValue@ade743c
	in object org.infinispan.util.FastCopyHashMap@cb21f91
	in object org.infinispan.atomic.AtomicHashMap@6b50e80a
	in object org.infinispan.container.entries.ImmortalCacheEntry@84e0c00b
	in object org.infinispan.loaders.bucket.Bucket@92a499

kukeltje
Expert Member
Posts: 9605
Joined: 17 Jun 2010, 13:34
Location: Netherlands

07 Apr 2014, 18:08

make it transient?

mick_g
Posts: 5
Joined: 21 Mar 2014, 15:55

08 Apr 2014, 11:55

Yes, i did it, but what are the side effects?
Let's suppose that i implement chat application and during users conversation load balancer switch user from one node to another. What happend with PushContext, PushListners?
We plan to test this case, but do you have answer on this questions?

smithh032772
Posts: 6144
Joined: 10 Sep 2011, 21:10

08 Apr 2014, 12:16

i never heard of infinispan until i read this forum topic.

hmmm...

Code: Select all

org.infinispan.marshall.NotSerializableException: 
org.primefaces.push.PushContextImpl
Caused by: an exception which occurred:
   in field pushContext
   in object java.util.HashMap@ade743c
   in object org.jboss.as.clustering.SimpleMarshalledValue@ade743c
clustering? not serializable?

is there really a need for PrimeFaces Push to run inside of this cluster? and does pushcontext need to be serializable? can you use JMS to send messages to your (non-clustered, non-serializable) 'push' server, and your push server push messages to clients?

did you ask your question on atmosphere framework's google groups mail list? did you consider using atmosphere framework (and avoid using primefaces push)?
Howard

PrimeFaces 6.0, Extensions 6.0.0, Push (Atmosphere 2.4.0)
TomEE+ 1.7.4 (Tomcat 7.0.68), MyFaces Core 2.2.9, JDK8
JUEL 2.2.7 | OmniFaces | EclipseLink-JPA/Derby | Chrome

Java EE 6 Tutorial|NetBeans|Google|Stackoverflow|PrimeFaces|Apache

kukeltje
Expert Member
Posts: 9605
Joined: 17 Jun 2010, 13:34
Location: Netherlands

08 Apr 2014, 12:55

First of all, clustering != failover. Most of the time, clustering is done to create loadbalancing, but with the use of 'sticky sessions', so each request from the same user ends up on the same server. Only when one server crashes, the client can be directed to a new server. Since WS connections have to end at the appserver, when it crashes, the client will need to setup a new connection.
smithh032772 wrote:can you use JMS to send messages to your (non-clustered, non-serializable) 'push' server, and your push server push messages to clients?
Sure, that would be an option, but it would complicate the physical system architecture.

mick_g
Posts: 5
Joined: 21 Mar 2014, 15:55

09 Apr 2014, 11:29

I'll try to be more precisely.
For Primeface Push we used Hazelcast as data grid for cluster and it works. Messages are propagated correctly.
Infinispan is data grid for jboss-eap as. Web sessions are distributed using this in jboss cluser.
Clustering != failover - OK. But failover cluster is something what we must support. We want to know how PushContext (with transient modificator) will behave after switching user between nodes.

kukeltje
Expert Member
Posts: 9605
Joined: 17 Jun 2010, 13:34
Location: Netherlands

10 Apr 2014, 13:30

mick_g wrote:We want to know how PushContext (with transient modificator) will behave after switching user between nodes.
If I had a cluster with failover running, I'd be more than happy to tell you, but I doubt many people have this. You are probably best equipped to just check the behaviour.

And there seems to be some kind of Broadcaster cache in Atmosphere, so maybe you can just create a new push context and still receive all 'missed' messages.

Post Reply

Return to “PrimeFaces”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 24 guests