Probe is your swiss army knife as an Ivy java developper. Use it to try your regular expressions, to check the installation of the system, to log the messages, etc. To use it, either run fr.dgac.ivy.Probe, or run the jar file directly with $ java -jar ivy.jar
The command line options ( available with the -h command line switch ) are the following:
-b allows you to specify the ivy bus. This overrides the -DIVY_BUS java property. The default value is 127.255.255.255:2010.
-n NAME allows you to specify the name of this probe agent on the bus. It defaults to JPROBE, but it might be difficult to differenciate which jprobe sent which message with a handful of agents with the same name
-q allows you to spawn a silent jprobe, with no terminal output
-s sends to self ( default off ), allows subscription to its own messages
-n NEWNAME changes JPROBE default Ivy name to another one, which can prove to be useful when running different probes
-t add timestamps to messages
-d allows you to use JPROBE on debug mode. It is the same as setting the VY_DEBUG property ( java -DIVY_DEBUG fr.dgac.ivy.Probe is the same as java fr.dgac.ivy.Probe -d )
-h dumps the command line options help.
.die CLIENTNAME issues an ivy die command, presumably forcing the first agent with this name to leave the bus
.bye (or .quit) forces the JPROBE application to exit. This is the same as issing an end of file character on a single input line ( ^D ).
.direct client id message sends the direct message to the remote client, using the numeric id
.bind REGEXP and .unbind REGEXP will change Probe's subscription
.list gives the list of clients seen on the ivy bus
As the launching and quitting of an ivy bus is a bit slow, it is not convenient to spawn an Ivy client each time we want to send a simple message. To do so, we can use the IvyDaemon, which is a TCP daemon sitting and waiting on the port 3456, and also connected on the default bus. Each time a remote application connects to this port, every line read until EOF will be forwarded on the bus. The standard port and bus domain can be overriden by command line switches ( use $ java fr.dgac.ivy.IvyDaemon -h ). First, spawn an ivy Damon: $ java fr.dgac.ivy.IvyDaemon then, within your shell scripts, use a short tcp connexion ( for instance netcat ): $ echo "hello world" | nc -q 0 localhost 3456 The "hello world" message will be sent on the default Ivy Bus to anyone having subscribe to a matching pattern