A JMF Signal is used as a Message, which is equivalent to a combination of a JMF Query Message and a JMF Response Message. It is a unidirectional Message sent on any event to other Controllers. This kind of Message can be used to automatically broadcast status changes. JDF Controllers can get Signal Messages in one of three ways. The first way is to subscribe for them with an initiating Query Message transmitted via a Message channel that includes a Subscription Element.
The second way is to subscribe for them with an initiating Query Message defined in the NodeInfo Element of a JDF Node that also includes a Subscription Element. The first Query Message is transmitted separately via a mechanism such as HTTP, whereas the second is read together with the corresponding JDF Node. Once the subscription has been established, signals are sent to the subscribing Controllers via persistent channels. In both cases, however, the Signal Message contains a refID Attribute that refers to the persistentchannel. The value of the refID Attribute identifies the persistent channel that initiated the Signal.
The third way in which a Controller can receive a signal is to have the signal channels hardwired, for example, by a tool such as a list of Controller-URLs read from an initialization file. For example, signals MAY be generated independently when a service is started, or when sub-Controllers that are newly connected to a network want to inform other Controllers about their capabilities. Hardwired signals, however, MUST NOT have a refID Attribute. If no refID is specified, the corresponding query parameters MUST be specified instead.
(Source: JDF Spec. 1.4a)