Have PresentsServer pass itself to PresentsInvoker when starting the thread instead of being
injected directly into the invoker to prevent potential circular dependency issues.
This commit is contained in:
@@ -68,6 +68,24 @@ public class PresentsInvoker extends ReportingInvoker
|
|||||||
postUnit(new EmptyingUnit(onEmpty));
|
postUnit(new EmptyingUnit(onEmpty));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override // from Thread
|
||||||
|
public void start ()
|
||||||
|
{
|
||||||
|
log.warning(
|
||||||
|
"PresentsInvoker should be started with a call to start(PresentsServer server).");
|
||||||
|
super.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Causes the invoker to begin execution for the PresentsServer. We pass in the server instead
|
||||||
|
* of injecting to prevent potential circular dependency issues.
|
||||||
|
*/
|
||||||
|
public void start (PresentsServer server)
|
||||||
|
{
|
||||||
|
_server = server;
|
||||||
|
super.start();
|
||||||
|
}
|
||||||
|
|
||||||
@Override // from Invoker, Lifecycle.ShutdownComponent
|
@Override // from Invoker, Lifecycle.ShutdownComponent
|
||||||
public void shutdown ()
|
public void shutdown ()
|
||||||
{
|
{
|
||||||
@@ -87,7 +105,11 @@ public class PresentsInvoker extends ReportingInvoker
|
|||||||
@Override // from Invoker
|
@Override // from Invoker
|
||||||
protected void didShutdown ()
|
protected void didShutdown ()
|
||||||
{
|
{
|
||||||
_server.invokerDidShutdown();
|
if (_server == null) {
|
||||||
|
log.warning("Shutdown without assigned server");
|
||||||
|
} else {
|
||||||
|
_server.invokerDidShutdown();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -317,5 +339,5 @@ public class PresentsInvoker extends ReportingInvoker
|
|||||||
protected PresentsDObjectMgr _omgr;
|
protected PresentsDObjectMgr _omgr;
|
||||||
|
|
||||||
/** The server we're working for. */
|
/** The server we're working for. */
|
||||||
@Inject protected PresentsServer _server;
|
protected PresentsServer _server;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -183,7 +183,7 @@ public class PresentsServer
|
|||||||
_omgr.setDefaultAccessController(createDefaultObjectAccessController());
|
_omgr.setDefaultAccessController(createDefaultObjectAccessController());
|
||||||
|
|
||||||
// start the main and auth invoker threads
|
// start the main and auth invoker threads
|
||||||
_invoker.start();
|
((PresentsInvoker)_invoker).start(this);
|
||||||
_authInvoker.start();
|
_authInvoker.start();
|
||||||
((PresentsInvoker)_invoker).addInterdependentInvoker(_authInvoker);
|
((PresentsInvoker)_invoker).addInterdependentInvoker(_authInvoker);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user