behaivor ClientConnectorは、私は2つのDBは、フォークを使用して選択/秒のワーカーでエラーに参加して、受信並列化するサービスのリソースを作成しました:workerdemodb2でバレリーナフォーク/ SQLに参加:
例外:バレリーナプログラムのエラーを:8
ハードコードされたjson変数を返すワーカーの代わりに、sql:ClientConnect.select ...すべてが正常に動作します。労働者の
例:異なる労働者とClientConnector:
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;
}
}
もう一つ... は、私はSQLを再利用することはできますか?私はグローバルなものを作成したので、変数が定義されていないというエラーが返されたので、各作業者ごとに新しい変数を作成する必要がありました。
たちはバレリーナの労働者の設計を改善しました
JP
これは変です。作業者の中にあるコードを関数に置き、その関数を呼び出すと、関数が機能します。 JP –