Fixes issue where multiple instances of ApplicaitonLifecycle are created.
This commit is contained in:
parent
5a4a5795b2
commit
ab07ac0389
|
@ -4,6 +4,7 @@ namespace KubernetesWorkflow
|
||||||
{
|
{
|
||||||
public class ApplicationLifecycle
|
public class ApplicationLifecycle
|
||||||
{
|
{
|
||||||
|
private static object instanceLock = new object();
|
||||||
private static ApplicationLifecycle? instance;
|
private static ApplicationLifecycle? instance;
|
||||||
private readonly NumberSource servicePortNumberSource = new NumberSource(30001);
|
private readonly NumberSource servicePortNumberSource = new NumberSource(30001);
|
||||||
private readonly NumberSource namespaceNumberSource = new NumberSource(0);
|
private readonly NumberSource namespaceNumberSource = new NumberSource(0);
|
||||||
|
@ -17,11 +18,14 @@ namespace KubernetesWorkflow
|
||||||
// I know singletons are quite evil. But we need to be sure this object is created only once
|
// I know singletons are quite evil. But we need to be sure this object is created only once
|
||||||
// and persists for the entire application lifecycle.
|
// and persists for the entire application lifecycle.
|
||||||
get
|
get
|
||||||
|
{
|
||||||
|
lock (instanceLock)
|
||||||
{
|
{
|
||||||
if (instance == null) instance = new ApplicationLifecycle();
|
if (instance == null) instance = new ApplicationLifecycle();
|
||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public NumberSource GetServiceNumberSource()
|
public NumberSource GetServiceNumberSource()
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue