2017-03-06 4 views
2

Jemand hat ein funktionierendes Beispiel für Gabel/beitreten, weil ich erhalte Ballerina: unerwarteter Fehler jedes Mal wenn ich versuche aufgetreten etwas damit zu tun.Ballerina Gabel/join Beispiel

Danke,

Juan Pablo

Antwort

3

Es folgt eine Arbeitsprobe gabel verbinden. Bitte versuchen Sie es mit ballerina run main forkjoin.bal. Sie können den forkjoin.bal durch Ihren Dateinamen ersetzen.

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; 
    } 
} 

Hier ist die Quelle des obigen Codes. https://github.com/ballerinalang/ballerina/blob/007127a62c20e69eb9707c19cd82fbec8056a04a/modules/ballerina-native/src/test/resources/samples/fork-join-in-function.bal#L6-L6

Bitte posten Sie Ihren Code für uns, um zu sehen, was falsch ist.

+0

Es funktioniert. Danke Sameera. –

+0

Ich verstand, warum ich das Problem hatte. Ich Sie nicht den "Timeout" Teil, erhalten Sie Ballerina: unerwarteter Fehler aufgetreten. –

+0

Schön :) Kannst du bitte hier ein Problem erstellen https://github.com/ballerinalang/ballerina/issues? Wir werden die Fehlermeldung verbessern. –