示例#1
0
        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();
            }));
        }
示例#2
0
        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();
            });
        }