設計したイベントタイプ定義の項目に沿って、イベントタイプ定義ファイルを作成します。
イベントタイプ定義ファイルの書式については「9.2.1 イベントタイプ定義ファイル」を参照してください。
例
イベントタイプ定義記述例(/tmp/EVENTTYPE_01.xml)
以下はXML形式のイベントに対するイベントタイプ定義の例です。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<eventType xmlns="urn:xmlns-fujitsu-com:cspf:bdcep:v1" id="EVENTTYPE_01">
<comment>イベントタイプ定義_01</comment>
<type>XML</type>
<xmlSchema>
<![CDATA[
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://dataaccesscontrol.sspf.fujitsu.com/namespace/xmlmessage"
targetNamespace="http://dataaccesscontrol.sspf.fujitsu.com/namespace/xmlmessage">
<xs:element name="messagedata">
<xs:complexType>
<xs:sequence>
<xs:element name="memberID" type="xs:string" />
<xs:element name="areaID" type="xs:string" />
<xs:element name="status" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
]]>
</xmlSchema>
<root>messagedata</root>
<useLogging>true</useLogging>
<loggingTableName>/echonet</loggingTableName>
<useCep>true</useCep>
</eventType>
設計したルール定義の項目に沿って、ルール定義ファイルを作成します。
ルール定義ファイルの書式については「9.2.2 ルール定義ファイル」を参照してください。
また、結合テストでの動作確認用に、複合イベント処理ルールにデバッグログリスナ(@DebugLogListener)を付与します。デバッグログリスナについては「5.7.1.2.1 デバッグログリスナ」を参照してください。
例
記述例
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<rule xmlns="urn:xmlns-fujitsu-com:cspf:bdcep:v1" id="RULE_01">
<comment>ルール定義_01</comment>
<filter>
<![CDATA[
on EVENTTYPE_01 {
if ($status == 'Walking') then output() as EVENTTYPE_01;
}
]]>
</filter>
<statements>
<![CDATA[
@SoapListener('LISTEN_01')
@DebugLogListener
select * from EVENTTYPE_01 where areaID = '1010';
]]>
</statements>
</rule>
本例では、以下のルールを記述しています。
イベントタイプEVENTTYPE_01の入力イベントからstatusの項目内容(文字列)がWalkingのイベントを抽出し、複合イベント処理に渡します。
イベントタイプEVENTTYPE_01のイベントデータをSOAPリスナに通知し、同時にデバッグ情報をエンジンログに出力します。
デバッグログリスナを使用して、複合イベント処理文の実行時に、デバッグ用のログをエンジンログに出力できます。
具体的には、対象の複合イベント処理文の前に、@DebugLogListenerアノテーションを付与します。
また、同時に@Nameアノテーションで対象の複合イベント処理文に名前をつけることで、エンジンログの出力情報を見分けやすくできます。
構文
@Name("名前")
@DebugLogListener
複合イベント処理文
デバッグログ出力時に同時に出力し、出力情報を見分けやすくします。
複数の複合イベント処理文に同じ名前を付けた場合、後ろにハイフン2つ(--)と数字を付けた形の名前が自動的に付けられます。
デバッグログ出力の対象としたい複合イベント処理文です。
注意
性能低下を招く可能性があるため、本番運用時は使用しないでください。
参考
@Nameアノテーションを指定しない場合
@Nameアノテーションが指定されていない場合は、“0b0562a2-56e7-4cf3-a520-cb1e16ef2992”など自動的に割り当てた一意の名称が、@Nameアノテーションの値の代わりに出力されます。
@Nameアノテーションを指定した場合の出力例(@Name('EPL')を指定)
2012-07-09 19:32:35,495 [DEBUG] EPL:length=1
EPL[0]
@Nameアノテーションを指定しない場合の出力例
2012-07-09 19:35:55,244 [DEBUG] 34b1785f-900c-4420-b2bf-ea53aa368b07:length=1
34b1785f-900c-4420-b2bf-ea53aa368b07[0]
設計したマスタ定義の項目に沿って、マスタ定義ファイルを作成します。
マスタ定義ファイルの書式については「9.2.3 マスタ定義ファイル」を参照してください。
例
記述例
スキーマ情報ファイルが /var/tmp/SchemaFile01.csv、データファイルが /var/tmp/MasterFile01.csvのマスタ定義(
開発資産ID:MASTER_01)の記述例です。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<master xmlns="urn:xmlns-fujitsu-com:cspf:bdcep:v1" id="MASTER_01">
<comment>マスタ定義_01</comment>
<schemaFile>/var/tmp/SchemaFile01.csv</schemaFile>
<dataFile>/var/tmp/MasterFile01.csv</dataFile>
<skipHeader>false</skipHeader>
</master>
設計したRDB参照定義の項目に沿って、RDB参照定義ファイルを作成します。
RDB参照定義ファイルの書式については「9.2.4 RDB参照定義ファイル」を参照してください。
例
Symfoware (Nativeインタフェース)を参照する場合の記述例
Symfoware(Openインタフェース)のRDBサーバ(ホスト名:RERDB001、ポート番号:20001)に、データベース名「dbms1」、ユーザー名「user01」で接続する例です。また、RDBサーバから参照した結果を1分間キャッシュし、2分ごとに保持期間の過ぎたキャッシュを破棄します。
その他のRDBを参照する場合の記述例は「9.2.4 RDB参照定義ファイル」を参照してください。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<database xmlns="urn:xmlns-fujitsu-com:cspf:bdcep:v1" id="RDBREF_01">
<comment>RDB参照定義_01</comment>
<jdbcClass>org.postgresql.Driver</jdbcClass>
<url>jdbc:postgresql://RERDB001:20001/mydb?loginTimeout=20</url>
<user>user01</user>
<password>pass123</password>
<maxAge>60</maxAge>
<purgeInterval>120</purgeInterval>
</database>
設計したSOAPリスナ定義の項目に沿って、SOAPリスナ定義ファイルを作成します。
SOAPリスナ定義ファイルの書式については「9.2.5 SOAPリスナ定義ファイル」を参照してください。
例
記述例
本例では、接続先URLが“http://192.168.11.249/WebServWAR/MyApp1Service”であるユーザー開発Webサービスにルート要素がcepであるSOAPボディを含むメッセージ(イベント)を通知することを定義します。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<soapListener xmlns="urn:xmlns-fujitsu-com:cspf:bdcep:v1" id="LISTEN_01">
<comment>SOAPリスナ定義_01</comment>
<url>http://192.168.11.249/WebServWAR/MyApp1Service</url>
<nameSpace>http://webservice/</nameSpace>
<prefix>ns</prefix>
<method>cep</method>
</soapListener>