Home » Eclipse Projects » Remote Application Platform (RAP) » Session Failover, JBoss 7 AS / EAP 6 and RAP 2.1
Session Failover, JBoss 7 AS / EAP 6 and RAP 2.1 [message #1117550] |
Thu, 26 September 2013 15:02 |
Milko Krastev Messages: 17 Registered: July 2013 |
Junior Member |
|
|
Has anyone ever managed to run successfully a RAP session failover on JBoss 7 AS?
Well, I destroyed my whole day trying to achieve that.
Using RWT standalone mode, specifying OperationMode.SESSION_FAILOVER, serializing *anything* in my project, the whole thing just failed to work. JBoss distributed cache Infinispan complained ServerPushSession is not serializable, then client scripting failed with not serializable exception. I excluded it from my project. Finally, JBoss first gave:
[Server:master] Caused by: org.infinispan.marshall.NotSerializableException: org.eclipse.rap.rwt.internal.lifecycle.SimpleLifeCycle$SimpleUIThreadHolder
and second complained with concurrent modification exception ... Otherwise, my setup works nicely with other projects not using RAP.
That happens with both the community and enterprise edition of JBoss.
[Updated on: Thu, 26 September 2013 15:20] Report message to a moderator
|
|
|
Re: Session Failover, JBoss 7 AS / EAP 6 and RAP 2.1 [message #1117643 is a reply to message #1117550] |
Thu, 26 September 2013 17:01 |
Ivan Furnadjiev Messages: 2426 Registered: July 2009 Location: Sofia, Bulgaria |
Senior Member |
|
|
Hi Milko,
please open a bugzilla about not serializable ServerPushSession. The
client scripting has been moved to RAP core in 2.2M1 and it's
serializable. Please attach to the bug the stack trace about concurrent
modification exception too.
Thanks,
Ivan
On 9/26/2013 6:02 PM, Milko Krastev wrote:
> Has anyone ever managed to run successfully a RAP session failover on
> JBoss 7 AS?
> Well, I destroyed my whole day trying to achieve that. :)
> Using RWT standalone mode, specifying OperationMode.SESSION_FAILOVER,
> serializing *anything* in my project, the whole thing just failed to
> work. JBoss distributed cache Infinispan complained ServerPushSession
> is not serializable, then client scripting failed with not
> serializable exception. I excluded it from my project. Finally, JBoss
> complained with concurrent modification exception ... Otherwise, my
> setup works nicely with other projects not using RAP.
> That happens with both the community and enterprise edition of JBoss.
--
Ivan Furnadjiev
Twitter: @EclipseRAP
Blog: http://eclipsesource.com/blogs/
Professional services for RAP and RCP?
http://eclipsesource.com/services/rap/
|
|
|
Re: Session Failover, JBoss 7 AS / EAP 6 and RAP 2.1 [message #1118457 is a reply to message #1117643] |
Fri, 27 September 2013 12:32 |
Milko Krastev Messages: 17 Registered: July 2013 |
Junior Member |
|
|
Hi Ivan,
Thank you for your quick reply. The ServerPushSession not being serializable is unfortunately just a bit in a long chain when it comes to providing working transparent session failover. I will post it in Bugzilla. RAP is my first choice when it comes to providing Web versions of my desktop applications. However, I believe transparent session failover needs much more work.
I set the following environment and project.
Test environment:
2 JBoss servers running in domain mode and a http server acting as a front dispatcher via mod_cluster. Environment's capability of handling session failover is tested with other EARs.
Simple RAP project as follows:
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<distributable/>
<context-param>
<param-name>org.eclipse.rap.applicationConfiguration</param-name>
<param-value>com.mtk.rap.clustering.demo.ui.ClusteringApplicationConfiguration</param-value>
</context-param>
<listener>
<listener-class>org.eclipse.rap.rwt.engine.RWTServletContextListener</listener-class>
</listener>
<servlet>
<servlet-name>rwtServlet</servlet-name>
<servlet-class>org.eclipse.rap.rwt.engine.RWTServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>rwtServlet</servlet-name>
<url-pattern>/start</url-pattern>
</servlet-mapping>
</web-app>
Configuring for session failover
package com.mtk.rap.clustering.demo.ui;
import java.io.Serializable;
import org.eclipse.rap.rwt.application.Application;
import org.eclipse.rap.rwt.application.ApplicationConfiguration;
import org.eclipse.rap.rwt.application.Application.OperationMode;
public class ClusteringApplicationConfiguration implements
ApplicationConfiguration, Serializable {
private static final long serialVersionUID = -6148987355645198287L;
@Override
public void configure(Application app) {
app.setOperationMode(OperationMode.SESSION_FAILOVER);
app.addEntryPoint("/start", ClusteringEntryPoint.class, null);
}
}
EntryPoint implementation
package com.mtk.rap.clustering.demo.ui;
import java.io.Serializable;
import org.eclipse.rap.rwt.application.EntryPoint;
import org.eclipse.rap.rwt.widgets.ClusteredSynchronizer;
import org.eclipse.swt.widgets.Display;
import org.jboss.logging.Logger;
public class ClusteringEntryPoint implements EntryPoint, Serializable {
private static Logger logger = Logger.getLogger("RAP Clustering Demo");
private static final long serialVersionUID = -4598717882781793105L;
@Override
public int createUI() {
logger.info("Hello User!");
final Display display = new Display();
display.setSynchronizer( new ClusteredSynchronizer( display ) );
ClusteringUIDemo demo = new ClusteringUIDemo(display);
demo.open();
return 0;
}
}
Elementering GUI containing a text control displaying the value of a counter which is incremented by pressing an "Increase counter" button.
package com.mtk.rap.clustering.demo.ui;
import java.io.Serializable;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.RowLayout;
public class ClusteringUIDemo extends Shell implements Serializable{
private static final long serialVersionUID = 1964714888205363149L;
private Text counterText;
private Integer counter = 0;
/**
* Create the shell.
* @param display
*/
public ClusteringUIDemo(Display display) {
super(display, SWT.SHELL_TRIM);
setLayout(new RowLayout(SWT.VERTICAL));
counterText = new Text(this, SWT.BORDER | SWT.READ_ONLY);
Button btnIncreateCounter = new Button(this, SWT.NONE);
btnIncreateCounter.addSelectionListener(new SelectionAdapter() {
private static final long serialVersionUID = -858695809264473948L;
@Override
public void widgetSelected(SelectionEvent e) {
counter++;
counterText.setText(counter.toString());
}
});
btnIncreateCounter.setText("Increate counter");
createContents();
}
/**
* Create contents of the shell.
*/
protected void createContents() {
setText("Cluster UI Demo - Session Failover");
setSize(500, 300);
}
@Override
protected void checkSubclass() {
// Disable the check that prevents subclassing of SWT components
}
}
When deployed and run in the JBoss cluster, session failover actually works! But JBoss outputs the following exception stack trace:
[Server:master] 15:01:04,574 ERROR [org.infinispan.transaction.TransactionCoordinator] (ajp-/172.168.1.51:8009-2) ISPN000097: Error while processing a prepare in a single-phase transaction: org.infinispan.CacheException: java.lang.RuntimeException: Failure to marshal argument(s)
[Server:master] at org.infinispan.util.Util.rewrapAsCacheException(Util.java:525)
[Server:master] at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.invokeRemoteCommand(CommandAwareRpcDispatcher.java:172)
[Server:master] at org.infinispan.remoting.transport.jgroups.JGroupsTransport.invokeRemotely(JGroupsTransport.java:489)
[Server:master] at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:161)
[Server:master] at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:183)
[Server:master] at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:240)
[Server:master] at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:227)
[Server:master] at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:222)
[Server:master] at org.infinispan.remoting.rpc.RpcManagerImpl.broadcastRpcCommand(RpcManagerImpl.java:201)
[Server:master] at org.infinispan.interceptors.ReplicationInterceptor.broadcastPrepare(ReplicationInterceptor.java:136)
[Server:master] at org.infinispan.interceptors.ReplicationInterceptor.visitPrepareCommand(ReplicationInterceptor.java:128)
[Server:master] at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:133)
[Server:master] at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
[Server:master] at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:130)
[Server:master] at org.infinispan.commands.AbstractVisitor.visitPrepareCommand(AbstractVisitor.java:126)
[Server:master] at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:133)
[Server:master] at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
[Server:master] at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:130)
[Server:master] at org.infinispan.commands.AbstractVisitor.visitPrepareCommand(AbstractVisitor.java:126)
[Server:master] at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:133)
[Server:master] at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
[Server:master] at org.infinispan.interceptors.EntryWrappingInterceptor.visitPrepareCommand(EntryWrappingInterceptor.java:93)
[Server:master] at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:133)
[Server:master] at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
[Server:master] at org.infinispan.interceptors.locking.AbstractTxLockingInterceptor.invokeNextAndCommitIf1Pc(AbstractTxLockingInterceptor.java:120)
[Server:master] at org.infinispan.interceptors.locking.OptimisticLockingInterceptor.visitPrepareCommand(OptimisticLockingInterceptor.java:132)
[Server:master] at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:133)
[Server:master] at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
[Server:master] at org.infinispan.interceptors.NotificationInterceptor.visitPrepareCommand(NotificationInterceptor.java:58)
[Server:master] at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:133)
[Server:master] at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
[Server:master] at org.infinispan.interceptors.TxInterceptor.visitPrepareCommand(TxInterceptor.java:106)
[Server:master] at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:133)
[Server:master] at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
[Server:master] at org.infinispan.interceptors.StateTransferLockInterceptor.handleWithRetries(StateTransferLockInterceptor.java:213)
[Server:master] at org.infinispan.interceptors.StateTransferLockInterceptor.visitPrepareCommand(StateTransferLockInterceptor.java:85)
[Server:master] at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:133)
[Server:master] at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
[Server:master] at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:130)
[Server:master] at org.infinispan.commands.AbstractVisitor.visitPrepareCommand(AbstractVisitor.java:126)
[Server:master] at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:133)
[Server:master] at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
[Server:master] at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:131)
[Server:master] at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:90)
[Server:master] at org.infinispan.commands.AbstractVisitor.visitPrepareCommand(AbstractVisitor.java:126)
[Server:master] at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:133)
[Server:master] at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
[Server:master] at org.infinispan.interceptors.BatchingInterceptor.handleDefault(BatchingInterceptor.java:86)
[Server:master] at org.infinispan.commands.AbstractVisitor.visitPrepareCommand(AbstractVisitor.java:126)
[Server:master] at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:133)
[Server:master] at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:345)
[Server:master] at org.infinispan.transaction.TransactionCoordinator.commit(TransactionCoordinator.java:174)
[Server:master] at org.infinispan.transaction.synchronization.SynchronizationAdapter.afterCompletion(SynchronizationAdapter.java:81)
[Server:master] at org.infinispan.transaction.tm.DummyTransaction.notifyAfterCompletion(DummyTransaction.java:279)
[Server:master] at org.infinispan.transaction.tm.DummyTransaction.runCommitTx(DummyTransaction.java:328)
[Server:master] at org.infinispan.transaction.tm.DummyTransaction.commit(DummyTransaction.java:91)
[Server:master] at org.infinispan.transaction.tm.DummyBaseTransactionManager.commit(DummyBaseTransactionManager.java:102)
[Server:master] at org.jboss.as.clustering.web.impl.TransactionBatchingManager.endBatch(TransactionBatchingManager.java:75)
[Server:master] at org.jboss.as.web.session.DistributableSessionManager.processSessionRepl(DistributableSessionManager.java:1515) [jboss-as-web-7.1.2.Final.jar:7.1.2.Final]
[Server:master] at org.jboss.as.web.session.DistributableSessionManager.storeSession(DistributableSessionManager.java:857) [jboss-as-web-7.1.2.Final.jar:7.1.2.Final]
[Server:master] at org.jboss.as.web.session.InstantSnapshotManager.snapshot(InstantSnapshotManager.java:47) [jboss-as-web-7.1.2.Final.jar:7.1.2.Final]
[Server:master] at org.jboss.as.web.session.ClusteredSessionValve.handleRequest(ClusteredSessionValve.java:133) [jboss-as-web-7.1.2.Final.jar:7.1.2.Final]
[Server:master] at org.jboss.as.web.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:91) [jboss-as-web-7.1.2.Final.jar:7.1.2.Final]
[Server:master] at org.jboss.as.web.session.JvmRouteValve.invoke(JvmRouteValve.java:88) [jboss-as-web-7.1.2.Final.jar:7.1.2.Final]
[Server:master] at org.jboss.as.web.session.LockingValve.invoke(LockingValve.java:56) [jboss-as-web-7.1.2.Final.jar:7.1.2.Final]
[Server:master] at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) [jboss-as-web-7.1.2.Final.jar:7.1.2.Final]
[Server:master] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.16.Final.jar:]
[Server:master] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.16.Final.jar:]
[Server:master] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.16.Final.jar:]
[Server:master] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.16.Final.jar:]
[Server:master] at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:505) [jbossweb-7.0.16.Final.jar:]
[Server:master] at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:452) [jbossweb-7.0.16.Final.jar:]
[Server:master] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:931) [jbossweb-7.0.16.Final.jar:]
[Server:master] at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_40]
[Server:master] Caused by: java.lang.RuntimeException: Failure to marshal argument(s)
[Server:master] at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.marshallCall(CommandAwareRpcDispatcher.java:252)
[Server:master] at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.processSingleCall(CommandAwareRpcDispatcher.java:269)
[Server:master] at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.invokeRemoteCommand(CommandAwareRpcDispatcher.java:165)
[Server:master] ... 72 more
[Server:master] Caused by: java.util.ConcurrentModificationException
[Server:master] at java.util.HashMap$HashIterator.nextEntry(HashMap.java:926) [rt.jar:1.7.0_40]
[Server:master] at java.util.HashMap$EntryIterator.next(HashMap.java:966) [rt.jar:1.7.0_40]
[Server:master] at java.util.HashMap$EntryIterator.next(HashMap.java:964) [rt.jar:1.7.0_40]
[Server:master] at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:678)
[Server:master] at org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1063)
[Server:master] at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:1019)
[Server:master] at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:885)
[Server:master] at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:680)
[Server:master] at org.jboss.marshalling.AbstractObjectOutput.writeObject(AbstractObjectOutput.java:62)
[Server:master] at org.jboss.marshalling.AbstractMarshaller.writeObject(AbstractMarshaller.java:119)
[Server:master] at org.jboss.as.clustering.SimpleMarshalledValue.getBytes(SimpleMarshalledValue.java:85)
[Server:master] at org.jboss.as.clustering.SimpleMarshalledValue.writeExternal(SimpleMarshalledValue.java:175)
[Server:master] at org.jboss.as.clustering.infinispan.io.ExternalizableExternalizer.writeObject(ExternalizableExternalizer.java:46)
[Server:master] at org.jboss.as.clustering.infinispan.io.ExternalizableExternalizer.writeObject(ExternalizableExternalizer.java:36)
[Server:master] at org.infinispan.marshall.jboss.ExternalizerTable$ForeignExternalizerAdapter.writeObject(ExternalizerTable.java:446)
[Server:master] at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:145)
[Server:master] at org.jboss.marshalling.AbstractObjectOutput.writeObject(AbstractObjectOutput.java:62)
[Server:master] at org.jboss.marshalling.AbstractMarshaller.writeObject(AbstractMarshaller.java:119)
[Server:master] at org.infinispan.atomic.PutOperation$Externalizer.writeObject(PutOperation.java:80)
[Server:master] at org.infinispan.atomic.PutOperation$Externalizer.writeObject(PutOperation.java:76)
[Server:master] at org.infinispan.marshall.jboss.ExternalizerTable$ExternalizerAdapter.writeObject(ExternalizerTable.java:397)
[Server:master] at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:145)
[Server:master] at org.jboss.marshalling.AbstractObjectOutput.writeObject(AbstractObjectOutput.java:62)
[Server:master] at org.jboss.marshalling.AbstractMarshaller.writeObject(AbstractMarshaller.java:119)
[Server:master] at org.infinispan.marshall.MarshallUtil.marshallCollection(MarshallUtil.java:48)
[Server:master] at org.infinispan.marshall.exts.LinkedListExternalizer.writeObject(LinkedListExternalizer.java:50)
[Server:master] at org.infinispan.marshall.exts.LinkedListExternalizer.writeObject(LinkedListExternalizer.java:45)
[Server:master] at org.infinispan.marshall.jboss.ExternalizerTable$ExternalizerAdapter.writeObject(ExternalizerTable.java:397)
[Server:master] at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:145)
[Server:master] at org.jboss.marshalling.AbstractObjectOutput.writeObject(AbstractObjectOutput.java:62)
[Server:master] at org.jboss.marshalling.AbstractMarshaller.writeObject(AbstractMarshaller.java:119)
[Server:master] at org.infinispan.atomic.AtomicHashMapDelta$Externalizer.writeObject(AtomicHashMapDelta.java:110)
[Server:master] at org.infinispan.atomic.AtomicHashMapDelta$Externalizer.writeObject(AtomicHashMapDelta.java:106)
[Server:master] at org.infinispan.marshall.jboss.ExternalizerTable$ExternalizerAdapter.writeObject(ExternalizerTable.java:397)
[Server:master] at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:145)
[Server:master] at org.jboss.marshalling.AbstractObjectOutput.writeObject(AbstractObjectOutput.java:62)
[Server:master] at org.jboss.marshalling.AbstractMarshaller.writeObject(AbstractMarshaller.java:119)
[Server:master] at org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeCommandParameters(ReplicableCommandExternalizer.java:83)
[Server:master] at org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeObject(ReplicableCommandExternalizer.java:70)
[Server:master] at org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeObject(ReplicableCommandExternalizer.java:58)
[Server:master] at org.infinispan.marshall.jboss.ExternalizerTable$ExternalizerAdapter.writeObject(ExternalizerTable.java:397)
[Server:master] at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:145)
[Server:master] at org.jboss.marshalling.AbstractObjectOutput.writeObject(AbstractObjectOutput.java:62)
[Server:master] at org.jboss.marshalling.AbstractMarshaller.writeObject(AbstractMarshaller.java:119)
[Server:master] at org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeCommandParameters(ReplicableCommandExternalizer.java:85)
[Server:master] at org.infinispan.marshall.exts.CacheRpcCommandExternalizer.marshallParameters(CacheRpcCommandExternalizer.java:125)
[Server:master] at org.infinispan.marshall.exts.CacheRpcCommandExternalizer.writeObject(CacheRpcCommandExternalizer.java:112)
[Server:master] at org.infinispan.marshall.exts.CacheRpcCommandExternalizer.writeObject(CacheRpcCommandExternalizer.java:67)
[Server:master] at org.infinispan.marshall.jboss.ExternalizerTable$ExternalizerAdapter.writeObject(ExternalizerTable.java:397)
[Server:master] at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:145)
[Server:master] at org.jboss.marshalling.AbstractObjectOutput.writeObject(AbstractObjectOutput.java:62)
[Server:master] at org.jboss.marshalling.AbstractMarshaller.writeObject(AbstractMarshaller.java:119)
[Server:master] at org.infinispan.marshall.jboss.AbstractJBossMarshaller.objectToObjectStream(AbstractJBossMarshaller.java:87)
[Server:master] at org.infinispan.marshall.VersionAwareMarshaller.objectToBuffer(VersionAwareMarshaller.java:90)
[Server:master] at org.infinispan.marshall.AbstractMarshaller.objectToBuffer(AbstractMarshaller.java:57)
[Server:master] at org.infinispan.marshall.AbstractDelegatingMarshaller.objectToBuffer(AbstractDelegatingMarshaller.java:90)
[Server:master] at org.infinispan.remoting.transport.jgroups.MarshallerAdapter.objectToBuffer(MarshallerAdapter.java:45)
[Server:master] at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.marshallCall(CommandAwareRpcDispatcher.java:250)
[Server:master] ... 74 more
[Server:master] Caused by: an exception which occurred:
[Server:master] in field attributes
[Server:master] in object java.util.HashMap@976de64b
[Server:master] in object org.jboss.as.clustering.SimpleMarshalledValue@976de64b
[Server:master] in object org.infinispan.atomic.PutOperation@1f28b17
[Server:master] in object java.util.LinkedList@2a6d0190
[Server:master] in object org.infinispan.atomic.AtomicHashMapDelta@f17a2a
[Server:master] in object org.infinispan.commands.write.PutKeyValueCommand@d0f9f8bd
[Server:master] in object org.infinispan.commands.tx.PrepareCommand@3ecf5fb7
[Server:master]
|
|
|
Re: Session Failover, JBoss 7 AS / EAP 6 and RAP 2.1 [message #1119257 is a reply to message #1118457] |
Sat, 28 September 2013 08:11 |
Ivan Furnadjiev Messages: 2426 Registered: July 2009 Location: Sofia, Bulgaria |
Senior Member |
|
|
Hi Milko,
thanks for the bug report. About the
"java.util.ConcurrentModificationException" - I don't see any RAP
classes involved. Probably you will get a better answer in JBoss forum.
Best,
Ivan
On 9/27/2013 3:32 PM, Milko Krastev wrote:
> Hi Ivan,
>
> Thank you for your quick reply. The ServerPushSession not being
> serializable is unfortunately just a bit in a long chain when it comes
> to providing working transparent session failover. I will post it in
> Bugzilla. RAP is my first choice when it comes to providing Web
> versions of my desktop applications. However, I believe transparent
> session failover needs much more work.
> I set the following environment and project.
> Test environment:
>
> 2 JBoss servers running in domain mode and a http server acting as a
> front dispatcher via mod_cluster. Environment's capability of handling
> session failover is tested with other EARs.
> Simple RAP project as follows:
>
> web.xml
> <?xml version="1.0" encoding="UTF-8"?>
> <web-app xmlns="http://java.sun.com/xml/ns/javaee"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
> http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
> version="3.0">
> <distributable/>
>
> <context-param>
> <param-name>org.eclipse.rap.applicationConfiguration</param-name>
> <param-value>com.mtk.rap.clustering.demo.ui.ClusteringApplicationConfiguration</param-value>
> </context-param>
>
> <listener>
> <listener-class>org.eclipse.rap.rwt.engine.RWTServletContextListener</listener-class>
> </listener>
>
> <servlet>
> <servlet-name>rwtServlet</servlet-name>
> <servlet-class>org.eclipse.rap.rwt.engine.RWTServlet</servlet-class>
> </servlet>
>
> <servlet-mapping>
> <servlet-name>rwtServlet</servlet-name>
> <url-pattern>/start</url-pattern>
> </servlet-mapping>
> </web-app>
>
>
> Configuring for session failover
> package com.mtk.rap.clustering.demo.ui;
>
> import java.io.Serializable;
>
> import org.eclipse.rap.rwt.application.Application;
> import org.eclipse.rap.rwt.application.ApplicationConfiguration;
> import org.eclipse.rap.rwt.application.Application.OperationMode;
>
>
> public class ClusteringApplicationConfiguration implements
> ApplicationConfiguration, Serializable {
>
>
> private static final long serialVersionUID = -6148987355645198287L;
>
> @Override
> public void configure(Application app) {
> app.setOperationMode(OperationMode.SESSION_FAILOVER);
> app.addEntryPoint("/start", ClusteringEntryPoint.class, null);
>
> }
>
> }
>
>
>
> EntryPoint implementation
>
> package com.mtk.rap.clustering.demo.ui;
>
> import java.io.Serializable;
>
> import org.eclipse.rap.rwt.application.EntryPoint;
> import org.eclipse.rap.rwt.widgets.ClusteredSynchronizer;
> import org.eclipse.swt.widgets.Display;
> import org.jboss.logging.Logger;
>
> public class ClusteringEntryPoint implements EntryPoint, Serializable {
>
> private static Logger logger = Logger.getLogger("RAP Clustering
> Demo");
> private static final long serialVersionUID = -4598717882781793105L;
>
> @Override
> public int createUI() {
> logger.info("Hello User!");
> final Display display = new Display();
> display.setSynchronizer( new ClusteredSynchronizer( display ) );
> ClusteringUIDemo demo = new ClusteringUIDemo(display);
> demo.open();
> return 0;
> }
>
> }
>
>
> Elementering GUI containing a text control displaying the value of a
> counter which is incremented by pressing an "Increase counter" button.
> package com.mtk.rap.clustering.demo.ui;
>
> import java.io.Serializable;
>
> import org.eclipse.swt.SWT;
> import org.eclipse.swt.widgets.Display;
> import org.eclipse.swt.widgets.Shell;
> import org.eclipse.swt.widgets.Text;
> import org.eclipse.swt.widgets.Button;
> import org.eclipse.swt.events.SelectionAdapter;
> import org.eclipse.swt.events.SelectionEvent;
> import org.eclipse.swt.layout.RowLayout;
>
> public class ClusteringUIDemo extends Shell implements Serializable{
>
> private static final long serialVersionUID = 1964714888205363149L;
> private Text counterText;
> private Integer counter = 0;
>
> /**
> * Create the shell.
> * @param display
> */
> public ClusteringUIDemo(Display display) {
> super(display, SWT.SHELL_TRIM);
> setLayout(new RowLayout(SWT.VERTICAL));
>
> counterText = new Text(this, SWT.BORDER | SWT.READ_ONLY);
>
> Button btnIncreateCounter = new Button(this, SWT.NONE);
> btnIncreateCounter.addSelectionListener(new SelectionAdapter() {
>
> private static final long serialVersionUID =
> -858695809264473948L;
>
> @Override
> public void widgetSelected(SelectionEvent e) {
> counter++;
> counterText.setText(counter.toString());
> }
> });
> btnIncreateCounter.setText("Increate counter");
> createContents();
> }
>
> /**
> * Create contents of the shell.
> */
> protected void createContents() {
> setText("Cluster UI Demo - Session Failover");
> setSize(500, 300);
>
> }
>
> @Override
> protected void checkSubclass() {
> // Disable the check that prevents subclassing of SWT components
> }
> }
>
>
> When deployed and run in the JBoss cluster, session failover actually
> works! But JBoss outputs the following exception stack trace:
>
> [Server:master] 15:01:04,574 ERROR
> [org.infinispan.transaction.TransactionCoordinator]
> (ajp-/172.168.1.51:8009-2) ISPN000097: Error while processing a
> prepare in a single-phase transaction: org.infinispan.CacheException:
> java.lang.RuntimeException: Failure to marshal argument(s)
> [Server:master] at
> org.infinispan.util.Util.rewrapAsCacheException(Util.java:525)
> [Server:master] at
> org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.invokeRemoteCommand(CommandAwareRpcDispatcher.java:172)
> [Server:master] at
> org.infinispan.remoting.transport.jgroups.JGroupsTransport.invokeRemotely(JGroupsTransport.java:489)
> [Server:master] at
> org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:161)
> [Server:master] at
> org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:183)
> [Server:master] at
> org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:240)
> [Server:master] at
> org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:227)
> [Server:master] at
> org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:222)
> [Server:master] at
> org.infinispan.remoting.rpc.RpcManagerImpl.broadcastRpcCommand(RpcManagerImpl.java:201)
> [Server:master] at
> org.infinispan.interceptors.ReplicationInterceptor.broadcastPrepare(ReplicationInterceptor.java:136)
> [Server:master] at
> org.infinispan.interceptors.ReplicationInterceptor.visitPrepareCommand(ReplicationInterceptor.java:128)
> [Server:master] at
> org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:133)
> [Server:master] at
> org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
> [Server:master] at
> org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:130)
> [Server:master] at
> org.infinispan.commands.AbstractVisitor.visitPrepareCommand(AbstractVisitor.java:126)
> [Server:master] at
> org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:133)
> [Server:master] at
> org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
> [Server:master] at
> org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:130)
> [Server:master] at
> org.infinispan.commands.AbstractVisitor.visitPrepareCommand(AbstractVisitor.java:126)
> [Server:master] at
> org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:133)
> [Server:master] at
> org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
> [Server:master] at
> org.infinispan.interceptors.EntryWrappingInterceptor.visitPrepareCommand(EntryWrappingInterceptor.java:93)
> [Server:master] at
> org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:133)
> [Server:master] at
> org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
> [Server:master] at
> org.infinispan.interceptors.locking.AbstractTxLockingInterceptor.invokeNextAndCommitIf1Pc(AbstractTxLockingInterceptor.java:120)
> [Server:master] at
> org.infinispan.interceptors.locking.OptimisticLockingInterceptor.visitPrepareCommand(OptimisticLockingInterceptor.java:132)
> [Server:master] at
> org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:133)
> [Server:master] at
> org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
> [Server:master] at
> org.infinispan.interceptors.NotificationInterceptor.visitPrepareCommand(NotificationInterceptor.java:58)
> [Server:master] at
> org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:133)
> [Server:master] at
> org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
> [Server:master] at
> org.infinispan.interceptors.TxInterceptor.visitPrepareCommand(TxInterceptor.java:106)
> [Server:master] at
> org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:133)
> [Server:master] at
> org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
> [Server:master] at
> org.infinispan.interceptors.StateTransferLockInterceptor.handleWithRetries(StateTransferLockInterceptor.java:213)
> [Server:master] at
> org.infinispan.interceptors.StateTransferLockInterceptor.visitPrepareCommand(StateTransferLockInterceptor.java:85)
> [Server:master] at
> org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:133)
> [Server:master] at
> org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
> [Server:master] at
> org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:130)
> [Server:master] at
> org.infinispan.commands.AbstractVisitor.visitPrepareCommand(AbstractVisitor.java:126)
> [Server:master] at
> org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:133)
> [Server:master] at
> org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
> [Server:master] at
> org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:131)
> [Server:master] at
> org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:90)
> [Server:master] at
> org.infinispan.commands.AbstractVisitor.visitPrepareCommand(AbstractVisitor.java:126)
> [Server:master] at
> org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:133)
> [Server:master] at
> org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
> [Server:master] at
> org.infinispan.interceptors.BatchingInterceptor.handleDefault(BatchingInterceptor.java:86)
> [Server:master] at
> org.infinispan.commands.AbstractVisitor.visitPrepareCommand(AbstractVisitor.java:126)
> [Server:master] at
> org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:133)
> [Server:master] at
> org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:345)
> [Server:master] at
> org.infinispan.transaction.TransactionCoordinator.commit(TransactionCoordinator.java:174)
> [Server:master] at
> org.infinispan.transaction.synchronization.SynchronizationAdapter.afterCompletion(SynchronizationAdapter.java:81)
> [Server:master] at
> org.infinispan.transaction.tm.DummyTransaction.notifyAfterCompletion(DummyTransaction.java:279)
> [Server:master] at
> org.infinispan.transaction.tm.DummyTransaction.runCommitTx(DummyTransaction.java:328)
> [Server:master] at
> org.infinispan.transaction.tm.DummyTransaction.commit(DummyTransaction.java:91)
> [Server:master] at
> org.infinispan.transaction.tm.DummyBaseTransactionManager.commit(DummyBaseTransactionManager.java:102)
> [Server:master] at
> org.jboss.as.clustering.web.impl.TransactionBatchingManager.endBatch(TransactionBatchingManager.java:75)
> [Server:master] at
> org.jboss.as.web.session.DistributableSessionManager.processSessionRepl(DistributableSessionManager.java:1515)
> [jboss-as-web-7.1.2.Final.jar:7.1.2.Final]
> [Server:master] at
> org.jboss.as.web.session.DistributableSessionManager.storeSession(DistributableSessionManager.java:857)
> [jboss-as-web-7.1.2.Final.jar:7.1.2.Final]
> [Server:master] at
> org.jboss.as.web.session.InstantSnapshotManager.snapshot(InstantSnapshotManager.java:47)
> [jboss-as-web-7.1.2.Final.jar:7.1.2.Final]
> [Server:master] at
> org.jboss.as.web.session.ClusteredSessionValve.handleRequest(ClusteredSessionValve.java:133)
> [jboss-as-web-7.1.2.Final.jar:7.1.2.Final]
> [Server:master] at
> org.jboss.as.web.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:91)
> [jboss-as-web-7.1.2.Final.jar:7.1.2.Final]
> [Server:master] at
> org.jboss.as.web.session.JvmRouteValve.invoke(JvmRouteValve.java:88)
> [jboss-as-web-7.1.2.Final.jar:7.1.2.Final]
> [Server:master] at
> org.jboss.as.web.session.LockingValve.invoke(LockingValve.java:56)
> [jboss-as-web-7.1.2.Final.jar:7.1.2.Final]
> [Server:master] at
> org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
> [jboss-as-web-7.1.2.Final.jar:7.1.2.Final]
> [Server:master] at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
> [jbossweb-7.0.16.Final.jar:]
> [Server:master] at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> [jbossweb-7.0.16.Final.jar:]
> [Server:master] at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> [jbossweb-7.0.16.Final.jar:]
> [Server:master] at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
> [jbossweb-7.0.16.Final.jar:]
> [Server:master] at
> org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:505)
> [jbossweb-7.0.16.Final.jar:]
> [Server:master] at
> org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:452)
> [jbossweb-7.0.16.Final.jar:]
> [Server:master] at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:931) [jbossweb-7.0.16.Final.jar:]
>
> [Server:master] at java.lang.Thread.run(Thread.java:724)
> [rt.jar:1.7.0_40]
> [Server:master] Caused by: java.lang.RuntimeException: Failure to
> marshal argument(s)
> [Server:master] at
> org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.marshallCall(CommandAwareRpcDispatcher.java:252)
> [Server:master] at
> org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.processSingleCall(CommandAwareRpcDispatcher.java:269)
> [Server:master] at
> org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.invokeRemoteCommand(CommandAwareRpcDispatcher.java:165)
> [Server:master] ... 72 more
> [Server:master] Caused by: java.util.ConcurrentModificationException
> [Server:master] at
> java.util.HashMap$HashIterator.nextEntry(HashMap.java:926)
> [rt.jar:1.7.0_40]
> [Server:master] at
> java.util.HashMap$EntryIterator.next(HashMap.java:966) [rt.jar:1.7.0_40]
> [Server:master] at
> java.util.HashMap$EntryIterator.next(HashMap.java:964) [rt.jar:1.7.0_40]
> [Server:master] at
> org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:678)
> [Server:master] at
> org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1063)
> [Server:master] at
> org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:1019)
> [Server:master] at
> org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:885)
> [Server:master] at
> org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:680)
> [Server:master] at
> org.jboss.marshalling.AbstractObjectOutput.writeObject(AbstractObjectOutput.java:62)
> [Server:master] at
> org.jboss.marshalling.AbstractMarshaller.writeObject(AbstractMarshaller.java:119)
> [Server:master] at
> org.jboss.as.clustering.SimpleMarshalledValue.getBytes(SimpleMarshalledValue.java:85)
> [Server:master] at
> org.jboss.as.clustering.SimpleMarshalledValue.writeExternal(SimpleMarshalledValue.java:175)
> [Server:master] at
> org.jboss.as.clustering.infinispan.io.ExternalizableExternalizer.writeObject(ExternalizableExternalizer.java:46)
> [Server:master] at
> org.jboss.as.clustering.infinispan.io.ExternalizableExternalizer.writeObject(ExternalizableExternalizer.java:36)
> [Server:master] at
> org.infinispan.marshall.jboss.ExternalizerTable$ForeignExternalizerAdapter.writeObject(ExternalizerTable.java:446)
> [Server:master] at
> org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:145)
> [Server:master] at
> org.jboss.marshalling.AbstractObjectOutput.writeObject(AbstractObjectOutput.java:62)
> [Server:master] at
> org.jboss.marshalling.AbstractMarshaller.writeObject(AbstractMarshaller.java:119)
> [Server:master] at
> org.infinispan.atomic.PutOperation$Externalizer.writeObject(PutOperation.java:80)
> [Server:master] at
> org.infinispan.atomic.PutOperation$Externalizer.writeObject(PutOperation.java:76)
> [Server:master] at
> org.infinispan.marshall.jboss.ExternalizerTable$ExternalizerAdapter.writeObject(ExternalizerTable.java:397)
> [Server:master] at
> org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:145)
> [Server:master] at
> org.jboss.marshalling.AbstractObjectOutput.writeObject(AbstractObjectOutput.java:62)
> [Server:master] at
> org.jboss.marshalling.AbstractMarshaller.writeObject(AbstractMarshaller.java:119)
> [Server:master] at
> org.infinispan.marshall.MarshallUtil.marshallCollection(MarshallUtil.java:48)
> [Server:master] at
> org.infinispan.marshall.exts.LinkedListExternalizer.writeObject(LinkedListExternalizer.java:50)
> [Server:master] at
> org.infinispan.marshall.exts.LinkedListExternalizer.writeObject(LinkedListExternalizer.java:45)
> [Server:master] at
> org.infinispan.marshall.jboss.ExternalizerTable$ExternalizerAdapter.writeObject(ExternalizerTable.java:397)
> [Server:master] at
> org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:145)
> [Server:master] at
> org.jboss.marshalling.AbstractObjectOutput.writeObject(AbstractObjectOutput.java:62)
> [Server:master] at
> org.jboss.marshalling.AbstractMarshaller.writeObject(AbstractMarshaller.java:119)
> [Server:master] at
> org.infinispan.atomic.AtomicHashMapDelta$Externalizer.writeObject(AtomicHashMapDelta.java:110)
> [Server:master] at
> org.infinispan.atomic.AtomicHashMapDelta$Externalizer.writeObject(AtomicHashMapDelta.java:106)
> [Server:master] at
> org.infinispan.marshall.jboss.ExternalizerTable$ExternalizerAdapter.writeObject(ExternalizerTable.java:397)
> [Server:master] at
> org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:145)
> [Server:master] at
> org.jboss.marshalling.AbstractObjectOutput.writeObject(AbstractObjectOutput.java:62)
> [Server:master] at
> org.jboss.marshalling.AbstractMarshaller.writeObject(AbstractMarshaller.java:119)
> [Server:master] at
> org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeCommandParameters(ReplicableCommandExternalizer.java:83)
> [Server:master] at
> org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeObject(ReplicableCommandExternalizer.java:70)
> [Server:master] at
> org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeObject(ReplicableCommandExternalizer.java:58)
> [Server:master] at
> org.infinispan.marshall.jboss.ExternalizerTable$ExternalizerAdapter.writeObject(ExternalizerTable.java:397)
> [Server:master] at
> org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:145)
> [Server:master] at
> org.jboss.marshalling.AbstractObjectOutput.writeObject(AbstractObjectOutput.java:62)
> [Server:master] at
> org.jboss.marshalling.AbstractMarshaller.writeObject(AbstractMarshaller.java:119)
> [Server:master] at
> org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeCommandParameters(ReplicableCommandExternalizer.java:85)
> [Server:master] at
> org.infinispan.marshall.exts.CacheRpcCommandExternalizer.marshallParameters(CacheRpcCommandExternalizer.java:125)
> [Server:master] at
> org.infinispan.marshall.exts.CacheRpcCommandExternalizer.writeObject(CacheRpcCommandExternalizer.java:112)
> [Server:master] at
> org.infinispan.marshall.exts.CacheRpcCommandExternalizer.writeObject(CacheRpcCommandExternalizer.java:67)
> [Server:master] at
> org.infinispan.marshall.jboss.ExternalizerTable$ExternalizerAdapter.writeObject(ExternalizerTable.java:397)
> [Server:master] at
> org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:145)
> [Server:master] at
> org.jboss.marshalling.AbstractObjectOutput.writeObject(AbstractObjectOutput.java:62)
> [Server:master] at
> org.jboss.marshalling.AbstractMarshaller.writeObject(AbstractMarshaller.java:119)
> [Server:master] at
> org.infinispan.marshall.jboss.AbstractJBossMarshaller.objectToObjectStream(AbstractJBossMarshaller.java:87)
> [Server:master] at
> org.infinispan.marshall.VersionAwareMarshaller.objectToBuffer(VersionAwareMarshaller.java:90)
> [Server:master] at
> org.infinispan.marshall.AbstractMarshaller.objectToBuffer(AbstractMarshaller.java:57)
> [Server:master] at
> org.infinispan.marshall.AbstractDelegatingMarshaller.objectToBuffer(AbstractDelegatingMarshaller.java:90)
> [Server:master] at
> org.infinispan.remoting.transport.jgroups.MarshallerAdapter.objectToBuffer(MarshallerAdapter.java:45)
> [Server:master] at
> org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.marshallCall(CommandAwareRpcDispatcher.java:250)
> [Server:master] ... 74 more
> [Server:master] Caused by: an exception which occurred:
> [Server:master] in field attributes
> [Server:master] in object java.util.HashMap@976de64b
> [Server:master] in object
> org.jboss.as.clustering.SimpleMarshalledValue@976de64b
> [Server:master] in object org.infinispan.atomic.PutOperation@1f28b17
> [Server:master] in object java.util.LinkedList@2a6d0190
> [Server:master] in object
> org.infinispan.atomic.AtomicHashMapDelta@f17a2a
> [Server:master] in object
> org.infinispan.commands.write.PutKeyValueCommand@d0f9f8bd
> [Server:master] in object
> org.infinispan.commands.tx.PrepareCommand@3ecf5fb7
> [Server:master]
>
--
Ivan Furnadjiev
Twitter: @EclipseRAP
Blog: http://eclipsesource.com/blogs/
Professional services for RAP and RCP?
http://eclipsesource.com/services/rap/
|
|
|
Goto Forum:
Current Time: Tue Jun 18 06:32:13 GMT 2024
Powered by FUDForum. Page generated in 0.04691 seconds
|