The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

JBoss Remoting problems

Has anybody here used JBoss remoting?  It seems like a nice framework, but it seems to have some simple but unforgivable flaws.

When a client connects to the server, you have to register a listener that pings the server regularly to detect if the connection is still valid.  I would think pinging a server regularly could put unnecessary load on it if you have a lot of clients or if the server is busy. I don't see why this would be necessary anyway since Java sockets are able to throw an exception if an IO problem occurs such as the connection gets dropped.  But this is minor.

In order to connect a client to a server, you have to call Client.connect().  After calling Client.connect(), isConnected() returns true even if the server is not running!  The only way you can know if the connection actually succeeded is to call one of the Client.invoke methods, so something seems to be wrong or explained improperly but I cannot find anything the JBoss forums or documentation.

Also, as far as I can tell, if a client registers a listener on the server for callbacks and the client goes down, there is no way to automatically remove the listener from the server so you have a potential memory leak.  The JBoss Remoting callback API seems unnecessarily complicated.
bossed around
Thursday, January 25, 2007
Synchronizing two computers (such as an RMI client and
server?) on a network is an impossible problem in the
"general case" (ie when you don't make any assumptions
about the network/hardware). You might find research
papers where this has been proved if you search for
authors Fisher Lynch & Patterson. Are you sure JBoss
isn't forced to be awkward in order to try and deal
with this problem? Because your description makes it
sound like JBoss is trying to do just that.
Tired (of MBA "solutions" crap)
Friday, January 26, 2007
Thanks for the response. I decided to try Apache MINA.  Even though it is not documented nearly as well as JBoss Remoting, I am finding it much easier to understand and work with.
bossed around
Friday, January 26, 2007

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz