habe ich eine Ressource auf einem Dienst zwei parallelisieren DB wählt unter Verwendung Fork/Join und den Fehler an der zweiten Arbeitskraft erhalten:Ballerina Fork/Join mit sql: ClientConnector behaivor
Ausnahme in workerdemodb2: Fehler in ballerina Programm :
Wenn ich einen der Arbeiter ersetzen, die eine fest codierte json-Variable anstelle der sql: ClientConnect.select zurückgibt ... alles funktioniert gut.
Beispiel des Arbeiters:
worker emp (message m) {
string dbURL = "jdbc:oracle:thin:@localhost:49161/XE";
string username = "vatrox";
string password = "vatrox";
map propertiesMap = {"jdbcUrl":dbURL, "username":username, "password":password};
sql:ClientConnector empDBConnector = create sql:ClientConnector(propertiesMap);
sql:Parameter[] params = [];
try {
datatable dt = sql:ClientConnector.select(empDBConnector, "select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp", params);
json payload = datatables:toJson(dt);
message response = {};
messages:setJsonPayload(response, payload);
reply response;
}
catch (exception e) {
message response = {};
messages:setJsonPayload(response, responseException("select emp",e));
reply response;
}
}
Eine andere Sache ... Kann ich wieder verwenden eine SQL: ClientConnector mit verschiedenen Arbeitskräften? Da ich eine globale Variable erstellt habe, aber eine nicht definierte Variable erhalten habe, musste ich eine neue Variable für jeden Arbeiter erstellen.
Danke,
JP
Es ist seltsam. Wenn ich den Code innerhalb des Worker auf eine Funktion setze und die Funktion aufruft, funktioniert es. JP –