Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
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 Go to next message
Milko Krastev is currently offline Milko KrastevFriend
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. Smile

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 Go to previous messageGo to next message
Ivan Furnadjiev is currently offline Ivan FurnadjievFriend
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 Go to previous messageGo to next message
Milko Krastev is currently offline Milko KrastevFriend
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 Go to previous message
Ivan Furnadjiev is currently offline Ivan FurnadjievFriend
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/
Previous Topic:RAP Disable Back Browser Button
Next Topic:RAP JavaScriptExecutor and returning values
Goto Forum:
  


Current Time: Tue Apr 16 04:14:39 GMT 2024

Powered by FUDForum. Page generated in 0.36943 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top