2017-03-01 13 views
0

EsperをコアCEPエンジンとして使用しているアプリケーションを実行しています。 以前にEsperランタイムに登録したイベントタイプを取得しようとすると、UnsupportedOperationExceptionが発生します。実行時にEsper構成オブジェクトからeventTypeを取得する方法

esperConfiguration.addEventType(streamName, fieldNames, fieldTypes); 

-------- 
//several lines later 
-------- 

String[] propertyNames = esperConfiguration.getEventType(streamName).getPropertyNames(); 

私は次の例外を取得:私は私のAPIコールが、私は初期化するために使用したのと同じオブジェクトを再利用していた場合でも、「実行時」ではない理由を理解することはできませんよ

java.lang.UnsupportedOperationException: Obtaining an event type by name is only available at runtime 
     at com.espertech.esper.client.Configuration.getEventType(Configuration.java:905) 

をエスペルエンジン。

答えて

1

EventTypeオブジェクトは、初期化されたエンジンで使用できます。したがって、たとえば:

esperConfiguration.addEventType(streamName, fieldNames, fieldTypes); 

EPServiceProvider epService = EPServiceProviderManager.getDefaultProvider(esperConfiguration); 

String[] propertyNames = epService.getEPAdministrator().getConfiguration().getEventType(streamName).getPropertyNames(); 
関連する問題