2014-07-18 90 views
0

我想在WSO2中爲MySql創建事件格式化程序,但遇到了問題。它似乎與使用「複合關鍵列」有關。我得到的錯誤是:WSO2 MySQL適配器Sytax錯誤

錯誤 - {} MysqlEventAdaptorType
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL語法錯誤;檢查對應於你的MySQL服務器版本使用附近的「窗口=‘15’」在行正確的語法手冊1

,如果我在格式化使用兩個或更多鍵這隻發生:

<eventFormatter name="GenericAccountSQLFormatter" statistics="enable" 
    trace="enable" xmlns="http://wso2.org/carbon/eventformatter"> 
    <from streamName="GenericAccountMeasureStream" version="1.0.0"/> 
    <mapping customMapping="disable" type="map"/> 
    <to eventAdaptorName="APCSQLOut" eventAdaptorType="mysql"> 
    <property name="table.name">AccountStats</property> 
    <property name="update.keys">AccountId,Window</property> 
    <property name="execution.mode">insert-or-update</property> 
    </to> 
</eventFormatter> 

刪除任何一個鍵(AccountId,Window)然後格式化程序會發送數據到MySQL。

任何人都可以幫忙嗎?

回答

1

這是一個錯誤,發生在使用複合鍵將現有事件發送到MySQL適配器時。創建一個jira來跟蹤這個和源補丁也可在那裏。

如果您不想創建/應用修補程序,那麼現在作爲快速解決方法 - 您可以通過連接兩個屬性並將其用作格式化程序中的鍵從CEP查詢中輸出組合鍵。

UPDATE

源補丁與修復和構建說明現在在jira here可用。一旦建成,您需要將其作爲補丁應用於CEP。要將其作爲補丁應用,請在<CEP>/repository/components/patches中創建一個名爲patch0xyz的目錄(xyz是patch0135中的數字,也使xyz> 100),然後將該jar放入其中。然後你需要將罐子重命名爲org.wso2.carbon.event.output.adaptor.mysql_1.0.1.jar。然後重新啓動服務器。