アプリケーションおよびドメインの管理

logo cloud active logo hybrid disabled logo server disabled logo pcf disabled

このドキュメントでは、Runtime Manager エージェント API を使用して Mule アプリケーションとドメインを管理 (デプロイとリスト) する方法について説明します。

アプリケーションの管理

操作: List Applications

この操作では、Mule インスタンスで実行されているすべてのアプリケーションをリストします。

要求:

GET <host:port>/mule/applications/ HTTP/1.1

例:

GET localhost:9999/mule/applications/ HTTP/1.1

応答:

[
  {
    name: 'domain1', domain: 'domain1', state: 'CREATED'
  },
  {
    name: 'domain2', domain: 'domain2', state: 'STARTED'
  }
]

アプリケーション状態

API によって返されるアプリケーション状態 (上の例の CREATEDSTARTED など) は、現在実行中の Mule コンテキストフェーズに応じてアプリケーションの状態を示します。有効なアプリケーション状態は次のとおりです。

  • CREATED

  • INITIALISED

  • STARTED

  • STOPPED

  • DESTROYED

  • DEPLOYMENT_FAILURE

操作: Deploy Application

この操作を正常に実行するには、次のいずれかを実行する必要があります。

  • アプリケーションファイルの URL を記載した application/JSON メッセージを送信する。
    または

  • エンコードされたアプリケーション ZIP ファイルを含む application/octet-stream を送信する。

次に、両方の方法の例を示します。

基本要求:

PUT <host:port>/mule/applications/<application name> HTTP/1.1

例:

PUT http://localhost:9999/mule/applications/myapp HTTP/1.1

JSON を使用した例

要求:

PUT http://localhost:9999/mule/applications/myapp HTTP/1.1
Content-Type: application/json

{
url: "http://myDomain.com/myApp.zip"
}

応答:

{
  application: {
    name: "applicationName"
  },
  status: "Deployment attempt started"
}

オクテットストリームを使用した例

要求:

PUT http://localhost:9999/mule/applications/myapp HTTP/1.1
Content-Type: application/octet-stream

Body: Binary ZIP file

応答:

{
  application: {
    name: "applicationName"
  },
  status: "Deployment attempt started"
}

操作: Undeploy an Application

この操作では、指定したアプリケーションのデプロイを取り消します。

要求:

DELETE <host:port>/mule/applications/<application name> HTTP/1.1
Content-Type: application/json

例:

DELETE http://localhost:9999/mule/applications/myapp HTTP/1.1
Content-Type: application/json

応答:

{
  application: {
    name: "applicationName"
  },
  status: "Undeployment attempt started"
}

操作: Restart an Application

要求:

PUT <host:port>/mule/applications/<application name>/restart

例:

PUT http://localhost:9999/mule/applications/myapp/restart HTTP/1.1
Content-Type: application/json

応答:

{
  application: {
    name: "applicationName",
    domain: "domainName",
    state: "STARTED"
  },
  status: "Restart attempt started"
}

操作: Get an Application

この操作では、特定のアプリケーション状況を取得します。

要求:

GET <host:port>/mule/applications/<application name> HTTP/1.1

例:

http://localhost:9999/mule/applications/myapp HTTP/1.1

応答:

{
  name: 'myapp'
  domain: 'domain'
  state: 'STARTED'
}

操作: Start an Application

この操作では、指定したアプリケーションを開始します。

要求:

PUT <host:port>/mule/applications/<application name>/start HTTP/1.1

例:

PUT http://localhost:9999/mule/applications/myapp/start HTTP/1.1

応答:

{
  application: {
    name: "applicationName",
    domain: "domainName",
    state: "STOPPED"
  },
  status: "Start attempt started"
}

操作: Stop an Application

この操作では、指定したアプリケーションを停止します。

要求:

PUT <host:port>/mule/applications/<application name>/stop HTTP/1.1

例:

PUT http://localhost:9999/mule/applications/myapp/stop HTTP/1.1

応答:

{
  application: {
    name: "applicationName",
    domain: "domainName",
    state: "STARTED"
  },
  status: "Stop attempt started"
}

ドメインの管理

操作: List Domains

この操作では、すべてのドメインとそれに対応するアプリケーションをリストします。

要求:

GET <host:port>/mule/domains HTTP/1.1

例:

GET http://localhost:9999/mule/domains HTTP/1.1

応答:

[
  {
    name: "myDomain1",
    applications:[
      {
        name: "domain1",
        domain: "domain1",
        state: "CREATED"
      },
      {
        name: "domain2",
        domain: "domain2",
        state: "STARTED"
      }
    ]
  },
  {
    name: "myDomain2",
    applications:[
      {
        name: "otherDomain1",
        domain: "otherDomain1",
        state: "CREATED"
      },
      {
        name: "otherDomain2",
        domain: "otherDomain2",
        state: "STARTED"
      }
    ]
  }
]

操作: Deploy/Redeploy a Domain

この操作では、指定したドメインをデプロイするか、指定したドメインがすでにデプロイ済みの場合は再デプロイします。後者の場合は、エージェントはドメインのデプロイを取り消してから、提供された新しいファイルを使用して再デプロイします。

この操作を正常に実行するには、次のいずれかを実行する必要があります。

  • ドメイン JAR を記載した application/JSON メッセージを送信する。
    または

  • ドメイン ZIP ファイルを含む application/octet-stream を送信する。

次に、両方の方法の例を示します。

基本要求:

PUT <host:port>/mule/domains/<domain name> HTTP/1.1

例:

PUT http://localhost:9999/mule/domains/mydomain HTTP/1.1

JSON を使用した例

要求:

PUT http://localhost:9999/mule/domains/mydomain HTTP/1.1
Content-Type: application/json

{
  url: "http://localhost/myDomain.jar"
}

応答:

{
  domain: "domainName",
  status: "Deployment attempt started"
}

オクテットストリームを使用した例

要求:

PUT http://localhost:9999/mule/domains/mydomain HTTP/1.1
Content-Type: application/octet-stream

Body: Binary zip file

応答:

{
  domain: "domainName",
  status: "Deployment attempt started"
}

操作: Undeploy a Domain

この操作では、指定したドメインのデプロイを取り消します。

要求:

DELETE <host:port>/mule/domains/<domain name>

例:

DELETE http://localhost:9999/mule/domains/mydomain HTTP/1.1
Content-Type: application/json

応答:

{
  domain: "domainName",
  status: "Undeployment attempt started"
}

操作: Restart a Domain

要求:

PUT <host:port>/mule/domains/<domain name>/restart

例:

PUT http://localhost:9999/mule/domains/mydomain/restart HTTP/1.1
Content-Type: application/json

応答:

{
  domain: "domainName",
  status: "Restart attempt started"
}

操作: Get a Domain

この操作では、指定したドメインの状況を取得します。

要求:

GET <host:port>mule/domains/<domain name> HTTP/1.1

例:

GET http://localhost:9999/mule/domains/myDomain HTTP/1.1

応答:

{
  name: "myDomain",
  Applications:[
    {
      name: "otherDomain1",
      domain: "otherDomain1",
      state: "CREATED"
    },
    {
      name: "otherDomain2",
      domain: "otherDomain2",
      state: "STARTED"
    }
  ]
}

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub