private Task ConfigureNEsper() { return(Task.Factory.StartNew(() => { Provider = EPServiceProviderManager.GetDefaultProvider(); Provider.EPAdministrator.Configuration.AddImport <TcpSource>(); Provider.EPAdministrator.Configuration.AddImport <HostFilter>(); Provider.EPAdministrator.Configuration.AddImport <EnrichRequestCorrelationFilter>(); Provider.EPAdministrator.Configuration.AddImport <UnmatchedRequestSink>(); Provider.EPAdministrator.Configuration.AddImport <RedirectSink>(); Provider.EPAdministrator.Configuration.AddImport <CatalogRedirectSink>(); Provider.EPAdministrator.Configuration.AddEventType <HttpContext>("HttpContext"); var elp1 = Provider.EPAdministrator.CreateEPL($@"create dataflow ArtemisRouting TcpSource -> requests {{}} EnrichRequestCorrelationFilter (requests) -> enrichedrequests {{}} CatalogRedirectSink (enrichedrequests) {{ Use: ""Path"" }}"); var unity = new UnityContainer(); unity.RegisterType <IServiceFinder>(new InjectionFactory(x => Catalog)); unity.RegisterInstance <ILogger>(Logger); var dataflowContext = new DataflowContext(unity); var init = new com.espertech.esper.client.dataflow.EPDataFlowInstantiationOptions(); init.SetDataFlowInstanceUserObject(dataflowContext); var instance = Provider.EPRuntime.DataFlowRuntime.Instantiate("ArtemisRouting", init); instance.Start(); })); }
private Task ConfigureNEsper() { return Task.Factory.StartNew(() => { Provider = EPServiceProviderManager.GetDefaultProvider(); Provider.EPAdministrator.Configuration.AddImport<TcpSource>(); Provider.EPAdministrator.Configuration.AddImport<HostFilter>(); Provider.EPAdministrator.Configuration.AddImport<EnrichRequestCorrelationFilter>(); Provider.EPAdministrator.Configuration.AddImport<UnmatchedRequestSink>(); Provider.EPAdministrator.Configuration.AddImport<RedirectSink>(); Provider.EPAdministrator.Configuration.AddImport<CatalogRedirectSink>(); Provider.EPAdministrator.Configuration.AddEventType<HttpContext>("HttpContext"); var elp1 = Provider.EPAdministrator.CreateEPL($@"create dataflow ArtemisRouting TcpSource -> requests {{}} EnrichRequestCorrelationFilter (requests) -> enrichedrequests {{}} CatalogRedirectSink (enrichedrequests) {{ Use: ""Path"" }}"); var unity = new UnityContainer(); unity.RegisterType<IServiceFinder>(new InjectionFactory(x => Catalog)); unity.RegisterInstance<ILogger>(Logger); var dataflowContext = new DataflowContext(unity); var init = new com.espertech.esper.client.dataflow.EPDataFlowInstantiationOptions(); init.SetDataFlowInstanceUserObject(dataflowContext); var instance = Provider.EPRuntime.DataFlowRuntime.Instantiate("ArtemisRouting", init); instance.Start(); }); }