配備したユーザー開発Webサービス、定義情報を配備したCEPエンジンを起動します。
CEPエンジンの起動と合わせて、構文エラーの確認も行います。
起動作業の手順は以下の通りです。
ユーザー開発Webサービスを配備したアプリケーションサーバが起動していなければ起動します。起動後、配備したユーザー開発Webサービスが、外部からのリクエストを受け付ける状態になっているか確認してください。
アプリケーションサーバの起動方法および、Webサービスの状態確認方法については、お使いのアプリケーションサーバのマニュアルを参照してください。
配備後、cepstartengコマンドを使い、CEPエンジンを起動します。定義情報を配備したCEPエンジンを起動してください。
cepstartengコマンドの詳細については、「8.9 cepstarteng」を参照してください。
例
cepstartengコマンドの実行例
$ cepstarteng -e CepEngine<ENTER>
Command cepstarteng executed successfully.
ルール定義中のフィルタールールに構文の誤りがある場合、CEPエンジンの起動に失敗します。このとき、高速フィルターのエンジンログに、エラーとなった原因が通知されます。通知内容を参考に、構文の誤りを修正してください。
修正したルール定義はCEPエンジンに再配備します。再配備については「6.1.4.3 配備済み定義情報の更新」を参照してください。再配備後、「5.7.3.2 CEPエンジンの起動」から再度操作してください。
ルール定義中の複合イベント処理文に構文の誤りがある場合、CEPエンジンの起動がcep20201eのエラーで失敗します。
この時、複合イベント処理のエンジンログにエラーとなった原因が、cep20201eのERRORINFOパラメーター中のエラーメッセージで通知されます。
以下にERRORINFOパラメーター中のエラーメッセージ例を示します。この内容を参考に、構文の誤りを修正してください。
Incorrect syntax near ○○○○○○○○ at line ▲ column ■
○○○○○○○○: 異常が発生した近辺にあるキーワード
▲: エラーが発生した複合イベント処理文の先頭からの行数
■: エラーが発生した複合イベント処理文の行の先頭からの文字数
修正したルール定義はCEPエンジンに再配備します。再配備については「6.1.4.3 配備済み定義情報の更新」を参照してください。再配備後、「5.7.3.2 CEPエンジンの起動」から再度操作してください。
注意
エラーメッセージの内容によっては、エラー発生箇所(行数や文字数)が表示されない場合もあります。
例
複合イベント処理文の構文エラーのログ出力例
対象となる複合イベント処理文
@Name('EPL3')
@DebugLogListener
select * from FilteredCouponEvent (storeID='STR0001') wherer cast(targetAge,int)>20;
ログ出力(見やすさのため、以下の例では途中で改行を入れています(1~5行目)。実際には一行で出力されます。)
2012-07-15 13:51:18,843 [ERROR] CSPF_CEP: ERROR: cep20201e: EPL module file access failure. EngineId=Ce
pEngine, FILE=/etc/opt/FJSVcep/resources/CepEngine/rules/SampleRule.epl, ERRORINFO=com.espertech.esper.
client.deploy.DeploymentActionException: Compilation failed in module url '/etc/opt/FJSVcep/resources/C
epEngine/rules/SampleRule.epl' in expression '@Name('EPL3')@DebugLogListenerselect * from Filt...(115 c
hars)' : Incorrect syntax near 'cast' (a reserved keyword) at line 3 column 61, please check the from c
lause [@Name('EPL3')
@DebugLogListener
select * from FilteredCouponEvent (storeID='STR0001') wherer cast(targetAge,int)>20]
[ログ出力の説明]
ERRORINFO=...
このERRORINFOパラメーター以降にエラー情報が出力されます。
Compilation failed...
エラーの大分類です。Compilation failed または、Deployment failedが出力されます。
SampleRule
エラーが発生したルール定義の開発資産IDです。
Incorrect syntax...
エラーメッセージです。エラーが発生した複合イベント処理文の先頭から3行目、61文字目の cast の近くに構文エラーがあることを示しています。
@Name('EPL3')...
エラーが発生した複合イベント処理文です。この例の場合、cast の前の wherer は、本来 where であり、“r”が1つ余計についているため構文エラーとなります。