[JBoss Remoting] - Re: Remote Client.addCallbackListener hang
by Ron Sigal
Ron Sigal [http://community.jboss.org/people/ron_sigal] created the discussion
"Re: Remote Client.addCallbackListener hang"
To view the discussion, visit: http://community.jboss.org/message/601555#601555
--------------------------------------------------------------
Hi David,
I think you're on the right track. BisocketClientInvoker.handleConnect() is waiting for a socket to use for the "control" connection. In fact, it should already be there in the sockets Set. When JBossMessaging sets up a connection, it calls org.jboss.remoting.Client.addListener(), which results in a call to BisocketClientInvoker.transport():
protected Object transport(String sessionId, Object invocation, Map metadata,
Marshaller marshaller, UnMarshaller unmarshaller)
throws IOException, ConnectionFailedException, ClassNotFoundException
{
String listenerId = null;
if (invocation instanceof InvocationRequest)
{
InvocationRequest ir = (InvocationRequest) invocation;
Object o = ir.getParameter();
if (o instanceof InternalInvocation)
{
InternalInvocation ii = (InternalInvocation) o;
if (InternalInvocation.ADDLISTENER.equals(ii.getMethodName())
&& ir.getLocator() != null) // getLocator() == null for pull callbacks
{
Map requestPayload = ir.getRequestPayload();
listenerId = (String) requestPayload.get(Client.LISTENER_ID_KEY);
listenerIdToClientInvokerMap.put(listenerId, this);
BisocketServerInvoker callbackServerInvoker;
callbackServerInvoker = BisocketServerInvoker.getBisocketServerInvoker(listenerId);
callbackServerInvoker.createControlConnection(listenerId, true);
}
// Rather than handle the REMOVELISTENER case symmetrically, it is
// handled when a REMOVECLIENTLISTENER message is received by
// BisocketServerInvoker.handleInternalInvocation(). The reason is that
// if the Client executes removeListener() with disconnectTimeout == 0,
// no REMOVELISTENER message will be sent.
}
}
return super.transport(sessionId, invocation, metadata, marshaller, unmarshaller);
}
In particular, the call to callbackServerInvoker.createControlConnection() creates the socket on the client side whose counterpart on the server side should land in the sockets Set. For some reason, that isn't happening. If you can nail that down, then you've got it.
Thank you for letting me know about this issue. Please let me know how your detective work goes, and let me know if you have any questions.
-Ron
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/601555#601555]
Start a new discussion in JBoss Remoting at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
13 years, 3 months
[jBPM] - Re: Eclipse BPMN 2.0 Plugin
by Chris Nash
Chris Nash [http://community.jboss.org/people/code_monkey] created the discussion
"Re: Eclipse BPMN 2.0 Plugin"
To view the discussion, visit: http://community.jboss.org/message/623218#623218
--------------------------------------------------------------
> Tobias Wittur wrote:
>
> When do you get exceptions? When you execute the process with the engine or during modelling?
>
I get the exceptions during modelling, when I try to add a node or event. It just reports the exception and doesn't place the node. I get different exceptions when I try to open old previous models (.bpmn files). It doesn't successfully open them.
Here's the first few lines of the exception I get:
!ENTRY org.eclipse.ui 4 0 2011-08-24 08:55:16.930
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.NoSuchMethodError: org.eclipse.graphiti.services.IGaService.createDefaultText(Lorg/eclipse/graphiti/mm/GraphicsAlgorithmContainer;Ljava/lang/String;)Lorg/eclipse/graphiti/mm/algorithms/Text;
at org.jboss.bpmn2.editor.core.features.event.AddEventFeature.add(AddEventFeature.java:78)
at org.eclipse.graphiti.internal.command.AddFeatureCommandWithContext.execute(AddFeatureCommandWithContext.java:76)
at org.eclipse.graphiti.internal.command.GFPreparableCommand.doExecute(GFPreparableCommand.java:37)
at org.eclipse.emf.transaction.RecordingCommand.execute(RecordingCommand.java:135)
at org.eclipse.graphiti.ui.internal.editor.GFWorkspaceCommandStackImpl.execute(GFWorkspaceCommandStackImpl.java:90)
at org.eclipse.graphiti.ui.internal.editor.GFWorkspaceCommandStackImpl.execute(GFWorkspaceCommandStackImpl.java:58)
I DO have graphiti installed, though it's a newer version than the one mentioned in the docs. The old one isn't available anymore, from what I can tell. Even so, the newer version should be backwards compatible with the old version, no?
Thanks for any pointers!
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/623218#623218]
Start a new discussion in jBPM at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
13 years, 3 months