All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.grinder.console.client.package.html Maven / Gradle / Ivy

There is a newer version: 3.11
Show newest version


  
Client API for The Grinder console.

The current implementation builds up the standard grinder communications package, which can run over streams including process input/output streams and a custom TCP/IP socket protocol layer. The communication package uses Java Serialization for marshalling. To implement the client API, the communications package was extended to support a "blocking send" over TCP/IP. (Previously, only "one-way", asynchronous messaging had been required).

I decided that the console API required synchronous interaction since this provides a more natural API. In the future, I may extend it to include an asynchronus event channel for pushing data back to "subscribing" clients.

Some notes about the alternatives I rejected:

  • Hessian not usable - requires a servlet engine.
  • Java RMI - possible.
    • Build process would need to invoke rmic.
    • Bootstrapping issues are painful. Wouldn't want to run separate registry process. Really don't want to have new ports to contact the console - configuration more complext, would prevent simple tunnelling. Extending the grinder comms layer to provide bootstrapping is at least as work than implementing synchronous messaging ourselves.




© 2015 - 2024 Weber Informatics LLC | Privacy Policy