6. Advanced functions

6.1. fr.dgac.ivy.Probe utility

fr.dgac.ivy.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.

The command line options ( available with the --help switch ) are the following:

The run time commands are preceded by a single dot (.) at the beginning of the line. Issue ".help" at the prompt ( without the double quotes ) to have the list of availables comands. If the lines does not begin with a dot, jprobe tries to send the message to the other agents, if their subscriptions allows it. The dot commands are the following

6.2. fr.dgac.ivy.IvyDaemon utility

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. ( 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 message will be sent on the default Ivy Bus.

6.3. Direct messages

Direct messages is an ivy feature allowing the exchange of information between two ivy clients. It overrides the subscription mechanism, making the exchange faster ( there is no regexp matching, etc ). However, this features breaks the software bus metaphor, and should be replaced with the relevant bounded regexps, at the cost of a small CPU overhead. The full direct message mechanism in java has been made available since the ivy-java-1.2.3.