Interface IBpmSignalService


public interface IBpmSignalService

A service for sending and querying signals.

Example: send a signal:

ivy.wf.signals().create().send("user:created");

Since:
6.1.0
API:
This is a public API.
  • Method Summary

    Modifier and Type
    Method
    Description
    SignalBuilder for sending signals with parameters
    Query information about sent signals.
    Query information about signal receivers, Signal Start- or Signal Boundary-Events.
    void
    send(SignalCode signalCode)
    Sends a signal with the given signal code
    void
    send(SignalCode signalCode, Object signalData)
    Deprecated.
    use create().data("{\"id\" : \"XIVY-295\"}").makeCurrentTaskPersistent().send("issue:created") instead.
    void
    send(String signalCode)
    Sends a signal with the given signal code
  • Method Details

    • create

      SignalBuilder for sending signals with parameters

      ivy.wf.signals().create().data("{"id" : "XIVY-295" }").send("issue:created");

      Since:
      10.0.24 / 12.0
      API:
      This public API is available in Java.
    • send

      void send(String signalCode)

      Sends a signal with the given signal code

      ivy.wf.signals().send("user:created");

      WARNING: This will make the current task persistent, to avoid this use instead: create()

      ivy.wf.signals().create().send("user:created");

      Parameters:
      signalCode - e.g. "user:created"
      See Also:
      API:
      This public API is available in Java.
    • send

      void send(SignalCode signalCode)

      Sends a signal with the given signal code

      ivy.wf.signals().send(SignalCode.of("user:created"));

      WARNING: Task get persistence with using this send method, use instead: create()

      ivy.wf.signals().create().send("user:created");

      Parameters:
      signalCode - e.g. SignalCode.of("user:created")
      See Also:
      API:
      This public API is available in Java.
    • send

      @Deprecated(since="12.0.0") void send(SignalCode signalCode, Object signalData)
      Deprecated.
      use create().data("{\"id\" : \"XIVY-295\"}").makeCurrentTaskPersistent().send("issue:created") instead.

      Sends a signal with the given signal code and signal data.

      WARNING: Task get persistence with using this send method, use instead: create()

      ivy.wf.signals().create().data("{\"id\" : \"XIVY-295\"}").send("user:created");

      It is not recommended to use data classes as signal data as not all receiving projects might have access to these data classes and therefore cannot access them. Better send an id which references an object in a database or send signal data that is encoded as String (e.g. JSON).

       import ch.ivyteam.ivy.process.model.value.SignalCode;
       ivy.wf.signals().send(SignalCode.of("issue:created"), "{\"id\" : \"XIVY-295\" }");
       

      Parameters:
      signalCode - e.g. SignalCode.of("issue:created")
      signalData - e.g. {"id" : "XIVY-295"}
      See Also:
      API:
      This public API is available in Java.
    • receivers

      IBpmSignalReceivers receivers()
      Query information about signal receivers, Signal Start- or Signal Boundary-Events.
      Returns:
      An interface that provides methods for querying signal receivers.
      API:
      This public API is available in Java.
    • history

      Query information about sent signals.
      Returns:
      An interface that provides methods for querying sent signals.
      API:
      This public API is available in Java.