Package xyz.block.ftl.runtime
Class FTLController
-
- All Implemented Interfaces:
-
xyz.block.ftl.LeaseClient,xyz.block.ftl.hotreload.RunnerNotification.RunnerCallback
public class FTLController implements LeaseClient, RunnerNotification.RunnerCallback
-
-
Field Summary
Fields Modifier and Type Field Description public final static RuntimeExceptionRESTART_EXCEPTION
-
Method Summary
Modifier and Type Method Description static FTLControllerinstance()voidregisterDatabase(String name, GetDeploymentContextResponse.DbType type)Array<byte>getSecret(String secretName)Array<byte>getConfig(String config)DatasourceDetailsgetDatasource(String name)Array<byte>callVerb(String name, String module, Array<byte> payload)voidpublishEvent(String topic, String callingVerbName, Array<byte> event, String key)LeaseHandleacquireLease(Duration duration, Array<String> keys)Acquire a lease for the given keys. voidloadDeploymentContext()synchronized voidrunnerDetails(RunnerInfo info)synchronized voidreloadStarted()synchronized voidnewRunnerVersion(long version)-
-
Method Detail
-
instance
static FTLController instance()
-
registerDatabase
void registerDatabase(String name, GetDeploymentContextResponse.DbType type)
-
getDatasource
DatasourceDetails getDatasource(String name)
-
publishEvent
void publishEvent(String topic, String callingVerbName, Array<byte> event, String key)
-
acquireLease
LeaseHandle acquireLease(Duration duration, Array<String> keys)
Acquire a lease for the given keys. The lease will be held for the given duration.
- Parameters:
duration- The time to acquire the lease forkeys- The lease keys- Returns:
A handle that can be used to release the lease
-
loadDeploymentContext
void loadDeploymentContext()
-
runnerDetails
synchronized void runnerDetails(RunnerInfo info)
-
reloadStarted
synchronized void reloadStarted()
-
newRunnerVersion
synchronized void newRunnerVersion(long version)
-
-
-
-