public abstract class AbstractDeployer<D extends BaseDefinition> extends java.lang.Object implements ResourceDeployer<D>, DeploymentValidator
ResourceDeployer
インターフェースの抽象実装。CrudRepository メソッドの呼び出しと デプロイメッセージの送信の基本的なサポートを提供します。修飾子と型 | フィールドと説明 |
---|---|
protected JobParser | composedJobParser |
protected ParsingContext | definitionKind 例外メッセージやパーサーへの指示に使用されます。 |
protected XDParser | parser |
修飾子 | コンストラクターと説明 |
---|---|
protected | AbstractDeployer(ZooKeeperConnection zkConnection, org.springframework.data.repository.PagingAndSortingRepository<D,java.lang.String> repository, XDParser parser, ParsingContext parsingContext) |
修飾子と型 | メソッドと説明 |
---|---|
protected D | afterSave(D savedDefinition) 新しく保存された定義に基づいて動作する機会を得るためにサブクラスがオーバーライドできるコールバックメソッド。 |
protected D | basicDeploy(java.lang.String name, java.util.Map<java.lang.String,java.lang.String> properties) 基本的な デプロイ動作を提供します。これにより、デプロイされた定義の実行状態は保持されません。 |
protected void | beforeDelete(D definition) 削除されようとしている定義に対してアクションを実行するためにサブクラスがオーバーライドできるコールバックメソッド。 |
protected abstract D | createDefinition(java.lang.String name, java.lang.String definition) |
protected java.util.List<ModuleDefinition> | createModuleDefinitions(java.util.List<ModuleDescriptor> moduleDescriptors) 定義を解析した結果に基づいて、ModuleDefinitions のリストを作成します。 |
void | delete(java.lang.String name) 指定された名前を使用して定義を削除します。 |
void | deleteAll() すべての定義を削除する |
java.lang.Iterable<D> | findAll() |
org.springframework.data.domain.Page<D> | findAll(org.springframework.data.domain.Pageable pageable) すべての定義のスライスを返します。 |
D | findOne(java.lang.String name) 単一の定義を取得します。見つからない場合は null を取得します。 |
protected org.springframework.data.repository.CrudRepository<D,java.lang.String> | getDefinitionRepository() |
protected abstract java.lang.String | getDeploymentPath(D definition) 指定された定義の デプロイリクエストに使用される ZooKeeper パスを返します。 |
protected ZooKeeperConnection | getZooKeeperConnection() ZooKeeper 接続を返します。 |
D | save(D definition) |
protected void | throwAlreadyDeployedException(java.lang.String name) |
protected void | throwDefinitionAlreadyExistsException(D definition) |
protected void | throwDefinitionNotDeployable(java.lang.String name) |
protected void | throwNoSuchDefinitionException(java.lang.String name) |
protected void | throwNoSuchDefinitionException(java.lang.String name, java.lang.String definitionKind) |
protected void | throwNotDeployedException(java.lang.String name) |
void | validateBeforeDelete(java.lang.String name) 定義を削除する前に検証してください。 |
void | validateBeforeSave(java.lang.String name, java.lang.String definition) 定義を保存する前に検証してください。 |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
deploy, undeploy, undeployAll
validateBeforeDeploy, validateBeforeUndeploy
protected final XDParser parser
protected final JobParser composedJobParser
protected final ParsingContext definitionKind
protected AbstractDeployer(ZooKeeperConnection zkConnection, org.springframework.data.repository.PagingAndSortingRepository<D,java.lang.String> repository, XDParser parser, ParsingContext parsingContext)
public D save(D definition)
ResourceDeployer<D extends BaseDefinition>
の save
public void validateBeforeSave(java.lang.String name, java.lang.String definition)
DeploymentValidator
DeploymentValidator
の validateBeforeSave
name
- デプロイユニット名 definition
- 定義 protected java.util.List<ModuleDefinition> createModuleDefinitions(java.util.List<ModuleDescriptor> moduleDescriptors)
moduleDescriptors
- 定義を解析した結果の ModuleDescriptors のリスト。protected ZooKeeperConnection getZooKeeperConnection()
protected D afterSave(D savedDefinition)
protected void throwDefinitionAlreadyExistsException(D definition)
protected void throwNoSuchDefinitionException(java.lang.String name)
protected void throwDefinitionNotDeployable(java.lang.String name)
protected void throwNoSuchDefinitionException(java.lang.String name, java.lang.String definitionKind)
protected void throwNotDeployedException(java.lang.String name)
protected void throwAlreadyDeployedException(java.lang.String name)
public D findOne(java.lang.String name)
ResourceDeployer
ResourceDeployer<D extends BaseDefinition>
の findOne
name
- 検索する定義。null にすることはできません。public java.lang.Iterable<D> findAll()
ResourceDeployer<D extends BaseDefinition>
の findAll
public org.springframework.data.domain.Page<D> findAll(org.springframework.data.domain.Pageable pageable)
ResourceDeployer
ResourceDeployer<D extends BaseDefinition>
の findAll
public void deleteAll()
ResourceDeployer
ResourceDeployer<D extends BaseDefinition>
の deleteAll
protected org.springframework.data.repository.CrudRepository<D,java.lang.String> getDefinitionRepository()
protected D basicDeploy(java.lang.String name, java.util.Map<java.lang.String,java.lang.String> properties)
NoSuchDefinitionException
- 指定された名前による定義がない場合 protected abstract D createDefinition(java.lang.String name, java.lang.String definition)
protected abstract java.lang.String getDeploymentPath(D definition)
definition
- パスを取得する定義 public void validateBeforeDelete(java.lang.String name)
DeploymentValidator
DeploymentValidator
の validateBeforeDelete
name
- デプロイユニット名 public void delete(java.lang.String name)
ResourceDeployer
undeployed
になる場合もあります。ResourceDeployer<D extends BaseDefinition>
の delete
name
- 削除する定義の名前 protected void beforeDelete(D definition)