Skip to content

Instantly share code, notes, and snippets.

@alejolp
Last active August 29, 2015 13:57
Show Gist options
  • Save alejolp/9806821 to your computer and use it in GitHub Desktop.
Save alejolp/9806821 to your computer and use it in GitHub Desktop.
package test2;
import java.util.Random;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.espertech.esper.client.Configuration;
import com.espertech.esper.client.EPAdministrator;
import com.espertech.esper.client.EPRuntime;
import com.espertech.esper.client.EPServiceProvider;
import com.espertech.esper.client.EPServiceProviderManager;
import com.espertech.esper.client.EPStatement;
import com.espertech.esper.client.EventBean;
import com.espertech.esper.client.UpdateListener;
import com.espertech.esper.client.time.CurrentTimeEvent;
import com.espertech.esper.client.time.TimerControlEvent;
public class ExternalTimerTest {
private static final Log log = LogFactory.getLog(ExternalTimerTest.class);
public static class MyEvent {
private int x;
public MyEvent() {
// TODO Auto-generated constructor stub
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
}
public static long thisTime = 0;
public static void main(String[] args) {
Configuration esperConfig = new Configuration();
EPServiceProvider esper;
EPAdministrator epAdministrator;
EPRuntime epRuntime;
log.error("QQQ error"); // To see if logging works.
log.warn("QQQ warn"); // To see if logging works.
log.info("QQQ info"); // To see if logging works.
log.trace("QQQ trace"); // To see if logging works.
log.fatal("QQQ fatal"); // To see if logging works.
esperConfig.getEngineDefaults().getThreading().setInternalTimerEnabled(false);
esper = EPServiceProviderManager.getProvider("QQQ",esperConfig);
epAdministrator = esper.getEPAdministrator();
epRuntime = esper.getEPRuntime();
epAdministrator.getConfiguration().addEventType(MyEvent.class);
epRuntime.sendEvent(new TimerControlEvent(TimerControlEvent.ClockType.CLOCK_EXTERNAL));
EPStatement stmt = epAdministrator.createEPL("select 1 from pattern [every timer:interval(1 sec)]");
stmt.addListener(new UpdateListener() {
@Override
public void update(EventBean[] arg0, EventBean[] arg1) {
if (arg0 != null) {
log.info("update! time: " + (thisTime) + " event: " + (arg0.length > 0 ? arg0[0] : "null"));
}
}
});
epRuntime.sendEvent(new CurrentTimeEvent(0));
epRuntime.sendEvent(new CurrentTimeEvent(10));
epRuntime.sendEvent(new CurrentTimeEvent(9));
Random r = new Random();
while (true) {
thisTime = Math.abs(r.nextLong());
epRuntime.sendEvent(new CurrentTimeEvent(thisTime)); // NO WARN HERE!
}
}
}
31 Mar 2014 14:38:51,909 ERROR [ExternalTimerTest] QQQ error
31 Mar 2014 14:38:51,910 WARN [ExternalTimerTest] QQQ warn
31 Mar 2014 14:38:51,910 INFO [ExternalTimerTest] QQQ info
31 Mar 2014 14:38:51,910 FATAL [ExternalTimerTest] QQQ fatal
31 Mar 2014 14:38:52,016 DEBUG [ObjectInputStreamWithTCCL] Resolving class com.espertech.esper.client.Configuration id -220881974438617882 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,017 DEBUG [ObjectInputStreamWithTCCL] Resolving class java.util.HashMap id 362498820763181265 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,019 DEBUG [ObjectInputStreamWithTCCL] Resolving class com.espertech.esper.client.ConfigurationEngineDefaults id -528835191586154300 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,023 DEBUG [ObjectInputStreamWithTCCL] Resolving class com.espertech.esper.client.ConfigurationEngineDefaults$AlternativeContext id 4488861684585251042 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,024 DEBUG [ObjectInputStreamWithTCCL] Resolving class com.espertech.esper.client.ConfigurationEngineDefaults$Cluster id 6289817340046435823 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,025 DEBUG [ObjectInputStreamWithTCCL] Resolving class com.espertech.esper.client.ConfigurationEngineDefaults$ConditionHandling id -708367341332718634 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,026 DEBUG [ObjectInputStreamWithTCCL] Resolving class com.espertech.esper.client.ConfigurationEngineDefaults$EventMeta id -6091772368103140370 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,026 DEBUG [ObjectInputStreamWithTCCL] Resolving class com.espertech.esper.client.Configuration$PropertyResolutionStyle id 0 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,033 DEBUG [ObjectInputStreamWithTCCL] Resolving class java.lang.Enum id 0 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,034 DEBUG [ObjectInputStreamWithTCCL] Resolving class com.espertech.esper.client.ConfigurationEventTypeLegacy$AccessorStyle id 0 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,034 DEBUG [ObjectInputStreamWithTCCL] Resolving class com.espertech.esper.client.Configuration$EventRepresentation id 0 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,035 DEBUG [ObjectInputStreamWithTCCL] Resolving class com.espertech.esper.client.ConfigurationEngineDefaults$ExceptionHandling id -708367341332718634 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,035 DEBUG [ObjectInputStreamWithTCCL] Resolving class com.espertech.esper.client.ConfigurationEngineDefaults$Execution id 0 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,036 DEBUG [ObjectInputStreamWithTCCL] Resolving class com.espertech.esper.client.ConfigurationEngineDefaults$ThreadingProfile id 0 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,036 DEBUG [ObjectInputStreamWithTCCL] Resolving class com.espertech.esper.client.ConfigurationEngineDefaults$Expression id 3192205923560011213 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,036 DEBUG [ObjectInputStreamWithTCCL] Resolving class com.espertech.esper.client.ConfigurationEngineDefaults$Language id -6237674558477894392 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,037 DEBUG [ObjectInputStreamWithTCCL] Resolving class com.espertech.esper.client.ConfigurationEngineDefaults$Logging id -8129836306582810327 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,038 DEBUG [ObjectInputStreamWithTCCL] Resolving class com.espertech.esper.client.ConfigurationMetricsReporting id -7265780298667075895 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,038 DEBUG [ObjectInputStreamWithTCCL] Resolving class java.util.LinkedHashMap id 3801124242820219131 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,039 DEBUG [ObjectInputStreamWithTCCL] Resolving class com.espertech.esper.client.ConfigurationEngineDefaults$Patterns id -7596853289989573800 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,039 DEBUG [ObjectInputStreamWithTCCL] Resolving class com.espertech.esper.client.ConfigurationEngineDefaults$Scripts id -3111856398932434323 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,039 DEBUG [ObjectInputStreamWithTCCL] Resolving class com.espertech.esper.client.ConfigurationEngineDefaults$StreamSelection id -7943748323859161674 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,040 DEBUG [ObjectInputStreamWithTCCL] Resolving class com.espertech.esper.client.soda.StreamSelector id 0 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,040 DEBUG [ObjectInputStreamWithTCCL] Resolving class com.espertech.esper.client.ConfigurationEngineDefaults$Threading id 6504606101119059962 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,041 DEBUG [ObjectInputStreamWithTCCL] Resolving class com.espertech.esper.client.ConfigurationEngineDefaults$Threading$Locking id 0 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,041 DEBUG [ObjectInputStreamWithTCCL] Resolving class com.espertech.esper.client.ConfigurationEngineDefaults$TimeSource id 2075039404763313824 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,041 DEBUG [ObjectInputStreamWithTCCL] Resolving class com.espertech.esper.client.ConfigurationEngineDefaults$TimeSourceType id 0 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,042 DEBUG [ObjectInputStreamWithTCCL] Resolving class com.espertech.esper.client.ConfigurationEngineDefaults$Variables id 8276015152830052323 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,042 DEBUG [ObjectInputStreamWithTCCL] Resolving class com.espertech.esper.client.ConfigurationEngineDefaults$ViewResources id 2527853225433208362 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,042 DEBUG [ObjectInputStreamWithTCCL] Resolving class java.util.LinkedHashSet id -2851667679971038690 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,043 DEBUG [ObjectInputStreamWithTCCL] Resolving class java.util.HashSet id -5024744406713321676 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,043 DEBUG [ObjectInputStreamWithTCCL] Resolving class java.util.ArrayList id 8683452581122892189 classloader class sun.misc.Launcher$AppClassLoader
31 Mar 2014 14:38:52,045 INFO [EPServiceProviderImpl] Initializing engine URI 'QQQ' version 4.11.0
31 Mar 2014 14:38:52,047 DEBUG [MetricReportingPath] Metrics reporting has been disabled, this setting takes affect for all engine instances at engine initialization time.
31 Mar 2014 14:38:52,120 DEBUG [EngineImportServiceImpl] Adding import java.lang.*
31 Mar 2014 14:38:52,120 DEBUG [EngineImportServiceImpl] Adding import java.math.*
31 Mar 2014 14:38:52,121 DEBUG [EngineImportServiceImpl] Adding import java.text.*
31 Mar 2014 14:38:52,121 DEBUG [EngineImportServiceImpl] Adding import java.util.*
31 Mar 2014 14:38:52,121 DEBUG [EngineImportServiceImpl] Adding import com.espertech.esper.client.annotation.*
31 Mar 2014 14:38:52,122 DEBUG [EngineImportServiceImpl] Adding import com.espertech.esper.dataflow.ops.*
31 Mar 2014 14:38:52,501 DEBUG [EventAdapterServiceImpl] .addBeanType Adding MyEvent for type test2.ExternalTimerTest$MyEvent
31 Mar 2014 14:38:52,706 WARN [TimerServiceImpl] .stopInternalClock Internal clock is already stopped, start first before stopping, operation not completed
31 Mar 2014 14:38:52,718 DEBUG [EPAdministratorHelper] .createEPLStmt statementName=null eplStatement=select 1 from pattern [every timer:interval(1 sec)]
31 Mar 2014 14:38:52,744 DEBUG [ParseHelper] .parse Parsing expr=select 1 from pattern [every timer:interval(1 sec)]
31 Mar 2014 14:38:53,537 DEBUG [ParseHelper] .parse Dumping AST...
31 Mar 2014 14:38:53,649 DEBUG [ParseHelper] .walk Walking AST using walker com.espertech.esper.epl.parse.EPLTreeWalker
31 Mar 2014 14:38:53,650 DEBUG [EPLTreeWalker] .leaveNode 1
31 Mar 2014 14:38:53,650 DEBUG [EPLTreeWalker] .leaveConstant value '1'
31 Mar 2014 14:38:53,670 DEBUG [EPLTreeWalker] .leaveNode SELECTION_ELEMENT_EXPR
31 Mar 2014 14:38:53,670 DEBUG [EPLTreeWalker] .leaveSelectionElement
31 Mar 2014 14:38:53,671 DEBUG [EPLTreeWalker] .leaveNode SELECTION_EXPR
31 Mar 2014 14:38:53,672 DEBUG [EPLTreeWalker] .leaveSelectClause
31 Mar 2014 14:38:53,672 DEBUG [EPLTreeWalker] .leaveNode 1
31 Mar 2014 14:38:53,673 DEBUG [EPLTreeWalker] .leaveConstant value '1'
31 Mar 2014 14:38:53,673 DEBUG [EPLTreeWalker] .leaveNode TIME_PERIOD
31 Mar 2014 14:38:53,673 DEBUG [EPLTreeWalker] .leaveTimePeriod
31 Mar 2014 14:38:53,681 DEBUG [EPLTreeWalker] .leaveNode OBSERVER_EXPR
31 Mar 2014 14:38:53,681 DEBUG [EPLTreeWalker] .leaveObserver
31 Mar 2014 14:38:53,687 DEBUG [EPLTreeWalker] .leaveNode every
31 Mar 2014 14:38:53,687 DEBUG [EPLTreeWalker] .leaveEvery
31 Mar 2014 14:38:53,688 DEBUG [EPLTreeWalker] .leaveNode PATTERN_INCL_EXPR
31 Mar 2014 14:38:53,689 DEBUG [EPLTreeWalker] .leaveNode STREAM_EXPR
31 Mar 2014 14:38:53,689 DEBUG [EPLTreeWalker] .leaveStreamExpr
31 Mar 2014 14:38:53,702 DEBUG [EPLTreeWalker] .end
31 Mar 2014 14:38:53,702 DEBUG [ParseHelper] .walk AST tree after walking
31 Mar 2014 14:38:53,797 DEBUG [StatementResultServiceImpl] .ctor
31 Mar 2014 14:38:53,807 DEBUG [PatternObjectResolutionServiceImpl] .create Creating factory, spec=objectName=interval objectParameters=( 1 seconds )
31 Mar 2014 14:38:53,808 DEBUG [PatternObjectResolutionServiceImpl] .create Successfully instantiated observer
31 Mar 2014 14:38:53,861 DEBUG [StatementLifecycleSvcImpl] .start Starting statement 5834d3a3-d8b5-4d11-9d19-6102a9ea0080 from desc=com.espertech.esper.core.service.StatementLifecycleSvcImpl$EPStatementDesc@1fd13f6
31 Mar 2014 14:38:53,862 DEBUG [StatementLifecycleSvcImpl] .startInternal Starting statement 5834d3a3-d8b5-4d11-9d19-6102a9ea0080 from desc=com.espertech.esper.core.service.StatementLifecycleSvcImpl$EPStatementDesc@1fd13f6
31 Mar 2014 14:38:53,908 DEBUG [ViewServiceHelper] .addMergeViews Incoming specifications=[]
31 Mar 2014 14:38:53,909 DEBUG [ViewServiceHelper] .addMergeViews Outgoing specifications=[]
31 Mar 2014 14:38:53,921 DEBUG [ResultSetProcessorFactoryFactory] .getProcessor Getting processor for selectionList=[com.espertech.esper.epl.spec.SelectClauseExprCompiledSpec@1ccb4e6] groupByNodes=[] optionalHavingNode=null
31 Mar 2014 14:38:53,929 DEBUG [OrderByProcessorFactoryFactory] .getProcessor Using no OrderByProcessor
31 Mar 2014 14:38:53,951 DEBUG [ResultSetProcessorFactoryFactory] .getProcessor Using no result processor
31 Mar 2014 14:38:54,017 DEBUG [ViewServiceImpl] .createView No new views created, dumping stream ... com.espertech.esper.view.ZeroDepthStream@72f9c0
31 Mar 2014 14:38:54,064 DEBUG [EPAdministratorImpl] .createEPLStmt Statement created and started
31 Mar 2014 14:38:54,065 DEBUG [StatementLifecycleSvcImpl] .updatedListeners No action for base implementation
31 Mar 2014 14:38:54,085 INFO [ExternalTimerTest] update! time: 1706854549419716688 event: MapEventBean eventType=com.espertech.esper.event.map.MapEventType@4bfba
31 Mar 2014 14:38:54,086 INFO [ExternalTimerTest] update! time: 2943385201302805120 event: MapEventBean eventType=com.espertech.esper.event.map.MapEventType@4bfba
31 Mar 2014 14:38:54,086 INFO [ExternalTimerTest] update! time: 5206699639149336411 event: MapEventBean eventType=com.espertech.esper.event.map.MapEventType@4bfba
31 Mar 2014 14:38:54,087 INFO [ExternalTimerTest] update! time: 8960083569149650246 event: MapEventBean eventType=com.espertech.esper.event.map.MapEventType@4bfba
31 Mar 2014 14:38:54,095 INFO [ExternalTimerTest] update! time: 8977050138941995092 event: MapEventBean eventType=com.espertech.esper.event.map.MapEventType@4bfba
31 Mar 2014 14:38:54,097 INFO [ExternalTimerTest] update! time: 9026199311506603564 event: MapEventBean eventType=com.espertech.esper.event.map.MapEventType@4bfba
31 Mar 2014 14:38:54,098 INFO [ExternalTimerTest] update! time: 9046222761381126322 event: MapEventBean eventType=com.espertech.esper.event.map.MapEventType@4bfba
31 Mar 2014 14:38:54,100 INFO [ExternalTimerTest] update! time: 9193012775477185496 event: MapEventBean eventType=com.espertech.esper.event.map.MapEventType@4bfba
31 Mar 2014 14:38:54,104 INFO [ExternalTimerTest] update! time: 9216100873398901031 event: MapEventBean eventType=com.espertech.esper.event.map.MapEventType@4bfba
31 Mar 2014 14:38:54,150 INFO [ExternalTimerTest] update! time: 9217956427686180070 event: MapEventBean eventType=com.espertech.esper.event.map.MapEventType@4bfba
31 Mar 2014 14:38:54,191 INFO [ExternalTimerTest] update! time: 9220472295040868552 event: MapEventBean eventType=com.espertech.esper.event.map.MapEventType@4bfba
31 Mar 2014 14:38:54,204 INFO [ExternalTimerTest] update! time: 9221159909119537649 event: MapEventBean eventType=com.espertech.esper.event.map.MapEventType@4bfba
31 Mar 2014 14:38:54,209 INFO [ExternalTimerTest] update! time: 9221670906769729591 event: MapEventBean eventType=com.espertech.esper.event.map.MapEventType@4bfba
31 Mar 2014 14:38:54,210 INFO [ExternalTimerTest] update! time: 9222308618155454759 event: MapEventBean eventType=com.espertech.esper.event.map.MapEventType@4bfba
31 Mar 2014 14:38:54,232 INFO [ExternalTimerTest] update! time: 9223031406645948204 event: MapEventBean eventType=com.espertech.esper.event.map.MapEventType@4bfba
31 Mar 2014 14:38:54,272 INFO [ExternalTimerTest] update! time: 9223128776152817209 event: MapEventBean eventType=com.espertech.esper.event.map.MapEventType@4bfba
31 Mar 2014 14:38:54,280 INFO [ExternalTimerTest] update! time: 9223176940863347469 event: MapEventBean eventType=com.espertech.esper.event.map.MapEventType@4bfba
31 Mar 2014 14:38:54,340 INFO [ExternalTimerTest] update! time: 9223327616303021547 event: MapEventBean eventType=com.espertech.esper.event.map.MapEventType@4bfba
31 Mar 2014 14:38:54,341 INFO [ExternalTimerTest] update! time: 9223354656131624606 event: MapEventBean eventType=com.espertech.esper.event.map.MapEventType@4bfba
31 Mar 2014 14:38:55,122 INFO [ExternalTimerTest] update! time: 9223359537120588571 event: MapEventBean eventType=com.espertech.esper.event.map.MapEventType@4bfba
31 Mar 2014 14:38:55,176 INFO [ExternalTimerTest] update! time: 9223369410882423183 event: MapEventBean eventType=com.espertech.esper.event.map.MapEventType@4bfba
31 Mar 2014 14:38:58,079 INFO [ExternalTimerTest] update! time: 9223371031340074865 event: MapEventBean eventType=com.espertech.esper.event.map.MapEventType@4bfba
31 Mar 2014 14:39:18,070 INFO [ExternalTimerTest] update! time: 9223372011290856200 event: MapEventBean eventType=com.espertech.esper.event.map.MapEventType@4bfba
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
<appender name="terminal" class="org.apache.log4j.ConsoleAppender">
<param name="Threshold" value="DEBUG"/>
<param name="Target" value="System.out"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{DATE} %-5p [%c{1}] %m%n"/>
</layout>
</appender>
<!--
Modify to DEBUG for more output, or INFO for less output
-->
<root>
<level value="DEBUG"/>
<appender-ref ref="terminal"/>
<!-- <appender-ref ref="errors"/> -->
</root>
</log4j:configuration>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment