Runtime

Inclusion code:

Service Deployment

Port Name

Location

Protocol

Interfaces

Runtime documentation:

Runtime

-

-

RuntimeInterface

List of Available Interfaces

RuntimeInterface

Interface documentation:

Operation Name

Input Type

Output Type

Faults

getVersion

void

string

loadLibrary

string

void

IOException( IOExceptionType )

removeOutputPort

string

void

setRedirection

SetRedirectionRequest

void

RuntimeException( RuntimeExceptionType )

getOutputPorts

void

GetOutputPortsResponse

loadEmbeddedService

LoadEmbeddedServiceRequest

any

RuntimeException( RuntimeExceptionType )

getOutputPort

GetOutputPortRequest

GetOutputPortResponse

OutputPortDoesNotExist( undefined )

dumpState

void

string

getLocalLocation

void

any

getRedirection

GetRedirectionRequest

MaybeString

setOutputPort

SetOutputPortRequest

void

halt

HaltRequest

void

callExit

any

void

stats

void

Stats

removeRedirection

GetRedirectionRequest

void

RuntimeException( RuntimeExceptionType )

setMonitor

SetMonitorRequest

void

getProcessId

void

string

getIncludePaths

void

GetIncludePathResponse

getenv

string

MaybeString

Operation Description

getVersion

Operation documentation: Returns the version of the Jolie interpreter running this service.

Invocation template:

getVersion@Runtime( request )( response )

Request type

Type: void

void : void

Response type

Type: string

string : string

loadLibrary

Operation documentation: Dynamically loads an external (jar) library.

Invocation template:

loadLibrary@Runtime( request )( response )

Request type

Type: string

string : string

Response type

Type: void

void : void

Possible faults thrown

Fault IOException with type IOExceptionType

Fault-handling install template:

install ( IOException => /* error-handling code */ )
type IOExceptionType: JavaExceptionType

removeOutputPort

Operation documentation: Removes the output port with the requested name.

Invocation template:

removeOutputPort@Runtime( request )( response )

Request type

Type: string

string : string

Response type

Type: void

void : void

setRedirection

Operation documentation: Set a redirection at an input port. If the redirection with this name does not exist already, this operation creates it. Otherwise, the redirection is replaced with this one.

Invocation template:

setRedirection@Runtime( request )( response )

Request type

Type: SetRedirectionRequest

type SetRedirectionRequest: void {
.inputPortName: string
.outputPortName: string
.resourceName: string
}

SetRedirectionRequest : void

  • inputPortName : string : The target input port

  • outputPortName : string : The target output port

  • resourceName : string : The target resource name

Response type

Type: void

void : void

Possible faults thrown

Fault RuntimeException with type RuntimeExceptionType

Fault-handling install template:

install ( RuntimeException => /* error-handling code */ )
type RuntimeExceptionType: JavaExceptionType

getOutputPorts

Operation documentation: Returns all the output ports used by this service.

Invocation template:

getOutputPorts@Runtime( request )( response )

Request type

Type: void

void : void

Response type

Type: GetOutputPortsResponse

type GetOutputPortsResponse: void {
.port*: void {
.protocol: string
.name: string
.location: string
}
}

GetOutputPortsResponse : void

  • port : void : The output ports used by this interpreter

    • protocol : string : The protocol name of the output port

    • name : string : The name of the output port

    • location : string : The location of the output port

loadEmbeddedService

Operation documentation: Load an embedded service.

Invocation template:

loadEmbeddedService@Runtime( request )( response )

Request type

Type: LoadEmbeddedServiceRequest

type LoadEmbeddedServiceRequest: void {
.filepath: string
.type: string
}

LoadEmbeddedServiceRequest : void

  • filepath : string : The path to the service to load

  • type : string : The type of the service, e.g., Jolie, Java, or JavaScript

Response type

Type: any

any : any

Possible faults thrown

Fault RuntimeException with type RuntimeExceptionType

Fault-handling install template:

install ( RuntimeException => /* error-handling code */ )
type RuntimeExceptionType: JavaExceptionType

getOutputPort

Operation documentation: Returns the definition of output port definition. @throws OutputPortDoesNotExist if the requested output port does not exist.

Invocation template:

getOutputPort@Runtime( request )( response )

Request type

Type: GetOutputPortRequest

type GetOutputPortRequest: void {
.name: string
}

GetOutputPortRequest : void

  • name : string : The name of the output port

Response type

Type: GetOutputPortResponse

type GetOutputPortResponse: void {
.protocol: string
.name: string
.location: string
}

GetOutputPortResponse : void

  • protocol : string : The protocol name of the output port

  • name : string : The name of the output port

  • location : string : The location of the output port

Possible faults thrown

Fault OutputPortDoesNotExist with type undefined

Fault-handling install template:

install ( OutputPortDoesNotExist => /* error-handling code */ )

dumpState

Operation documentation: Returns a pretty-printed string representation of the local state of the invoking Jolie process and the global state of this service.

Invocation template:

dumpState@Runtime( request )( response )

Request type

Type: void

void : void

Response type

Type: string

string : string

getLocalLocation

Operation documentation: Get the local in-memory location of this service.

Invocation template:

getLocalLocation@Runtime( request )( response )

Request type

Type: void

void : void

Response type

Type: any

any : any

getRedirection

Operation documentation: Get the output port name that a redirection points to.

Invocation template:

getRedirection@Runtime( request )( response )

Request type

Type: GetRedirectionRequest

type GetRedirectionRequest: void {
.inputPortName: string
.resourceName: string
}

GetRedirectionRequest : void

  • inputPortName : string : The target input port

  • resourceName : string : The resource name of the redirection to get

Response type

Type: MaybeString

type MaybeString: void | string

MaybeString :

  • : void

  • : string

setOutputPort

Operation documentation: Set an output port. If an output port with this name does not exist already, this operation creates it. Otherwise, the output port is replaced with this one.

Invocation template:

setOutputPort@Runtime( request )( response )

Request type

Type: SetOutputPortRequest

type SetOutputPortRequest: void {
.protocol?: undefined
.name: string
.location: any
}

SetOutputPortRequest : void

  • protocol : string : The name of the protocol (e.g., sodep, http)

  • name : string : The name of the output port

  • location : any : The location of the output port

Response type

Type: void

void : void

halt

Operation documentation: Halts non-gracefully the execution of this service.

Invocation template:

halt@Runtime( request )( response )

Request type

Type: HaltRequest

type HaltRequest: void {
.status?: int
}

HaltRequest : void

  • status : int : The status code to return to the execution environment

Response type

Type: void

void : void

callExit

Operation documentation: Stops gracefully the execution of this service. Calling this operation is equivalent to invoking the exit statement.

Invocation template:

callExit@Runtime( request )( response )

Request type

Type: any

any : any

Response type

Type: void

void : void

stats

Operation documentation: Returns information on the runtime state of the VM.

Invocation template:

stats@Runtime( request )( response )

Request type

Type: void

void : void

Response type

Type: Stats

type Stats: void {
.os: void {
.availableProcessors: int
.systemLoadAverage: double
.name: string
.arch: string
.version: string
}
.files: void {
.openCount?: long
.maxCount?: long
}
}

Stats : void : Information on the interpreter execution so far

  • os : void : OS-related information

    • availableProcessors : int : Number of available processors

    • systemLoadAverage : double : System load average

    • name : string : Name of the OS

    • arch : string : Architecture

    • version : string : OS version

  • files : void : Information on file descriptors

    • openCount : long : Number of open files

    • maxCount : long : Maximum number of open files allowed for this VM

removeRedirection

Operation documentation: Remove a redirection at an input port

Invocation template:

removeRedirection@Runtime( request )( response )

Request type

Type: GetRedirectionRequest

type GetRedirectionRequest: void {
.inputPortName: string
.resourceName: string
}

GetRedirectionRequest : void

  • inputPortName : string : The target input port

  • resourceName : string : The resource name of the redirection to get

Response type

Type: void

void : void

Possible faults thrown

Fault RuntimeException with type RuntimeExceptionType

Fault-handling install template:

install ( RuntimeException => /* error-handling code */ )
type RuntimeExceptionType: JavaExceptionType

setMonitor

Operation documentation: Set the monitor for this service.

Invocation template:

setMonitor@Runtime( request )( response )

Request type

Type: SetMonitorRequest

type SetMonitorRequest: void {
.protocol?: undefined
.location: any
}

SetMonitorRequest : void

  • protocol : string : The protocol configuration for the monitor

  • location : any : The location of the monitor

Response type

Type: void

void : void

getProcessId

Operation documentation: Returns the internal identifier of the executing Jolie process.

Invocation template:

getProcessId@Runtime( request )( response )

Request type

Type: void

void : void

Response type

Type: string

string : string

getIncludePaths

Operation documentation: Get the include paths used by this interpreter

Invocation template:

getIncludePaths@Runtime( request )( response )

Request type

Type: void

void : void

Response type

Type: GetIncludePathResponse

type GetIncludePathResponse: void {
.path*: string
}

GetIncludePathResponse : void

  • path : string : The include paths of the interpreter

getenv

Operation documentation: Returns the value of an environment variable.

Invocation template:

getenv@Runtime( request )( response )

Request type

Type: string

string : string

Response type

Type: MaybeString

type MaybeString: void | string

MaybeString :

  • : void

  • : string

Subtypes

JavaExceptionType

type JavaExceptionType: string { .stackTrace: string }