Make lastException from initialize() available
During each run of initialize() an exception could be encountered, this makes that exception available via a getter to whatever created the thread to be able to take further action with it.
This commit is contained in:
parent
a53473d536
commit
00b1308223
1 changed files with 9 additions and 1 deletions
|
|
@ -104,6 +104,7 @@ public class Worker implements Runnable {
|
||||||
private volatile boolean shutdown;
|
private volatile boolean shutdown;
|
||||||
private volatile long shutdownStartTimeMillis;
|
private volatile long shutdownStartTimeMillis;
|
||||||
private volatile boolean shutdownComplete = false;
|
private volatile boolean shutdownComplete = false;
|
||||||
|
private volatile Exception lastException = null;
|
||||||
|
|
||||||
// Holds consumers for shards the worker is currently tracking. Key is shard
|
// Holds consumers for shards the worker is currently tracking. Key is shard
|
||||||
// info, value is ShardConsumer.
|
// info, value is ShardConsumer.
|
||||||
|
|
@ -617,7 +618,6 @@ public class Worker implements Runnable {
|
||||||
private void initialize() {
|
private void initialize() {
|
||||||
workerStateChangeListener.onWorkerStateChange(WorkerStateChangeListener.WorkerState.INITIALIZING);
|
workerStateChangeListener.onWorkerStateChange(WorkerStateChangeListener.WorkerState.INITIALIZING);
|
||||||
boolean isDone = false;
|
boolean isDone = false;
|
||||||
Exception lastException = null;
|
|
||||||
|
|
||||||
for (int i = 0; (!isDone) && (i < MAX_INITIALIZATION_ATTEMPTS); i++) {
|
for (int i = 0; (!isDone) && (i < MAX_INITIALIZATION_ATTEMPTS); i++) {
|
||||||
try {
|
try {
|
||||||
|
|
@ -882,6 +882,14 @@ public class Worker implements Runnable {
|
||||||
return workerStateChangeListener;
|
return workerStateChangeListener;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The last of any exception encountered during initialize() will be available here
|
||||||
|
*/
|
||||||
|
public Exception getLastException()
|
||||||
|
{
|
||||||
|
return lastException;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Signals worker to shutdown. Worker will try initiating shutdown of all record processors. Note that if executor
|
* Signals worker to shutdown. Worker will try initiating shutdown of all record processors. Note that if executor
|
||||||
* services were passed to the worker by the user, worker will not attempt to shutdown those resources.
|
* services were passed to the worker by the user, worker will not attempt to shutdown those resources.
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue