2014-07-18 1 views
0

WSO2에서 MySql 용 이벤트 포맷터를 만들려고하는데 문제가 발생했습니다. 그것은 "복합 키 열"의 사용과 관련이있는 것으로 보입니다. 나는 점점 오전 오류 :WSO2 MySQL 어댑터 Sytax 오류

오류 - {MysqlEventAdaptorType}
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException : 당신은 당신의 SQL 구문에 오류가 있습니다; 줄에서 '창 ='15 '을'근처 사용할 수있는 권리 구문에 대한 MySQL 서버 버전에 해당하는 설명서를 확인 한

내가 포맷터에 두 개 이상의 키를 사용하여 경우에만 발생

:

<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에 대한 패치로 적용해야합니다. 패치로 적용하려면 patch0xyz라는 디렉토리를 작성하십시오 (xyz는 patch0135와 같은 숫자이며 xyz> 100으로 만듭니다)를 <CEP>/repository/components/patches에 작성한 후 그 안에 jar를 넣으십시오. 그런 다음 항아리의 이름을 org.wso2.carbon.event.output.adaptor.mysql_1.0.1.jar으로 변경해야합니다. 그런 다음 서버를 다시 시작하십시오.