芭蕾舞女演员叉/加盟示例

时间:2017-03-06 15:31:07

标签: ballerina

有人有一个fork / join的工作示例,因为我收到了  芭蕾舞女演员:发生意外错误 每次我尝试用它做点什么。

谢谢,

Juan Pablo

1 个答案:

答案 0 :(得分:3)

以下是一个有效的fork-join示例。请使用ballerina run main forkjoin.bal进行尝试。您可以使用您的文件名替换forkjoin.bal。

import ballerina.lang.system;
import ballerina.lang.messages;

function main(string[] args) {
   message m = {};
   testForkJoinAll(m);
}

function testForkJoinAll(message m)(message[]) {

    message[] results;
    json error;
    system:println("Airfare ");

    fork (m) {
        worker ABC_Airline (message m) {
            json payload;
            payload = `{"name":"abc"}`;
            messages:setJsonPayload(m, payload);
            reply m;
        }

        worker XYZ_Airline (message m) {
            json payload;
            payload = `{"name":"xyz"}`;
            messages:setJsonPayload(m, payload);
            reply m;
        }
    } join (all) (message[] airlineResponses) {
        system:println(messages:getStringPayload(airlineResponses[0]));
        system:println(messages:getStringPayload(airlineResponses[1]));
        return airlineResponses;
    } timeout (30000) (message[] airlineResponses) {
        system:println("error occurred");
        error = `{"error":{"code":"500", "reason":"timed out"}}`;
        message res = {};
        messages:setJsonPayload(res, error);
        results[0] = m;
        return results;
    }
}

以上是上述代码的来源。 https://github.com/ballerinalang/ballerina/blob/007127a62c20e69eb9707c19cd82fbec8056a04a/modules/ballerina-native/src/test/resources/samples/fork-join-in-function.bal#L6-L6

请为我们发布您的代码,看看有什么不对。