Red Hat Training
A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform
3.4. 관리 API
3.4.1. HTTP API
HTTP API 끝점은 HTTP 프로토콜을 사용하여 JBoss EAP 관리 계층과 통합하는 관리 클라이언트의 진입점입니다.
HTTP API는 JBoss EAP 관리 콘솔에서 사용되지만 다른 클라이언트에도 통합 기능을 제공합니다. 기본적으로 HTTP API는 http://HOST_NAME:9990/management
에서 액세스할 수 있습니다. 이 URL에는 API에 노출된 원시 속성 및 값이 표시됩니다.
리소스 읽기
HTTP POST
메서드를 사용하여 다른 작업을 읽거나 쓰거나 수행할 수 있지만 GET
요청을 사용하여 일부 읽기 작업을 수행할 수 있습니다. HTTP GET
메서드는 다음 URL 형식을 사용합니다.
http://HOST_NAME:9990/management/PATH_TO_RESOURCE?operation=OPERATION&PARAMETER=VALUE
교체 가능한 모든 값을 요청에 적합한 값으로 교체해야 합니다. 다음 값은 OPERATION
대체 값에 사용할 수 있는 옵션입니다.
현재의 | 설명 |
---|---|
attribute |
|
operation-description |
|
operation-names |
|
resource |
|
resource-description |
|
snapshots |
|
다음 예제 URL은 HTTP API를 사용하여 읽기 작업을 수행하는 방법을 보여줍니다.
예: 리소스에 대한 모든 속성 및 값 읽기
http://HOST_NAME:9990/management/subsystem/undertow/server/default-server/http-listener/default
기본
HTTP 리스너의 모든 속성 및 해당 값이 표시됩니다.
기본 작업은 read-resource
입니다.
예: 리소스에 대한 속성 값 읽기
http://HOST_NAME:9990/management/subsystem/datasources/data-source/ExampleDS?operation=attribute&name=enabled
이렇게 하면 ExampleDS
데이터 소스에 대해 활성화된
속성 값이 표시됩니다.
리소스 업데이트
HTTP POST
메서드를 사용하여 구성 값을 업데이트하거나 HTTP API를 사용하여 다른 작업을 수행할 수 있습니다. 이러한 작업에 대한 인증을 제공해야 합니다.
다음 예제에서는 HTTP API를 사용하여 리소스를 업데이트하는 방법을 보여줍니다.
예: 리소스에 대한 속성 값 업데이트
$ curl --digest http://HOST_NAME:9990/management --header "Content-Type: application/json" -u USERNAME:PASSWORD -d '{"operation":"write-attribute", "address":["subsystem","datasources","data-source","ExampleDS"], "name":"enabled", "value":"false", "json.pretty":"1"}'
이렇게 하면 ExampleDS
데이터 소스에 대한 enabled
속성 값이 false
로 업데이트됩니다.
예: 서버에 작업 발행
$ curl --digest http://localhost:9990/management --header "Content-Type: application/json" -u USERNAME:PASSWORD -d '{"operation":"reload"}'
이렇게 하면 서버가 다시 로드됩니다.
HTTP API를 사용하여 JBoss EAP에 애플리케이션을 배포하는 방법에 대한 자세한 내용은 HTTP API를 사용하여 애플리케이션 배포를 참조하십시오.
3.4.2. 네이티브 API
네이티브 API 엔드포인트는 기본 프로토콜을 사용하여 JBoss EAP 관리 계층과 통합하는 관리 클라이언트의 진입점입니다. 기본 API는 JBoss EAP 관리 CLI에서 사용하지만 다른 클라이언트에도 통합 기능을 제공합니다.
다음 Java 코드는 네이티브 API를 사용하여 Java 코드에서 관리 작업을 실행하는 방법의 예를 보여줍니다.
EAP_HOME/bin/client/jboss-cli-client.jar
파일에 있는 필수 JBoss EAP 라이브러리를 클래스 경로에 추가해야 합니다.
예: 네이티브 API를 사용하여 리소스 읽기
// Create the management client ModelControllerClient client = ModelControllerClient.Factory.create("localhost", 9990); // Create the operation request ModelNode op = new ModelNode(); // Set the operation op.get("operation").set("read-resource"); // Set the address ModelNode address = op.get("address"); address.add("subsystem", "undertow"); address.add("server", "default-server"); address.add("http-listener", "default"); // Execute the operation and manipulate the result ModelNode returnVal = client.execute(op); System.out.println("Outcome: " + returnVal.get("outcome").toString()); System.out.println("Result: " + returnVal.get("result").toString()); // Close the client client.close();