Skip to content

Commit

Permalink
Make ActionDispatcher more easily customizable
Browse files Browse the repository at this point in the history
- Extract thread creation and initialization out of constructor
  • Loading branch information
martin-fleck-at committed Jun 18, 2024
1 parent e7713ee commit c17f5cd
Showing 1 changed file with 19 additions and 7 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/********************************************************************************
* Copyright (c) 2019-2023 EclipseSource and others.
* Copyright (c) 2019-2024 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
Expand Down Expand Up @@ -69,9 +69,9 @@ public class DefaultActionDispatcher extends Disposable implements ActionDispatc
@Inject
protected ClientActionForwarder clientActionForwarder;

protected final String name;
protected String name;

protected final Thread thread;
protected Thread thread;

protected final BlockingQueue<Action> actionsQueue = new ArrayBlockingQueue<>(100, true);

Expand All @@ -87,11 +87,23 @@ public class DefaultActionDispatcher extends Disposable implements ActionDispatc
protected Provider<GLSPClient> client;

public DefaultActionDispatcher() {
this.initialize();
}

protected void initialize() {
this.name = getClass().getSimpleName() + " " + COUNT.incrementAndGet();
this.thread = new Thread(this::runThread);
this.thread.setName(this.name);
this.thread.setDaemon(true);
this.thread.start();
this.thread = this.createThread();
this.initializeThread(thread, name);
thread.start();
}

protected Thread createThread() {
return new Thread(this::runThread);
}

protected void initializeThread(final Thread thread, final String name) {
thread.setName(name);
thread.setDaemon(true);
}

@Override
Expand Down

0 comments on commit c17f5cd

Please sign in to comment.