示例#1
0
        public void QuartzJob_should_de_deserialized_from_old_wire_format()
        {
            var cmd = new ChangeSampleAggregateCommand(1, Guid.NewGuid());
            var evt = new SampleAggregateCreatedEvent("1", cmd.AggregateId);

            var scheduleKey = ScheduleKey.For(cmd);

            var oldSerializer = new LegacyWireSerializer();

            var serializedEvent = oldSerializer.Serialize(evt);
            var serializedKey   = oldSerializer.Serialize(scheduleKey);

            var jobDataMap = new JobDataMap
            {
                { "EventKey", serializedEvent },
                { "ScheduleKey", serializedKey }
            };

            var job = QuartzJob.CreateJob(scheduleKey, jobDataMap);

            var trigger = TriggerBuilder.Create()
                          .WithIdentity(job.Key.Name, job.Key.Group)
                          .WithSimpleSchedule(x => x.WithMisfireHandlingInstructionFireNow()
                                              .WithRepeatCount(0))
                          .StartAt(BusinessDateTime.Now.AddSeconds(1))
                          .Build();

            var scheduler = GridNode.Container.Resolve <IScheduler>();

            scheduler.ScheduleJob(job, trigger);


            var waiter = GridNode.NewWaiter(Timeout)
                         .Expect <SampleAggregateCreatedEvent>(e => e.SourceId == evt.SourceId)
                         .Create();

            waiter.Wait();
        }
示例#2
0
 private void Apply(SampleAggregateCreatedEvent e)
 {
     Id    = e.SourceId;
     Value = e.Value;
 }