Service
Purpose¶
List and perform request/response exchanges with deployed Platform 6 services.
Methods¶
Binding name: p6.service
Common Message Maps
The Common Message is the single unit of exchange between Platform 6 service. The common message is represent by a Groovy Map when using the service DSL:
def cm = [ headers: [ hello: 'world', 'platform6.request.user': 'admin' ], attachments: [ [ headers: [ name: 'body', type: 'text/plain' ], bytes: 'This is the content of the attachment'.getBytes() ] ] ]
headers
Map and an attachments
List. The attachments List can contain a headers
Map and a bytes
content.
Both headers
and attachments
are optional.
Method: void post(String destination, Map cmMap)
Sends the provided common message to the named service destination endpoint. This method is fire and forget. I.e. It does not wait for a response.
Method: Map request(String destination, Map cmMap)
Sends the provided common message to the named service destination endpoint and waits indefinitely for a response which is returned as a Map.
Method: Map request(String destination, Map cmMap, long timeOut, TimeUnit tu)
Sends the provided common message to the named service destination endpoint and waiting for up to timeOut
time units for a response. Any response is returned as a Map.
Method: void request(String destination, Map cmMap, Closure cb)
Sends the provided common message to the named service destination endpoint and waits indefinitely for a response which is returned as a Map via the supplied asynchronous callback.
The Callback will receive one of two parameters in the following order (CommonMessageMap
, Exception
).
Method: List list()
Returns a List of all deployed Platform 6 services attached to the common message bus represented as destination names.
Method: String getServiceStatus( String serviceId )
Get the service’s status. The status can be: SERVICE_STATE_STARTED, SERVICE_STATE_STARTED_RESTART (if the configuration has changed) and SERVICE_STATE_STOPPED.
Method: void startService( String serviceId )
Start the serviceId
service.
Method: void stopService( String serviceId )
Stop the serviceId
service.
Method: void restartService( String serviceId )
Restart the serviceId
service.
Examples¶
def lst = p6.service.list() println lst
p6.service.post("platform6.echo", cm)
def cmResponse = p6.service.request("platform6.echo", cm) println cmResponse
import java.util.concurrent.TimeUnit def cmResponse = p6.service.request("platform6.scripts", cm, 5, TimeUnit.SECONDS) println cmResponse
p6.service.request("platform6.scripts", cm, { cmr, e -> println cmr if( null != e) throw e }) sleep 2000
For more information, please refer to the Common Message Bus API Guide.