2017-03-08 27 views
1

我創建了一個服務的資源並行兩個DB將選擇用叉子/加入,並在第二個工人收到錯誤:芭蕾舞女演員叉/與SQL連接:ClientConnector behaivor

例外workerdemodb2:錯誤芭蕾舞演員程序:8

如果我替換其中一個返回硬編碼json變量的工作人員,而不是sql:ClientConnect.select ...一切正常。工人的

例子:

  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:ClientConnector不同的工人呢?因爲我創建了一個全局變量,但我收到了未定義變量的錯誤,所以我需要爲每個工人創建一個新變量。

謝謝

JP

+0

這很奇怪。如果我把工作者內部的代碼放在一個函數中,並調用該函數,它就可以工作。 J.P –

回答