@@ -141,8 +141,8 @@ public SchemaValidator getValidator(SchemaInline inline) {
141141 private WorkflowPositionFactory positionFactory = () -> new QueueWorkflowPosition ();
142142 private WorkflowIdFactory idFactory = () -> UlidCreator .getMonotonicUlid ().toString ();
143143 private ExecutorServiceFactory executorFactory = new DefaultExecutorServiceFactory ();
144- private EventConsumer <?, ?> eventConsumer = InMemoryEvents . get () ;
145- private EventPublisher eventPublisher = InMemoryEvents . get () ;
144+ private EventConsumer <?, ?> eventConsumer ;
145+ private EventPublisher eventPublisher ;
146146 private RuntimeDescriptorFactory descriptorFactory =
147147 () -> new RuntimeDescriptor ("reference impl" , "1.0.0_alpha" , Collections .emptyMap ());
148148
@@ -193,12 +193,9 @@ public Builder withDescriptorFactory(RuntimeDescriptorFactory factory) {
193193 return this ;
194194 }
195195
196- public Builder withEventConsumer (EventConsumer <?, ?> eventConsumer ) {
196+ public Builder withEventHandler (
197+ EventPublisher eventPublisher , EventConsumer <?, ?> eventConsumer ) {
197198 this .eventConsumer = eventConsumer ;
198- return this ;
199- }
200-
201- public Builder withEventPublisher (EventPublisher eventPublisher ) {
202199 this .eventPublisher = eventPublisher ;
203200 return this ;
204201 }
@@ -222,6 +219,11 @@ public WorkflowApplication build() {
222219 .findFirst ()
223220 .orElseGet (() -> DefaultTaskExecutorFactory .get ());
224221 }
222+ if (eventConsumer == null && eventPublisher == null ) {
223+ InMemoryEvents inMemory = new InMemoryEvents (executorFactory );
224+ eventPublisher = inMemory ;
225+ eventConsumer = inMemory ;
226+ }
225227 return new WorkflowApplication (this );
226228 }
227229 }
0 commit comments