Oracle® Fusion Middleware

Administering Oracle WebLogic Server with RESTful Management Services

12c (12.2.1.3.0)

E80394-03

April 2018

This document describes how to use Oracle WebLogic Server RESTful management interfaces for administration, monitoring, deploying, and configuration tasks which are exposed for developing RESTful clients.

Oracle Fusion Middleware Administering Oracle WebLogic Server with RESTful Management Services, 12c (12.2.1.3.0)

E80394-03

Copyright © 2015, 2018, Oracle and/or its affiliates. All rights reserved.

Primary Author:

Contributing Author:

Contributor:

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.

Contents

Preface

- Documentation Accessibility

- Conventions

1 Introduction and Roadmap

- Document Scope and Audience

- Guide to this Document

- Information Roadmap

- New and Changed Features In This Release

2 About the WLS RESTful Management Interface

- Overview of the WLS RESTful Management Interface

- Generated REST API for WLS Bean Trees

- WLS Bean Tree Overview

- Mapping the WLS Beans to REST

- General REST Patterns

- Standard Request Headers

- About the Root Resources

- Naming Conventions

- Mapping the REST URLs

- JSON Mappings

- Strings and Scalars

- Arrays

- Identities

- WLS Bean References

- java.util.Properties

- Encrypted Properties

- Standard REST Responses

- Returning Error Messages

3 Using the WLS RESTful Management Interface

- Accessing REST Resources

- Viewing WLS Beans

- About WLS Bean Properties

- Self and Canonical Links

- Parent Links

- Self Create Form Links

- Child Bean Links

- Child Create Form Links

- Singleton Bean Reference Links

- Bean Reference Collection Links

- Operation Links

- Viewing Collections of Contains Beans

- About Collection items

- About Collection Links

- Retrieving Create Forms

- About Create Form Properties

- About Create Form Links

- Filtering Results

- Modifying the WLS Configuration

- Modifying WLS Configuration Beans

- About the JSON Object Request Body

- Using Multiple Edit Sessions

- Client Specified Edit Session

- The Default Edit Session

- Creating WLS Configuration Beans

- URLs For Creating WLS Configuration Beans

- Getting a JSON Template

- Creating the Bean

- Deleting WLS Configuration Beans

- Managing Whether a Property Is Set

- Invoking Operations

- Using Queries

- Search Resources

- Object Queries

- Fields and ExcludeFields

- Links and ExcludeLinks

- Children

- Identities

- Response Body

- Query Examples

- Limiting the Wait Time For a Delegated Request

- Consolidating Search Results

- About Synchronous and Asynchronous Operations

- Deploying Applications and Libraries

4 Domain Level REST API Examples

- Adding Users

- Setting Up Servers

- Creating Partitions

- Configuring System Resources

- Deploying Domain-Scoped Applications

- Monitoring Domain Resources

- Starting and Stopping Domain-Scoped Applications

- Starting and Stopping Partitions

- Starting and Stopping Servers

5 Partition Specific REST API Examples

- Configuring Users

- Creating Partition-Scoped System Resources

- Deploying Partition-Scoped Applications

- Monitoring Partition Resources

- Starting and Stopping Partition-Scoped Applications

Preface

This preface describes the document accessibility features and conventions used in this guide— Administering Oracle WebLogic Server with RESTful Management Services.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.

Conventions

The following text conventions are used in this document:

Convention

Meaning

boldface

Boldface type indicates graphical user interface elements associated with an action, or terms defined in text or the glossary.

italic

Italic type indicates book titles, emphasis, or placeholder variables for which you supply particular values.

monospace

Monospace type indicates commands within a paragraph, URLs, code in examples, text that appears on the screen, or text that you enter.

1 Introduction and Roadmap

This chapter describes the contents and organization of this guide—Administering Oracle WebLogic Server with RESTful Management Services.

- Document Scope and Audience

- Guide to this Document

- Information Roadmap

- New and Changed Features In This Release

Document Scope and Audience

This document describes how to use Oracle WebLogic Server RESTful management interfaces for administration, monitoring, deploying, and configuration tasks which are exposed for developing RESTful clients. The user communities for this documentation are administrators who might use cURL commands to invoke these resources in administration scripts, and software developers who will use this information when writing code, perhaps in Java, perhaps in other languages, that monitors and manages WLS domains.

Guide to this Document

- This chapter, Introduction and Roadmap, describes the organization of this guide.

- About the WLS RESTful Management Interface provides an introduction to the WLS RESTful management interface, useful background and mapping information, and the HTTP status codes returned by WLS REST resources.

- Using the WLS RESTful Management Interface describes how to use the RESTful management services supported by WebLogic Server.

- Domain Level REST API Examples contains example scripts for users in domain level roles that show how to use the WLS REST APIs to perform common domain and partition management and monitoring tasks

- Partition Specific REST API Examples contains example scripts for users in partition level roles that show how to use the WLS REST APIs to perform common partition management and monitoring tasks.

Information Roadmap

WebLogic Server REST resources are based on WLS bean trees and organized according to their corresponding root resources. See Mapping the WLS Beans to REST.

The REST resources for managing WLS within specified partitions reside in separate manuals (MT reference guides). Each MT manual refers to resources accessible to partition user roles. Each non-MT manual refers to resources accessible to domain user roles. For more information about user roles in WebLogic Server Multitenant, see Administrative Roles for Configuration and Management in Using Oracle WebLogic Server Multitenant.

In the MT reference guides, REST resources:

- Are running in a partition.

- Must be accessed over a partitioned URL by a user defined in that partition's security realm.

- Only can be used to manage that partition.

- Cannot be used to manage all WLS MBeans. Many of the WLS MBeans are not available to partition users.

In the non-MT reference guides, REST resources:

- Run at the domain level (versus in a partition).

- Must be accessed over a non-partitioned URL by a user defined in the domain's default security realm.

- Can be used to manage all partitions.

- Can be used to manage all WLS MBeans.

See Table 1-1 for a complete listing of the WLS REST reference documents and descriptions of their use.

Table 1-1 WLS RESTful Management Interface Reference Documentation

Book Title

Use These REST Resources To...

RESTful Edit Reference for Oracle WebLogic Server

Edit the WLS configuration.

RESTful Domain Configuration Reference for Oracle WebLogic Server

View the last activated WLS configuration.

RESTful Domain Runtime Reference for Oracle WebLogic Server

Monitor the entire WLS domain.

RESTful Server Configuration Reference for Oracle WebLogic Server

View the WLS configuration that the Administration Server or Managed Server is currently running against.

RESTful Server Runtime Reference for Oracle WebLogic Server

Monitor the Administration Server or a Managed Server.

You can monitor a Managed Server either by using the Administration Server's domainRuntime/serverRuntimes/<managedServerName>/... resources or the Managed Server's serverRuntime/... resources.

RESTful Edit Reference for Oracle WebLogic Server MT

Edit the WLS configuration in the specified domain partition.

RESTful Domain Configuration Reference for Oracle WebLogic Server MT

View the last activated WLS configuration in the specified domain partition.

RESTful Domain Runtime Reference for Oracle WebLogic Server MT

Monitor the specified WLS domain partition.

RESTful Server Configuration Reference for Oracle WebLogic Server MT

View the WLS configuration that the Administration Server is currently running against in the specified domain partition.

RESTful Server Runtime Reference for Oracle WebLogic Server MT

Monitor the Administration Server in the specified domain partition

RESTful Lifecycle Reference for Oracle WebLogic Server

Use WLS life cycle management REST resources.

RESTful Management Interface Reference for Oracle WebLogic Server

Legacy WLS RESTful management resources.

New and Changed Features In This Release

For a comprehensive listing of all the new WebLogic Server features introduced in this release, see What's New in Oracle WebLogic Server.

2 About the WLS RESTful Management Interface

WebLogic RESTful management services provide a comprehensive public interface for configuring, monitoring, deploying and administering WebLogic Server in all supported environments.

This chapter describes the RESTful management services supported by WebLogic Server.

- Overview of the WLS RESTful Management Interface

- Mapping the WLS Beans to REST

- Standard REST Responses

Overview of the WLS RESTful Management Interface

In each release of WebLogic Server, the availability of REST resources for WebLogic Server administration has been enhanced and extended. This release provides comprehensive support for WebLogic Server administration through the dynamic generation of REST resources based on WLS MBeans and descriptor interfaces. There are resources to support the configuration and monitoring of partitioned and non-partitioned environments, life cycle management (LCM) resources, and legacy resources from 12.1.3.

For a guide to the WLS REST reference documentation, see the Information Roadmap.

Note:

In WebLogic Server 12.2.1.3.0:

- All prior versions are now deprecated: 12.2.1.0, 12.2.1.0.0, 12.2.1.1.0, and 12.2.1.2.0

- 12.2.1.3.0: this is the latest version

To summarize the changes in this release:

- All prior versions have been deprecated and you should use the 12.2.1.3.0 REST resources instead

- The latest version has changed from 12.2.1.2.0 to 12.2.1.3.0

- All new MBean features added in 12.2.1.3.0 will show up in 12.2.1.1.0 and 12.2.1.2.0, also

- Any MBean features that were deprecated in 12.2.1.3.0, will still be available using the 12.2.1.1.0 and 12.2.1.2.0 REST URLs, but not the 12.2.1.3.0 REST URLs

Generated REST API for WLS Bean Trees

WLS beans are used extensively by WLS components to manage configuration settings and to monitor and manage running servers.

The WLS beans are derived from Java interfaces. At runtime, WLS constructs internal trees of Java beans that can be used to configure and monitor the system. In prior releases, the bean trees were only exposed via JMX, WLST, and configuration files (for example, config.xml).

In this release, WLS dynamically generates REST resources, incrementally and on-demand at runtime, by using the bean trees and bean infos. These REST resources provide an alternative for managing WLS.

WLS Bean Tree Overview

The following sections provide background information about WLS beans which provide the foundation for the REST interfaces.

There are two main bean types:

- Configuration—used to configure WLS.

- Runtime—used to monitor WLS and for some operations, control WLS (for example, starting and stopping servers, shrinking data source connection pools).

WLS provides the following bean trees:

- Edit access—only available on the Administration Server, used to modify the configuration (for example, config.xml and system resource files).

- Runtime access—available on every server, used to view that server's configuration and to access its monitoring data.

- Domain access—only available on the Administration Server, contains copies of the runtime beans of all of the running servers, provides a single point of access for monitoring, is also used to view the most current configuration that has been persisted.

For more information about WLS MBeans, see Understanding WebLogic Server MBeans in Developing Custom Management Utilities Using JMX for Oracle WebLogic Server.

WebLogic Scripting Tool (WLST) presents the bean trees as follows:

- edit—matches the underlying edit access bean tree.

- domainConfig—the configuration MBean half of the domain access bean tree (such as, the last persisted configuration).

- domainRuntime—the runtime MBean half of the domain access bean tree (such as, for monitoring all servers).

- serverConfig—the configuration MBean half of the runtime access bean tree (such as, the configuration the server is using).

- serverRuntime—the runtime MBean half of the runtime access bean tree (such as, for monitoring a specific server).

The REST resources parallel the MBean trees presentation in WLST: edit, domainConfig, domainRuntime, serverConfig, and serverRuntime.

Within the WLS bean trees, there are several types of parent/child (containment) relationships:

- Writable collections—for example, a domain bean has a collection of server beans.

- Mandatory singletons—for example, a server bean always has an SSL bean which is automatically created and cannot be deleted.

- Optional singletons—for example, an overload protection bean can optionally have a server failure trigger bean.

Beans can include properties (generally scalars, strings, and arrays), references to other beans, and operations (for example, to start a server).

With regard to contained collections:

- Each child has a unique identity within the collection (for example, each network channel has a name that's unique within its server).

- Most collections are homogeneous (for example, a domain's applications) though a few are heterogeneous (for example, a security realm's authentication providers).

Mapping the WLS Beans to REST

Learn how WLS beans are mapped to the REST interfaces.

Some commonalities are:

- All resource URLs contain version numbers, and support a version named latest. See The {version} Specifier in Resource URLs in the RESTful Management Interface Reference for Oracle WebLogic Server (Legacy).

- All request bodies and response bodies use JSON (media type is application/json).

- Response bodies have a standard set of properties—items (to return information about collections), links (to return links to related resources), and messages (to return success, warning, and failure messages).

- All resources return standard HTTP response codes—201 for successful creation, 200 for other successes, 404 for not found, 400 for user input errors, 500 for internal server errors. See Standard REST Responses.

General REST Patterns

Almost all of the WLS beans (a homogeneous collection of children, a mandatory singleton child, and an optional homogenous singleton child) use the following REST patterns:

WLS Beans/REST Resource

REST Method

Description

Collections: collection resource

GET

Returns the collection.

POST

Creates a new item in the collection.

Collections: create form resource

GET

Returns a pre-populated entity.

Collections: child resource

GET

Returns an item in the collection.

POST

Updates an item in the collection.

DELETE

Removes an item from the collection.

Singletons: singleton resource

GET

Returns the singleton.

POST

Updates the singleton if it exists; creates it if it doesn't.

DELETE

Removes the singleton.

Operations: action resource

POST

Invokes the operation.

Standard Request Headers

The following table describes the standard headers that clients should use to send WebLogic Server REST requests.

Request Header

Description

Accept:application/json

Indicates that the client wants the response to contain JSON. This header is appropriate when invoking the GET, POST, and DELETE methods. Any resources that return other data types are specified in the reference manual and examples.

Content-Type:application/json

Indicates that the client is sending in a request containing JSON. This header is appropriate for the POST method. Some methods support other content types (for example, when uploading deployments); the reference manual and examples specify when they are supported.

X-Requested-By:MyClient

Used to protect against Cross-Site Request Forgery (CSRF) attacks via REST. This header is mandatory for the POST and DELETE methods and ignored for the OPTIONS and GET methods.

About the Root Resources

The Administration Server and each running Managed Server hosts a REST web application that runs on each server's administrative port. The context root for each is management. The root REST resources mimic the bean trees in WLST.

Table 2-1 describes the root resources on the Administration Server and lists the corresponding bean tree.

Table 2-1 Administration Server Root Resources

URL

Description

Corresponding Bean Tree

management/weblogic/<version>/edit

Edits the WLS configuration.

Administration Server's edit tree domain bean

management/weblogic/<version>/serverConfig

Views the WLS configuration that the Administration Server is currently running against.

Administration Server's server runtime tree domain bean

management/weblogic/<version>/serverRuntime

Monitors the Administration Server.

Administration Server's server runtime tree server runtime bean

management/weblogic/<version>/domainConfig

Views the last activated WLS configuration.

Administration Server's domain runtime tree domain bean

management/weblogic/<version>/domainRuntime

Monitors the entire WLS domain.

Administration Server's domain runtime tree domain runtime bean

management/weblogic/<version>/domainRuntime/serverRuntimes

Monitors all the running servers in the WLS domain via the Administration Server.

Each running server's server runtime tree server runtime bean

management/weblogic/<version>/domainRuntime/serverRuntimes/<serverName>

Monitors a specific running server in the WLS domain via the Administration Server.

The specified server's server runtime tree server runtime bean

management/lifecycle

Life cycle management (LCM) REST resources.

n/a

management/wls

12.1.3 (legacy) WLS REST resources.

n/a

Table 2-2 describes the root resources on Managed Servers.

Table 2-2 Managed Server Root Resources

URL

Description

Corresponding Bean Tree

management/weblogic/<version>/serverConfig

Views the WLS configuration that a Managed Server is currently running against.

Managed Server's server runtime tree domain bean

management/weblogic/<version>/serverRuntime

Monitors that Managed Server.

Managed Server's server runtime tree server runtime bean

The URLs on Managed Servers are exactly like the ones on the Administration Server, except that the host and port are different.

For example, to view the Administration Server's server runtime:

curl ... -X GET http://adminHost:7001/management/weblogic/latest/serverRuntime

To view a Managed Server's server runtime:

curl ... -X GET http://managed1Host:7002/management/weblogic/latest/serverRuntime

Naming Conventions

WLS bean property names are mapped to names in the REST URLs and JSON object properties. WLS property names usually start with an upper case letter (for example, Domain, JDBCDataSource, ServerRuntime) whereas the REST naming conventions use camel case, lower then upper case letters (for example, domain, JDBCDataSource, serverRuntime).

Mapping the REST URLs

Each WLS bean is mapped to a separate REST resource. Contained collections and operations are also mapped to separate resources. All WLS beans are either root resources (for example, the domain), contained collection children (for example, servers) or contained singleton children (for example, a server's SSL configuration).

The URLs for the root resources are listed in Table 2-1 and Table 2-2.

Each contained collection bean property maps to a URL for the entire collection as well as a URL for each child. For example:

URL

Description

Example

<parent>/<collectionPropertyName>

Manages the entire collection.

.../edit/servers

<parent>/<collectionPropertyName>/<childName>

Manages a child in the collection.

.../edit/servers/Server-0

Similarly, each contained singleton bean property maps to its own URL. For example, a server's SSL bean maps to .../edit/servers/<serverName>/SSL.

If a contained bean property is creatable (for example, you can add a new server to the domain's servers collection, or you can create an RDBMSSecurityStore for the domain), then create form resources are also provided which return a template JSON object with default values to help you create the new resource. The general procedure is that you GET the create form, fill in the values, then POST it back to create the new resource. If any fields are not filled in, they retain their current values. The URLs of the create form resources are <parent>/<singlularCollectionPropertyName>CreateForm, for example:

- .../edit/serverCreateForm

- .../edit/securityConfiguration/realms/myrealm/RDBMSSecurityStoreCreateForm

Each bean operation maps to its own URL. For example, .../domainRuntime/serverRuntimes/<serverName>/shutdown is used to shut down a specific server.

Most of the WLS bean operations are used to create, delete, list, and find contained beans. These operations are handled separately in REST (versus exposed as REST operation URLs). They are described in Using the WLS RESTful Management Interface.

JSON Mappings

REST maps the various Java types that the WLS beans use (for example, their properties, operation arguments and return types) to JSON.

Strings and Scalars

Java strings and scalars are mapped to their JSON equivalent.

Java

JSON

Example (Java to JSON)

java.lang.String

string or null

"Foo" -> "Foo"

null -> null

char, java.lang.Character

string

'a' -> "a"

int

java.lang.Integer

long

java.lang.Long

number

7001 -> 7001

float

java.lang.Float

double

java.lang.Double

number

1.23 -> 1.23

boolean

java.lang.Boolean

boolean

true -> true

Arrays

Non-null Java arrays are mapped to JSON arrays. Null Java arrays are mapped to a JSON null.

Identities

Each WLS bean is uniquely identified within its bean tree by the trailing part of its URL, after the version specifier. For example, edit/machines/Machine-0.

This identity is mapped to a JSON string array, with one string for each path segment past the root resource of the tree, for example:

[ "machines", "Machine-0" ]

WLS Bean References

Some WLS bean properties contain references to other WLS beans (versus a containment relationship). The same is true for operation arguments and return types. For example, a Server bean has a reference to a Machine bean, and a Deployment bean has a reference to an array of Target beans.

Singleton references (for example, a server's machine) map to a property whose value is the identity of the referenced bean, as well as a link, for example:

{
machine: [ "domain", "machines", "Machine-0" ],
links: [
{ rel: "machine", href: "http://localhost:7001/management/latest/weblogic/edit/machines/Machine-0" }
]
}

Collections of references (for example, a server's candidate machines) map to an array property where each element is an object containing the referenced bean's identity as well as a link to the bean, for example:

{
candidateMachines: [
{
identity: [ "machines", "Machine-0" ],
links [ { rel: "canonical", href: "http://localhost:7001/management/weblogic/latest/edit/machines/Machine-0"
},
{
identity: [ "machines", "Machine-1" ],
links [ { rel: "canonical", href: "http://localhost:7001/management/weblogic/latest/edit/machines/Machine-1"
}
]
}

A null reference or null reference collection is mapped to a JSON null.

java.util.Properties

java.util.Properties holds lists of properties, for example, a CommonLogMBean LoggerSeverityProperties property. It is mapped to a JSON object, with a matching string property for each property in the set of properties, for example:

{
"property1": "value1",
"property2": "value2"
}

Null java.util.Properties are mapped to a JSON null.

Encrypted Properties

Some WLS bean string properties are encrypted because they hold sensitive data like passwords. While clients must be able to set passwords (this is done by passing them in as cleartext strings), other users are not allowed to view them but they might want to know whether the password has a value (versus null, is not set).

The mapping is different for inbound versus outbound encrypted properties.

For outbound encrypted properties, if the password is null, it is mapped to a JSON null. If not, then it is mapped to the JSON string @Oracle_Confidential_Property_Set_V1.1#.

For inbound encrypted properties, you would typically perform a GET to get the current value of a resource, set the values for the properties that should be changed, leaving the others with their current values, then POST the new value back. Therefore, if the value in the POST is @Oracle_Confidential_Property_Set_V1.1#, then the property is not changed (it retains the old property value). Otherwise, the value is changed to the cleartext string value in the POST.

Standard REST Responses

WLS REST resources return these standard HTTP response codes.

200 OK

A REST method returns 200 (OK) if the operation succeeds and does not create a new entity, for example, GET a resource, POST to invoke an operation or modify an entity, DELETE to remove an entity.

201 Created

A REST method returns 201 (CREATED) if the operation successfully created a new entity. It also returns a Location header with a link to the new entity.

202 Accepted

A REST method returns 202 (ACCEPTED) if the operation successfully initiated some asynchronous work. It also returns a Location header with a link to a resource that you can poll to find out the status of the job.

400 Bad Request

A REST method returns 400 (BAD REQUEST) if the request failed because something is wrong in the specified request, for example, invalid argument values.

401 Unauthorized

A REST method returns 401 (UNAUTHORIZED) if the user does not have permission to perform the operation. 401 is also returned if the user supplied incorrect credentials (for example, a bad password).

403 Forbidden

A REST method returns 403 (FORBIDDEN) if the user is not in the ADMIN, OPERATOR, DEPLOYER or MONITOR role.

404 Not Found

A REST method returns 404 (NOT FOUND) if the requested URL does not refer to an existing entity.

405 Method Not Allowed

A REST method returns 405 (METHOD NOT ALLOWED) if the resource exists but does not support the HTTP method, for example, if the user tries to create a server by using a resource in the domain configuration tree (only the edit tree allows configuration editing).

406 Not Acceptable

The resource identified by this request is not capable of generating a representation corresponding to one of the media types in the Accept header of the request. For example, the client's Accept header asks for XML but the resource can only return JSON.

500 Internal Server Error

A REST method returns 500 (INTERNAL SERVER ERROR) if an error occurred that is not caused by something wrong in the request. Since the REST layer generally treats exceptions thrown by the MBeans as BAD REQUEST, 500 is generally used for reporting unexpected exceptions that occur in the REST layer. These responses do not include the text of the error or a stack trace, however, generally they are logged in the server log.

503 Service Unavailable

The server is currently unable to handle the request due to temporary overloading or maintenance of the server. The WLS REST web application is not currently running.

Returning Error Messages

Resources use the following formats for returning error messages.

Error Messages with One Error String

If a resource returns one error string, it uses this format:

HTTP/1.1 400 Bad Request
{
type: "http://oracle/TBD/WlsRestMessageSchema",
title: "FAILURE",
detail: "Bean already exists: \"weblogic.management.configuration.ServerMBeanImpl@31fa1656([mydomain]/Servers[Server-1])\"",
status: 400
}

Error Messages with More Than One Error String

If a resource returns more than one error string, it uses this format:

HTTP/1.1 400 Bad Request
{
type: "http://oracle/TBD/WlsRestMessagesSchema",
title: "ERRORS",
status: 400,
wls:errorsDetails: [
{
type: "http://oracle/TBD/WlsRestMessageSchema",
title: "FAILURE",
detail: "no-such-protocol is not a legal value for DefaultProtocol.\
The value must be one of the following: [t3, t3s, http, https, iiop, iiops]",
o:errorPat: "defaultProtocol"
},
{
type: "http://oracle/TBD/WlsRestMessageSchema",
title: "FAILURE",
detail: "Type mismatch. Cannot convert abc to int",
o:errorPath: "listenPort"
}
]
}

3 Using the WLS RESTful Management Interface

Learn how to use the RESTful management services supported by WebLogic Server. For example scripts that show how to use the WLS REST APIs to perform common domain and partition management and monitoring tasks, see Domain Level REST API Examples and Partition Specific REST API Examples.

This chapter includes the following sections:

- Accessing REST Resources

- Viewing WLS Beans

- Viewing Collections of Contains Beans

- Retrieving Create Forms

- Filtering Results

- Modifying the WLS Configuration

- Using Multiple Edit Sessions

- Creating WLS Configuration Beans

- Managing Whether a Property Is Set

- Invoking Operations

- Using Queries

- About Synchronous and Asynchronous Operations

- Deploying Applications and Libraries

Accessing REST Resources

Each REST resource method documents which user roles can access it: Admin, Deployer, Operator, Monitor.

In general:

- You must be in the Admin, Deployer, Operator, or Monitor role to read resources (use the GET method).

- You must be in the Admin role to write resources (use the POST and DELETE methods) or to invoke operations (using POST).

- However, with certain resources, a Deployer can deploy and undeploy applications and libraries, and an Operator can start a server.

If the user is a domain user (for example, defined in the domain's default security realm), the URL to access REST resources starts with http://host:port/management. If the user is a partition user (for example, defined in that partition's security realm), the URL to access REST resources starts with http://host:port/partition_name/management.

For more information about user roles in WebLogic Server Multitenant, see Administrative Roles for Configuration and Management in Using Oracle WebLogic Server Multitenant.

Viewing WLS Beans

To view a WLS bean, invoke the HTTP GET method on its corresponding REST URL.

For example, to get the configuration for the server, Server-0:

GET http://localhost:7001/management/weblogic/latest/edit/servers/Server-0

GET returns a standard WLS REST response body. It returns a JSON object containing the bean's properties and a links property, a JSON array containing links to related resources.

About WLS Bean Properties

The returned JSON object contains the WLS bean's properties (for example, typical properties and references, but not children), using the standard Java to JSON mappings (see JSON Mappings). It also includes an identity property that specifies the bean's identity. For example:

{
identity: [ "domain", "servers", "Server-0" ],
name: 'Server-0',
listenPort: 7001,
machine: { identity: [ "domain", "machines", "Machine-0" ] }
}

Self and Canonical Links

All resources include a self and a canonical top level link that refer to the resource. For example, a server contains self and canonical links that refer to the specified server:

{
links: [
{ rel: "self", href: "http://localhost:7001/management/weblogic/latest/edit/servers/Server-0" }
{ rel: "canonical", href: "http://localhost:7001/management/weblogic/latest/edit/servers/Server-0" }
]
}

The cross-references of these links refer to that REST resource also, therefore, include the name of the tree in which the resource is a child, for example, edit, domainRuntime, serverConfiguration, and such.

Parent Links

All resources, except for root resources, include a top level link to their parent resource. The link's rel property is set to parent.

Collection children return links to the collection resource, for example, a server returns a link to the server's collection resource:

{
links: [
{ rel: "parent", href: "http://localhost:7001/management/weblogic/latest/edit/servers" }
]
}

Similarly, singleton children return links to their parent resource, for example, an SSL bean returns a link to the server bean:

{
links: [
{ rel: "parent", href: "http://localhost:7001/management/weblogic/latest/edit/servers/Server-0" }
]
}

Self Create Form Links

If a bean is a creatable, optional singleton (for example, a realm's RDBMSSecurityStore), and the bean currently does not exist, then a link to its corresponding create form resource is also returned. The link's rel property is set to create. For example, calling GET on a security realm's adjudicator also returns:

{
links: [
{
rel: "create",
href: "http://localhost:7001/management/weblogic/latest/edit/securityConfiguration/realms/myrealm/adjudicatorCreateForm"
}
]
}

Child Bean Links

Since a WLS bean's containment properties (for example, children) are mapped to separate REST resources, they are returned as top level links in the JSON response body.

Each link's rel property is mapped to the bean property's name. For example, calling GET on Server-0 returns:

{
links: [
// mandatory singleton child:
{
rel: "SSL",
href: "http://localhost:7001/management/weblogic/latest/servers/Server-0/SSL"
},
// writable collection of children:
{
rel: "networkAccessPoints",
href: "http://localhost:7001/management/weblogic/latest/edit/servers/Server-0/networkAccessPoints"
}
]
}

Child Create Form Links

Links to create form resources are returned for creatable containment properties (singletons and collections). The link's rel property is set to <singularPropertyName>CreateForm. For example, calling GET on Server-0 also returns:

{
links: [
{
rel: "networkAccessPointCreateForm",
href: "http://localhost:7001/management/weblogic/latest/edit/servers/Server-0/networkAccessPointCreateForm"
}
]
}

Singleton Bean Reference Links

WLS beans return top level links for each non-null singleton reference. The link's rel property is set to the name of the reference property. For example, if Server-0 refers to Machine-0:

{
machine: [ "machines", "Machine-0" ],
links: [
{ rel: "machine", href: "http://localhost:7001/management/weblogic/latest/edit/machines/Machine-0" }
]
}

If Server-0 has no machine reference:

{
machine: null
}

Bean Reference Collection Links

WLS beans return nested links for each reference in a reference collection. The link's rel property is set to self.

For example, if Application-0 refers to the targets Server-0 and Cluster-0:

{
targets: [
{
identity: ["clusters", "Cluster-0" ],
links: [ { rel: "self", href: "http://localhost:7001/management/weblogic/latest/edit/clusters/Cluster-0" } ]
},
{
identity: ["servers", "Server-0" ],
links: [ { rel: "self", href: "http://localhost:7001/management/weblogic/latest/edit/servers/Server-0" } ]
}
}

Operation Links

Resources also return top level links to their operation resources. The links' rel properties are set to action and the links' titles are set to the name of the operation. For example, a ServerRuntimeMBean returns:

{
links: [
{
rel: "action",
title: "suspend",
href: "http://localhost:7001/management/weblogic/latest/domainRuntime/serverRuntimes/Server-0/suspend"
},
{
rel: "action",
title: "resume",
href: "http://localhost:7001/management/weblogic/latest/domainRuntime/serverRuntimes/Server-0/resume"
},
{
rel: "action",
title: "shutdown",
href: "http://localhost:7001/management/weblogic/latest/domainRuntime/serverRuntimes/Server-0/shutdown"
}
]
}

Viewing Collections of Contains Beans

To view a collection of WLS beans, invoke the HTTP GET method on its corresponding REST URL.

For example, to get the configuration of all the servers:

GET http://localhost:7001/management/weblogic/latest/edit/servers

GET returns a standard WLS REST response body. items contains the children's properties. Each item has embedded self and canonical links to that child's resource.

Only the immediate children are returned. For example, if you get the servers collection, each server's properties will be returned, but the server's children (such as SSL) are not returned.

About Collection items

The resource returns a JSON object for each child in the collection. These objects contain the same data as the items returned from calling GET on the children's resources. For example, getting the domain bean's servers collection returns:

{
items: [
{ name: "Server-1", listenPort: 7001, ... },
{ name: "Server-2", listenPort: 7003, ... }
]
}

About Collection Links

A collection resource returns the following links:

- self and canonical links to itself.

- A link to its parent.

- A link to its corresponding create form resource if the collection is writable.

- Nested self and canonical links to each of its children.

For example, getting the domain bean's servers collection returns:

{
items: [
{
name: "Server-1",
listenPort: 7001,
links: [
{ rel: "self", href: "http://localhost:7001/management/weblogic/latest/edit/servers/Server-1" }
{ rel: "canonical", href: "http://localhost:7001/management/weblogic/latest/edit/servers/Server-1" }
]
},
{
name: "Server-2",
listenPort: 7005,
links: [
{ rel: "self", href: "http://localhost:7001/management/weblogic/latest/edit/servers/Server-1" }
{ rel: "canonical", href: "http://localhost:7001/management/weblogic/latest/edit/servers/Server-1" }
]
}
]
links: [
{ rel: "self", href: "http://localhost:7001/management/weblogic/latest/edit/servers" }
{ rel: "canonical", href: "http://localhost:7001/management/weblogic/latest/edit/servers" }
{ rel: "parent", href: "http://localhost:7001/management/weblogic/latest/edit" }
{ rel: "create-form", href: "http://localhost:7001/management/weblogic/latest/edit/serverCreateForm" }
]
}

Retrieving Create Forms

To retrieve a create form for creating a new resource, invoke the HTTP GET method on its corresponding create form REST URL.

For example, to retrieve a create form for creating a new server:

GET http://localhost:7001/management/weblogic/latest/edit/serverCreateForm

GET returns a standard WLS REST response body. It returns a JSON object containing the create form's properties and a links property which is a JSON array containing links to related resources.

About Create Form Properties

The returned JSON object contains a property for each writable property (normal properties and references) that may be specified when creating a new resource of that type. The property's value will either be the default value from the type's bean info (if available), or the default value for the property's type (for example, 0 for an int). The values for reference properties are always null. For example, getting the domain's serverCreateForm returns:

{
name: null, // identity - unique names are not generated
idleConnectionTimeout: 65, // from the default value in the bean info
replicationGroup: null, // default value for a String since the bean info does not provide a default value
machine: null, // singleton reference
candidateMachines: null, // reference collection
...
}

About Create Form Links

A create form returns the following links:

- self and canonical links to itself.

- A link to its parent.

- A create link to the corresponding resource that can be used to create a resource of this type.

For example, getting the domain bean's serverCreateForm returns:

{
links: [
{ rel: "parent", href: "http://localhost:7001/management/weblogic/latest/edit" },
{ rel: "self", href: "http://localhost:7001/management/weblogic/latest/edit/serverCreateForm" },
{ rel: "canonical", href: "http://localhost:7001/management/weblogic/latest/edit/serverCreateForm" },
{ rel: "create", href: "http://localhost:7001/management/weblogic/latest/edit/servers" }
]
}

Filtering Results

Bean, collection, and create form resource GET methods support these query parameters to let you omit properties and links from the response.

Parameter Name

Description

fields

Only return these properties.

excludeFields

Return all properties except for these properties.

links

Only return links with these rel names.

excludeLinks

Return all links except for the ones with these rel names.

fields and excludeFields are mutually exclusive, as are links and excludeLinks. All the values are comma-separated lists of names.

For example, to only retrieve a server's self and parent links, and name and listenPort properties:

curl ... -X GET http://localhost:7001/management/weblogic/latest/edit/servers/myserver\
?fields=name,listenPort\&links=self,parent
{
links: [
{ rel: "parent", href: "http://localhost:7001/management/weblogic/latest/edit/servers" },
{ rel: "self", href: "http://localhost:7001/management/weblogic/latest/edit/servers/myserver" }
],
name: "myserver",
listenPort: 7001
}

Modifying the WLS Configuration

You can create, modify and delete beans in the edit tree only (.../management/weblogic/<version>/edit/...). The other bean trees are read-only.

All WLS bean edits must be performed within a configuration transaction:

- If you already have started a transaction, the REST changes will be made in the same transaction. You will still be responsible for committing or rolling back the transaction.

- If you have not started a transaction, the REST resource will begin a transaction on your behalf, try to make the changes, and either commit or roll back the transaction depending on whether the changes could be made (auto-transactions).

- If someone else already has started a transaction, the REST resource will return an error (instead of modifying the configuration).

Sometimes a configuration transaction cannot be committed unless complementary changes to multiple beans are made in the same transaction. In these cases, you need to begin and end the transaction explicitly versus relying on auto-transactions.

Also, when the client manages the transaction, each REST call saves the changes (but does not activate them). There is some MBean validation that occurs during the save operation which might cause it to fail. For example, when you create a JDBC system resource, the changes cannot be saved until after its child JDBC resource name is set. For cases like this, use the saveChanges=false query parameter.

See the changeManager resources in RESTful Edit Reference for Oracle WebLogic Server.

Modifying WLS Configuration Beans

To modify a WLS bean, construct a JSON object containing the values you want to change then invoke the HTTP POST method on its corresponding REST URL, passing in that JSON object as the request body.

For example, to change a server's listen port and administration port:

curl ... -d "{
listenPort: 7007,
administrationPort: 9007
}" -X POST http://localhost:7001/management/weblogic/latest/edit/servers/Server-0

This is similar to an HTTP PATCH operation where you only modify part of the bean, versus needing to pass in all of the bean's properties every time.

About the JSON Object Request Body

You construct a JSON object containing the values you want to change. Some WLS bean properties are read-only (for example, a server's name). Read-only properties are ignored.

You don't have to pass in all of the bean's properties. Any properties not passed in will retain their current values. As was described in Encrypted Properties, GET returns the value @Oracle_Confidential_Property_Set_V1.1# for an encrypted string property that has a non-null value. If you POST back this value, then the property will retain its current value. If you want to change the encrypted property's value, then set the value to the cleartext string that you want it to be, for example:

{ defaultIIOPPassword: "admin123" }

To change a reference, pass in its identity. The same is true for reference collections. This replaces the reference collection versus adding references to the collection. For example, to set a server's machine to Machine-0 and candidate Machines to Machine-0 and Machine-1:

{
machine: [ 'machines', 'Machine-0' ] },
candidateMachines: [
{ identity: [ 'machines', 'Machine-0' ] },
{ identity: [ 'machines', 'Machine-1' ] }
]
}

Also, use null to remove references. For example, to remove a server's machine and candidate machines' references:

{
machine: null,
candidateMachines: null
}

If you pass in a mixture of valid and invalid values, the valid ones are written and errors are returned for the invalid ones, and overall, the REST method returns an OK status code. For example:

curl ... -d "{
listenPort: 7007,
administrationPort: 'foo'
}" -X POST http://localhost:7001/management/weblogic/latest/edit/servers/Server-0
HTTP/1.1 200 OK
{
messages: [
{
severity: "FAILURE",
field: "administrationPort",
message: "Something about the value needs to be an integer"
}
]
}

In this example, the listen port is modified and the administration port is not. The method returned an OK status code.

Using Multiple Edit Sessions

In a previous release, WLS introduced multiple edit sessions. These edit sessions are scoped. There is one scope for domain level edit sessions and one per partition. Each scope has a default edit session. Edit session names are unique within a scope, but not across scopes.

For more information about edit sessions, see Managing Named Concurrent Edit Sessions in Using Oracle WebLogic Server Multitenant.

For all the REST resources in the edit tree, you must specify which edit session to use—the name of the scope and the name of the edit session within that scope.

The edit session scope name is derived from the URL. If you use a non-partitioned REST URL, then REST uses the domain level scope. If you use a partitioned REST URL, then REST uses that partition's scope.

Within that scope, REST must know which edit session to use. You can either specify a header which states exactly which edit session to use, or you can let REST use defaulting rules to pick one.

Client Specified Edit Session

You can select the edit session by including a weblogic.edit.session header in the request. The header's value is used as the edit session name. For example:

curl ... -H weblogic.edit.session=MySession ...

Each edit session scope has a default edit session named default. To explicitly select the scope's default edit session:

curl ... -H weblogic.edit.session=default ...

The Default Edit Session

If you did not include the weblogic.edit.session header, the REST resources use the following rules to select an edit session:

- If you currently have one edit session locked in the scope, REST will use it.

- Or, if you have created one edit session in the scope, REST will use it.

- Otherwise, REST will use the scope's default edit session.

Creating WLS Configuration Beans

You create a new WLS configuration bean by calling POST with a JSON structure containing the new bean's properties.

To make this easier, you can use the corresponding create form resource to retrieve a template JSON structure that is populated with default values for the various writeable properties.

URLs For Creating WLS Configuration Beans

To create a collection child, call POST on the collection's URL, for example, http://localhost:7001/management/weblogic/latest/edit/servers.

To create an optional singleton child, call POST on the proposed child's URL, for example, http://localhost:7001/management/weblogic/latest/edit/securityConfiguration/realms/myRealm/adjudicator.

To retrieve a create form, call GET on the corresponding create form resource, for example:

http://localhost:7001/management/weblogic/latest/edit/serverCreateForm

And

http://localhost:7001/management/weblogic/latest/edit/securityConfiguration/realms/myRealm/adjudicatorCreateForm

Getting a JSON Template

The underlying WLS beans have default values for many properties. You typically want to display these default values and perhaps, customize them, then use them to create a new WLS bean. You can get these default values by calling GET on the corresponding create form resource. For example:

curl ... -X GET http://localhost:7001/management/weblogic/latest/edit/serverCreateForm
HTTP/1.1 200 OK
{
listenPort: 7001,
...
}
}

Creating the Bean

To create the WLS configuration bean, call POST on a JSON object containing the new bean's properties.

The JSON object does not need to include all the possible properties. Unspecified properties are set to their default values. All collection children need to be assigned a unique identity within their collection, for example, a server needs a unique name. Therefore, the identity property is not optional.

The response contains a location header containing the resource's URL. For example:

curl ... -d "{
name: "Server-1",
defaultProtocol: "t3s"
}" -X POST http://localhost:7001/management/weblogic/latest/edit/servers
HTTP/1.1 201 Created
Location: http://localhost:7001/management/weblogic/latest/edit/servers/Server-1
curl -X GET http://localhost:7001/management/weblogic/latest/edit/servers/id/Server-1
HTTP/1.1 200 OK
{
item: {
identity: [ "domain", "servers", "Server-1" ],
name: "Server-1",
defaultProtocol: "t3s", // specified by the caller
listenAddress: 7001     // not specified by the caller, therefore set to its default value
}
}

If a bean with that name already exists, the resource returns a BAD_REQUEST status code along with a failure message. For example:

curl ... -d "{
name: "Server-1"
}" -X POST http://localhost:7001/management/weblogic/latest/edit/servers
HTTP/1.1 400 Bad Request
{
type: "http://oracle/TBD/WlsRestMessageSchema",
title: "FAILURE",
detail: "Bean already exists: \"weblogic.management.configuration.ServerMBeanImpl@31fa1656([mydomain]/Servers[Server-1])\"",
status: 400
}

Similar to updating a WLS configuration bean, you can pass in a mixture of valid and invalid values. Read-only properties and properties that the bean does not support are ignored. If there is an exception setting a property, the resource adds a failure message to the response. After processing all of the properties, if there were any errors, the resource attempts to delete the new bean and returns a BAD_REQUEST status code.

Example 3-1 Mixture of valid and invalid properties

curl ... -d "{
name: "Server-1",
listenPort: abc,
defaultProtocol: "no-such-protocol",
adminstrationProtocol: "iiop"
}" -X POST http://localhost:7001/management/weblogic/latest/edit/servers
HTTP/1.1 400 Bad Request
{
type: "http://oracle/TBD/WlsRestMessagesSchema",
title: "ERRORS",
status: 400,
wls:errorsDetails: [
{
type: "http://oracle/TBD/WlsRestMessageSchema",
title: "FAILURE",
detail: "no-such-protocol is not a legal value for DefaultProtocol.\
The value must be one of the following: [t3, t3s, http, https, iiop, iiops]",
o:errorPat: "defaultProtocol"
},
{
type: "http://oracle/TBD/WlsRestMessageSchema",
title: "FAILURE",
detail: "Type mismatch. Cannot convert abc to int",
o:errorPath: "listenPort"
}
]
}

Example 3-2 All valid properties

curl ... -d "{
name: "Server-1",
listenPort: 7003,
defaultProtocol: "https",
adminstrationProtocol: "iiop"
}" -X POST http://localhost:7001/management/weblogic/latest/edit/servers
HTTP/1.1 201 Created
Location: http://localhost:7001/management/weblogic/latest/edit/servers/Server-1

Deleting WLS Configuration Beans

To delete a WLS bean (both collection children and optional singleton children), invoke the HTTP DELETE operation on its corresponding REST URL. Any references to that bean will be removed also. For example, to delete a server:

curl ... -X DELETE http://localhost:7001/management/weblogic/latest/edit/servers/Server-0

Managing Whether a Property Is Set

An MBean property can either be set or unset. If it is set, its value is persisted (for example, to config.xml) and locked in. If it is unset, then a default value is used. The value can either be the default value for the property's type, a hard coded default value, or a computed default value that runs some custom Java code.

By default, when you call GET on a resource, it returns the property's current value. When you set the value of a String property to null or an empty string, it unsets the property (returns it to its default value).

REST lets you determine whether a property has been set, and explicitly set or unset a property.

If you set the expandedValues query parameter to true when getting a resource, each value is returned as a JSON object with a set Boolean property and a value property that holds the current value. For example, getting a server returns:

curl ... -X GET \
http://localhost:7001/management/weblogic/latest/edit/servers/myserver?&expandedValues=true
{
listenPortEnabled: { set: false, value: true }, // currently not set
name: { set: true, value: "myserver" }, // currently set
listenPort: { set: true, value: 7003 } // currently set
}

Similarly, you can use the expandedValues query parameter to explicitly set or unset values. For example, to unset the listen port and set the listen address to an empty string:

curl ... -d "{
listenPort: { set: false }, // value will be ignored if specified
listenAddress: { set: true, value: "" }
}" -X POST http://localhost:7001/management/weblogic/latest/edit/servers/myserver?expandedValues=true

Invoking Operations

Each WLS bean operation maps to its own REST URL. In the case of overloaded operations (for example, shutdown() versus shutdown(int, boolean)), all the overloaded operations map to the same URL and the resource looks at the incoming arguments to determine which operation to invoke.

If the operation requires input arguments, they are specified by passing in a JSON object request body with a property for each argument. The name of the property matches the name of the argument.

If the operation does not take input arguments, you must pass in a JSON object with no properties.

Similarly, if the operation returns a value, then it is returned in a standard REST response body's JSON object return property. If the operation is void, the response body does not include an return property.

If the underlying MBean operation throws an exception, the REST method returns a BAD REQUEST (404) response containing the exception's text.

Example 3-3 void operation with no arguments : void shutdown()

curl ... -d "{}" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/serverRuntimes/Server-0/shutdown
{
// response does not include a 'return' property since it's a void operation
}

Example 3-4 void operation with multiple arguments : void shutdown(int timeout, boolean ignoreSessions)

curl ... -d "{ timeout: 500, ignoreSessions: false }" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/serverRuntimes/Server-0/shutdown
{
// response does not include a 'return' property since it's a void operation
}

Example 3-5 non-void operation with an argument: String getURL(String protocol)

curl ... -d "{ protocol: 'http' }" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/serverRuntimes/Server-0/getURL
{
return: "http://localhost:7003"
}

Using Queries

The REST API includes a powerful bulk access capability that lets you dynamically describe a tree of beans that can be returned in one call.

Each tree (for example, edit, domain runtime, and such), has a root search resource. You can POST a query to these search resources. The query indicates which beans (and properties and links) should be returned, and, as such, returns a portion ("slice") of the bean tree.

Bulk access can only be used for reading; it cannot be used for writing.

Search Resources

Each bean tree includes a search resource for bulk queries.

On the Administration Server:

URL

Description

.../management/weblogic/latest/edit/search

Returns a slice of the edit bean tree (in progress edits that have not been saved to disk yet).

.../management/weblogic/latest/domainConfig/search

Returns a slice of the last configuration bean tree that was saved to disk (versus the configuration the servers are currently using).

.../management/weblogic/latest/domainRuntime/search

Returns a slice of the Administration Server's domain runtime bean tree (which covers all the servers' runtime bean trees).

.../management/weblogic/latest/serverConfig/search

Returns a slice of the Administration Server's configuration bean tree (the configuration the Administration Server is running against).

.../management/weblogic/latest/serverRuntime/search

Returns a slice of the Administration Server's runtime bean tree.

On Managed Servers:

URL

Description

.../management/weblogic/latest/serverConfig/search

Returns a slice of Managed Server's configuration bean tree (the configuration the server is running against).

.../management/weblogic/latest/serverRuntime/search

Returns a slice of the Managed Server's runtime bean tree.

When you POST a query to a search resource, the query starts searching at the root bean of the tree. The resource returns a JSON response containing the results of the query, that "slice" of the bean tree.

Object Queries

An object query describes what data should be returned for a WLS bean (or collection of beans), such as:

- Which of the bean's properties should be returned.

- Which of the bean's links should be returned.

- Which of the bean's children should be returned.

- For a collection, which of its children should be returned.

Note that all searches start at the root bean of the search resource's tree. For example, if you POST a query to management/weblogic/latest/domainRuntime/search, it starts searching at the DomainRuntimeMBean in the domain runtime tree.

Fields and ExcludeFields

fields specifies which bean properties (for example, scalars and references) are returned. It is a JSON string array of property names. For example, to return the domain's name and configurationVersion:

curl ... -d "{ fields: [ 'name', 'configurationVersion' ] }" \
-X POST http://localhost:7001/management/weblogic/latest/edit/search

If the query lists properties that the bean does not support, then that part of the query is ignored (instead of returning an error). If fields is not specified, then all of the properties are returned.

excludeFields specifies a list of fields that should not be returned; all other properties are returned. fields and excludeFields are mutually exclusive.

Note that a query's fields and excludeFields properties mirror the fields and excludeFields query parameters that you can specify when calling GET on a resource. The difference is that the query parameters use comma-separated names and queries use JSON arrays of names.

Links and ExcludeLinks

links specifies which of the bean's links should be returned. It is a JSON string array of link rel names. For example, to return the domain's self and servers links:

curl ... -d "{ links: [ 'self', 'servers' ] }" \
-X POST http://localhost:7001/management/weblogic/latest/edit/search

If the query lists links that the bean does not support, then that part of the query is ignored (instead of returning an error).

If links is not specified, then all the links are returned (except for collection children, which only return their self and canonical links by default).

Similarly, excludeLinks specifies a list of links that should not be returned; all other links are returned. links and excludeLinks are mutually exclusive.

To return all of a collection's children's links, use excludeLinks: [].

Note that a query's links and excludeLinks properties mirror the links and excludeLinks query parameters that you can specify when calling GET on a resource.

Children

children specifies which child bean properties are returned. It is a JSON object whose property names are the names of the children to return, and whose values are object queries. For example, to get the domain's name, along with the name and listen port of each server:

curl ... -d "{
fields: [ 'name' ], // only return the domain's name
children: {
servers: { // fetch the domain's 'servers' collection
fields: [ 'name', 'listenPort' ] // only return each server's name and listen port
}
}
}" -X POST http://localhost:7001/management/weblogic/latest/edit/search

If children is not specified, then none of the bean's children are returned.

Identities

Sometimes you want to only return certain items in a collection (for example, myserver and Server-0). Each collection child has a property that specifies its identity. Typically this is the name property. The query uses this property name to specify which children of a collection are returned. It is a JSON string array of identities. fields and links can also be used to control which properties and links are returned for each of these children. For example, to return the name and listen port for the servers, Server-0 and Server-1:

curl ... -d "{
fields: [ 'name' ], // only return the domain's name
children: {
servers: { // fetch the domain's 'servers' collection
names: [ 'Server-0', 'Server-1' ], // only return the children whose 'name' is 'Server-0' or 'Server-1'
fields: [ 'name', 'listenPort' ] // only return each server's name and listen port
}
}
}" -X POST http://localhost:7001/management/weblogic/latest/edit/search

Identities that do not exist are ignored (instead of returning an error). Similarly, if the context is not a collection, then this part of the query is ignored. By default, all collection children are returned.

Response Body

The response body follows the usual pattern (inline properties or items, depending on whether the URL is for a bean or a collection). The child beans are returned as nested properties. For example:

curl ... -d "{
fields: [], // don't return any domain level properties
links: [], // don't return any domain level links
children: {
servers: { // fetch the domain's 'servers' collection
names: [ 'Server-0', 'Server-1' ], // only return the children whose 'name' is 'Server-0' or 'Server-1'
fields: [ 'name' ], // only return each server's name
links: [], // don't return any per-server links
children: {
SSL: {
fields: [ 'listenPort' ], // only return each server's SSL listen port
links: [] // don't return any SSL level links
}
}
}
}
}" -X POST http://localhost:7001/management/weblogic/latest/edit/search
{code:JavaScript}
HTTP/1.1 200 OK
{
servers: {
items: [
{
name: "myserver",
SSL: { listenPort: 7002}
},
{
name: "AnotherServer",
SSL: { listenPort: 7002}
}
]
}
}

Query Examples

This example gets the component runtimes of specific applications on all running servers. It only returns the name for the server runtimes and application runtime parents and returns all of the component runtimes' properties.

curl ... -d "{
fields: [], links: [], // don't return any domain runtime level properties or links
children: {
serverRuntimes: {
fields: [ 'name' ], links: [], // return each server's name.  don't return any server level links
children: {
applicationRuntimes: {
name: [ 'myapp', 'BasicApp' ], // only return apps 'myapp' and 'BasicApp'
fields: [ 'name' ], links: [], // return each app's name but no per-app links
children: {
componentRuntimes: { links: [] } // return all component runtime properties, but no links
}
}
}
}
}
}" -X POST http://localhost:7001/management/weblogic/latest/domainRuntime/search

This example gets all of the servlet runtime and EJB runtime information for a set of applications across all running servers.

curl ... -d "{
links: [],
fields: [],
children: {
serverRuntimes: {
links: [],
fields: [ 'name', 'state' ],
children: {
applicationRuntimes: {
name: [ 'myapp', 'BasicApp' ],
links: [],
fields: [ 'name', 'healthState' ],
children: {
componentRuntimes: {
links: [],
fields:[
'name',
'healthState',
'contextRoot',
'openSessionsCurrentCount',
'sessionsOpenedTotalCount'
],
children: {
EJBRuntimes: {
links: [],
fields: [
'EJBName',
'type'
],
children: {
transactionRuntime: {
links: [],
fields: [
'transactionsCommittedTotalCount',
'transactionsRolledBackTotalCount',
'transactionsTimedOutTotalCount'
]
},
poolRuntime: {
links: [],
fields: [
'accessTotalCount',
'missTotalCount',
'destroyedTotalCount',
'pooledBeansCurrentCount',
'beansInUseCurrentCount',
'waiterCurrentCount',
'timeoutTotalCount'
]
},
cacheRuntime: {
links: [],
fields: [
'cachedBeansCurrentCount',
'cacheAccessCount',
'cacheMissCount',
'activationCount',
'passivationCount'
]
},
lockingRuntime: {
links: [],
fields: [
'lockEntriesCurrentCount',
'lockManagerAccessCount',
'waiterTotalCount',
'waiterCurrentCount',
'timeoutTotalCount'
]
},
timerRuntime: {
links: [],
fields: [
'timeoutCount',
'cancelledTimerCount',
'activeTimerCount',
'disabledTimerCount'
]
}
}
},
servlets: {
links: [],
fields: [
'servletName',
'contextPath',
'reloadTotalCount',
'invocationTotalCount',
'executionTimeTotal',
'executionTimeHigh',
'executionTimeLow'
]
}
}
}
}
}
}
}
}
}" -X POST http://localhost:7001/management/weblogic/latest/domainRuntime/search

Limiting the Wait Time For a Delegated Request

When you make a GET request or a search POST call in the domainRuntime tree that gets delegated to one or more servers, you can specify the requestMaxWaitMillis query parameter which sets the maximum amount of time you are willing to wait for a response from each server. If not specified, it uses the RestfulManagementServicesMBean's DelegatedRequestMaxWaitMillis value that the administrator configured for the domain.

For servers that do not respond fast enough, the response body includes bad per-server HTTP status codes.

Examine the following examples:

# GET all the server runtimes' names, give up on a server if it doesn't respond within 10 milliseconds:
curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-X GET http://127.0.0.1:7001/management/weblogic/latest/domainRuntime/serverRuntimes?links=none\&fields=name\&requestMaxWaitMillis=10

< HTTP/1.1 200 OK
{"items": [
{
"httpStatus": 504,
"name": "Cluster1Server1",
"identity": []
},
{"name": "AdminServer"},
{
"httpStatus": 504,
"name": "Cluster1Server2",
"identity": []
}
]}

# GET all the server runtimes' application's names, give up on a server if it doesn't respond within 50 milliseconds:
curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-X POST http://127.0.0.1:7001/management/weblogic/latest/domainRuntime/search?requestMaxWaitMillis=50 \ -d "{
links: [], fields: ['name'],
children: {
serverRuntimes: {
links: [], fields: ['name'],
children: {
applicationRuntimes: { links: [], fields: ['name'] }
}
}
}
}"

< HTTP/1.1 200 OK
{
"name": "bean-ex",
"serverRuntimes": {"items": [
{
"httpStatus": 504,
"name": "Cluster1Server1",
"identity": []
},
{
"name": "AdminServer",
"applicationRuntimes": {"items": [
{"name": "bea_wls_management_internal2"},
{"name": "jms-internal-xa-adp"},
{"name": "mejb"},
{"name": "jms-internal-notran-adp"},
{"name": "bea_wls_internal"},
{"name": "wls-management-services"},
{"name": "bea_wls_deployment_internal"}
]}
},
{
"httpStatus": 504,
"name": "Cluster1Server2",
"identity": []
}
]}
}

Consolidating Search Results

You can consolidate the domainRuntime search results of REST resources that span multiple servers in a domain based on criteria you specify, for example, you can retrieve the maximum openSocketsCurrentCount of all the running servers.

Like any search, you use the request body to specify a slice of the bean tree to return. To enable this feature, you specify additional fields to indicate that the results should be consolidated across the servers and how each property should be consolidated.

Review the syntax for the following consolidated search examples:

----------------------------------------------------------------------
Get the total number of open sessions across each application's component runtimes across all servers
----------------------------------------------------------------------

curl -v \
--user monitor:monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
mergeCollection: true,
children: {
applicationRuntimes: {
mergeOn: 'name',
fields: [ { name: 'name', sameValue: true } ],
children: {
componentRuntimes: {
mergeCollection: true,
fields: [ { name: 'openSessionsCurrentCount', total: true } ]
}
}
}
}
}
}
}" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/search

HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [{"applicationRuntimes": {"items": [
{
"name": "JDBCDataSource1",
"componentRuntimes": {"items": [{}]}
},
{
"name": "bea_wls_deployment_internal",
"componentRuntimes": {"items": [{"openSessionsCurrentCount": {
"total": 0,
"count": 3
}}]}
},
{
"name": "wls-management-services",
"componentRuntimes": {"items": [{"openSessionsCurrentCount": {
"total": 202,
"count": 3
}}]}
},
{
"name": "bea_wls_cluster_internal",
"componentRuntimes": {"items": [{"openSessionsCurrentCount": {
"total": 0,
"count": 2
}}]}
},
{
"name": "jms-internal-xa-adp",
"componentRuntimes": {"items": [{}]}
},
{
"name": "fairShare",
"componentRuntimes": {"items": [{"openSessionsCurrentCount": {
"total": 0,
"count": 2
}}]}
},
{
"name": "bea_wls_internal",
"componentRuntimes": {"items": [{"openSessionsCurrentCount": {
"total": 0,
"count": 3
}}]}
},
{
"name": "JMSSystemResource1",
"componentRuntimes": {"items": [{}]}
},
{
"name": "basicapp",
"componentRuntimes": {"items": [{"openSessionsCurrentCount": {
"total": 0,
"count": 2
}}]}
},
{
"name": "jms-internal-notran-adp",
"componentRuntimes": {"items": [{}]}
},
{
"name": "bea_wls_management_internal2",
"componentRuntimes": {"items": [{"openSessionsCurrentCount": {
"total": 0,
"count": 1
}}]}
},
{
"name": "mejb",
"componentRuntimes": {"items": [{}]}
}
]}}]}}

----------------------------------------------------------------------
Get the total number of invocations of the servlets of each component runtime of the fairShare and wls-management-services applications across all servers
----------------------------------------------------------------------

curl -v \
--user monitor:monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
mergeCollection: true,
children: {
applicationRuntimes: {
name: [ 'fairShare', 'wls-management-services' ],
mergeOn: 'name',
fields: [ { name: 'name', sameValue: true } ],
children: {
componentRuntimes: {
mergeOn: 'moduleId',
fields: [ { name: 'contextRoot', sameValue: true } ],
children: {
servlets: {
mergeCollection: true,
fields: [ { name: 'invocationTotalCount', total: true } ]
}
}
}
}
}
}
}
}
}" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/search

HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [{"applicationRuntimes": {"items": [
{
"name": "fairShare",
"componentRuntimes": {"items": [{
"contextRoot": "\/fairShare",
"servlets": {"items": [{"invocationTotalCount": {
"total": 0,
"count": 8
}}]}
}]}
},
{
"name": "wls-management-services",
"componentRuntimes": {"items": [{
"contextRoot": "\/management",
"servlets": {"items": [{"invocationTotalCount": {
"total": 202,
"count": 9
}}]}
}]}
}
]}}]}}

The first example, "Get the total number of open sessions across each application's component runtimes across all servers,” keeps each application separate (based on the application's name), merging each application's components together across all the servers.

This is achieved by specifying:

serverRuntimes - mergeCollection: true
applicationRuntimes - mergeOn: 'name'
componentRuntimes - mergeCollection: true

For example, if the bean tree has:

server1
app1 : comp1, comp2
app2 : comp3, comp4
app3 : comp5, comp6

server2
app1 : comp1, comp2
app2 : comp3, comp4
app3 : comp5, comp6

The response will return:

app1
comp
merged values from server1.app1.comp1, server1.app1.comp2, server2.app1.comp1, server2.app1.comp2

app2
comp
merged values from server1.app2.comp3, server1.app2.comp4, server2.app2.comp3, server2.app2.comp4

app3
comp
merged values from server1.app3.comp5, server1.app3.comp6, server2.app3.comp5, server2.app3.comp6

The second example, "Get the total number of invocations of the servlets of each component runtime of the fairShare and wls-management-services applications across all servers," keeps each application separate (based on the application's name), and keeps each application's components separate (based on the component's moduleId), merging each application's component's servlets together across all the servers. It also specifies to return results only for app1 and app2 (versus all the applications).

This is achieved by specifying:

serverRuntimes - mergeCollection: true
applicationRuntimes - mergeOn: 'name', name: [ 'app1', 'app2' ]
componentRuntimes - mergeOn: 'moduleId'
servlets - mergeCollection: true

For example, if the bean tree has:

server1
app1
comp1 : servlet1, servlet2
comp2 : servlet3, servlet4
app2
comp3 : servlet5, servlet6
comp4 : servlet7, servlet8
app3
comp5 : servlet9, servlet10
comp6 : servlet11, servlet12

server2
app1
comp1 : servlet1, servlet2
comp2 : servlet3, servlet4
app2
comp3 : servlet5, servlet6
comp4 : servlet7, servlet8
app3
comp5 : servlet9, servlet10
comp6 : servlet11, servlet12

The response will return (notice that app3 isn't returned):

app1
comp1
merged values from server1.app1.comp1.servlet1, server1.app1.comp1.servlet2, server2.app1.comp1.servlet1, server2.app1.comp1.servlet2
comp2
merged values from server1.app1.comp2.servlet3, server1.app1.comp2.servlet4, server2.app1.comp2.servlet3, server2.app1.comp2.servlet4
app2
comp3
merged values from server1.app2.comp3.servlet5, server1.app2.comp3.servlet6, server2.app2.comp3.servlet5, server2.app2.comp3.servlet6
comp4
merged values from server1.app2.comp4.servlet7, server1.app2.comp4.servlet8, server2.app2.comp4.servlet7, server2.app2.copm4.servlet8

For more examples of consolidating search results in domains and partitions, see Domain Level REST API Examples and Partition Specific REST API Examples.

Request Body Merge-Related Fields

The following table describes the request body merge-related search fields. If none are specified, then the search results will not be consolidated.

Field

Description

mergeCollection

Indicates that a collection of MBeans (and their trees of sub-MBeans) should be merged together into a single consolidated MBean tree (and tree of sub-MBeans).  Its value is a Boolean.

mergeOn

Indicates when child MBeans in a merged collection should be merged together (for example, that app1 in server1 should be merged with app1 in server2). Its value is a string, naming a property.

mergeOn must be specified for all child collections of a merged collection (unless mergeCollection: true is specified for the child collection instead). Similarly, it must not be specified on collections that are is not parented by a merged collection. Returns BAD REQUEST if either condition is violated.

fields

Specifies which properties of an MBean should be returned. fields contains a list of per-property merge rules. If not specified, no properties are returned. Each entry in the list of fields is a JSON object containing the name of the property and its merge rules. For example:

fields: [ { name: 'openSessionCurrentCount', total: true, min:true, max:true }, { name: 'type', sameValue: true } ]

Multiple merge rules can be specified for the same property (for example, return the min, max, and total). Returns BAD REQUEST if no merge rules are specified for a property. See the Per-Property Merge Rules table below.

excludeFields

Specifies which properties should not be returned when doing a non-consolidated search (for example, a list of what not to return instead of what to return). It is not supported when doing consolidated searches. Returns BAD REQUEST if present.

links

links and excludeLinks specify which links to related REST resources are returned when doing a non-consolidated search.  They are not supported when doing a consolidated search. Returns BAD REQUEST if either is present.

Per-Property Merge Rules

The following table describes the per-property merge rules.

Field

Description

name

Contains the name of the property to merge. It is a mandatory string field. Returns BAD REQUEST if it is not specified.

total

min

max

The total field indicates that the sum and number of the property values should be returned. Similarly, the min and max fields indicate that the minimum or maximum property value should be returned. These are optional Boolean fields which default to false.

Returns BAD REQUEST if the REST API finds a value that is not a number (or a string that can be converted to a number).

sameValue

Some property values should be the same on each merged MBean, for example, a component's type and moduleId. The sameValue field indicates that the value should be the same for each merged MBean. It is an optional Boolean field which defaults to false.

Returns BAD REQUEST if the REST API finds different values while merging. Similarly, returns BAD REQUEST if the property value is not a string.

values

Indicates that the list of property values should be returned. They are unordered. The field is an optional Boolean which defaults to false. It can be used for any type of MBean property.

About Synchronous and Asynchronous Operations

Several MBean operations (for example, server lifecycle, deployment) are asynchronous. They return job MBeans that must be monitored to determine when the job has completed.

Asynchronous MBean operations return a 200 OK, 201 Created or 400 Bad Request if the operation completed or failed immediately. Otherwise, they return a 202 Accepted and you must poll the returned job resource to find out when the work is done. By default, REST makes a best effort attempt to wait for the work to complete, but returns after about 5 minutes. You can specify the Prefer header to control how long REST waits for the work to complete.

Table 3-1 describes using the Prefer header.

Table 3-1 Using the Prefer Header

Header

Description

-X Prefer:respond-async

The client polls a returned job resource. REST returns a 200 OK, 201 Created, or 400 Bad Request if the asynchronous MBean operation finishes immediately; otherwise it returns a 202 Accepted.

-X Prefer:wait=#

For example, -X Prefer:wait=10

The REST resource internally polls the job for up to the specified number of seconds and returns a 200 OK, 201 Created, or 400 Bad Request if the asynchronous MBean operation finishes within that time; otherwise it returns a 202 Accepted, along with a Location header containing the URL of a REST task resource that the client can poll (via GET) to find out when the work is done.

If you don't specify the Prefer header, REST will return a 200 OK, 201 Created, or 400 Bad Request if the asynchronous MBean operation finishes within approximately 5 minutes, otherwise it returns a 202 Accepted.

If you specify both respond-async and wait, respond-async is ignored.

For examples of synchronous and asynchronous operations, see Domain Level REST API Examples and Partition Specific REST API Examples.

Deploying Applications and Libraries

You view deployed applications and libraries in the edit tree. You call POST on the collections to deploy them, and DELETE to undeploy them.

Similarly, the deployment MBeans take server relative pathnames. In addition, you can upload files from the client to the server then deploy them and use create form resources to inspect deployments (for example, to determine their preferred name and version numbers). For examples of deploying domain-scoped and partition-scoped applications, see Domain Level REST API Examples and Partition Specific REST API Examples.

4 Domain Level REST API Examples

Examine example scripts for users in domain level roles using WebLogic Server REST APIs to perform common domain and partition management and monitoring tasks. For information on the user roles which can access a REST resource, see Accessing REST Resources.

This chapter includes the following sections:

- Adding Users

- Setting Up Servers

- Creating Partitions

- Configuring System Resources

- Deploying Domain-Scoped Applications

- Monitoring Domain Resources

- Starting and Stopping Domain-Scoped Applications

- Starting and Stopping Partitions

- Starting and Stopping Servers

Adding Users

Review an example script that demonstrates how a System Administrator adds users such as Operators, Deployers, and Monitors.

Note:

To view long URLs, use the scroll bar located beneath the section.

----------------------------------------------------------------------
Demonstrate a domain admin configuring domain level users
----------------------------------------------------------------------

----------------------------------------------------------------------
Create a deployer
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
userName: 'deployer',
password: 'deployer123',
description: 'A domain level deployer'
}" \
-X POST http://localhost:7001/management/weblogic/latest/serverConfig/securityConfiguration/realms/myrealm/authenticationProviders/DefaultAuthenticator/createUser

HTTP/1.1 200 OK

Response Body:
{}

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
groupName: 'Deployers',
memberUserOrGroupName: 'deployer'
}" \
-X POST http://localhost:7001/management/weblogic/latest/serverConfig/securityConfiguration/realms/myrealm/authenticationProviders/DefaultAuthenticator/addMemberToGroup

HTTP/1.1 200 OK

Response Body:
{}

----------------------------------------------------------------------
Create an operator
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
userName: 'operator',
password: 'operator123',
description: 'A domain level operator'
}" \
-X POST http://localhost:7001/management/weblogic/latest/serverConfig/securityConfiguration/realms/myrealm/authenticationProviders/DefaultAuthenticator/createUser

HTTP/1.1 200 OK

Response Body:
{}

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
groupName: 'Operators',
memberUserOrGroupName: 'operator'
}" \
-X POST http://localhost:7001/management/weblogic/latest/serverConfig/securityConfiguration/realms/myrealm/authenticationProviders/DefaultAuthenticator/addMemberToGroup

HTTP/1.1 200 OK

Response Body:
{}

----------------------------------------------------------------------
Create a monitor
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
userName: 'monitor',
password: 'monitor123',
description: 'A domain level monitor'
}" \
-X POST http://localhost:7001/management/weblogic/latest/serverConfig/securityConfiguration/realms/myrealm/authenticationProviders/DefaultAuthenticator/createUser

HTTP/1.1 200 OK

Response Body:
{}

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
groupName: 'Monitors',
memberUserOrGroupName: 'monitor'
}" \
-X POST http://localhost:7001/management/weblogic/latest/serverConfig/securityConfiguration/realms/myrealm/authenticationProviders/DefaultAuthenticator/addMemberToGroup

HTTP/1.1 200 OK

Response Body:
{}

Setting Up Servers

Review an example script that demonstrates how a System Administrator creates a cluster, machine, and dynamic server targeted to the cluster, including setting up resource management for the Managed Servers.

For more information about resource management, see Configuring Resource Consumption Management in Using Oracle WebLogic Server Multitenant.

Note:

To view long URLs, use the scroll bar located beneath the section.

----------------------------------------------------------------------
Demonstrate a domain admin configuring dynamic servers
----------------------------------------------------------------------

----------------------------------------------------------------------
Start editing
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/changeManager/startEdit

HTTP/1.1 200 OK

Response Body:
{}

----------------------------------------------------------------------
View the default values for a new cluster
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/clusterCreateForm?links=none

HTTP/1.1 200 OK

Response Body:
{
"sessionStateQueryRequestTimeout": 30,
"notes": null,
"sessionFlushInterval": 180,
"txnAffinityEnabled": false,
"fencingGracePeriodMillis": 30000,
"serviceActivationRequestResponseTimeout": 0,
"databaseLeasingBasisConnectionRetryCount": 1,
"millisToSleepBetweenAutoMigrationAttempts": 180000,
"migrationBasis": "database",
"oneWayRmiForReplicationEnabled": false,
"secureReplicationEnabled": false,
"WANSessionPersistenceTableName": "WLS_WAN_PERSISTENCE_TABLE",
"asyncSessionQueueTimeout": 30,
"clusterType": "none",
"databaseLeasingBasisConnectionRetryDelay": 1000,
"defaultLoadAlgorithm": "round-robin",
"frontendHTTPPort": 0,
"singletonServiceRequestTimeout": 30000,
"sessionFlushThreshold": 10000,
"httpTraceSupportEnabled": false,
"tags": null,
"replicationTimeoutEnabled": true,
"serviceAgeThresholdSeconds": 180,
"additionalAutoMigrationAttempts": 3,
"multicastBufferSize": 64,
"weblogicPluginEnabled": false,
"healthCheckIntervalMillis": 10000,
"jobSchedulerTableName": "WEBLOGIC_TIMERS",
"concurrentSingletonActivationEnabled": false,
"memberDeathDetectorEnabled": false,
"multicastTTL": 1,
"frontendHost": null,
"clusterAddress": null,
"interClusterCommLinkHealthCheckInterval": 30000,
"remoteClusterAddress": null,
"greedySessionFlushInterval": 3,
"replicationChannel": "ReplicationChannel",
"multicastAddress": "239.192.0.0",
"numberOfServersInClusterAddress": 3,
"persistSessionsOnShutdown": false,
"healthCheckPeriodsUntilFencing": 3,
"sessionStateQueryProtocolEnabled": false,
"clusterBroadcastChannel": null,
"multicastSendDelay": 3,
"multicastDataEncryption": false,
"messageOrderingEnabled": true,
"autoMigrationTableName": "ACTIVE",
"idlePeriodsUntilTimeout": 3,
"clientCertProxyEnabled": false,
"multicastPort": 7001,
"clusterMessagingMode": "unicast",
"unicastReadTimeout": 15000,
"frontendHTTPSPort": 0,
"dataSourceForSessionPersistence": null,
"dataSourceForJobScheduler": null,
"dataSourceForAutomaticMigration": null,
"coherenceClusterSystemResource": null,
"candidateMachinesForMigratableServers": [],
"name": null
}

----------------------------------------------------------------------
Configure a new cluster
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{ name: 'Cluster1' }" \
-X POST http://localhost:7001/management/weblogic/latest/edit/clusters

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/clusters/Cluster1

Response Body:
{}

----------------------------------------------------------------------
View the new cluster
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/clusters/Cluster1?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"clusters",
"Cluster1"
],
"sessionStateQueryRequestTimeout": 30,
"notes": null,
"sessionFlushInterval": 180,
"txnAffinityEnabled": false,
"fencingGracePeriodMillis": 30000,
"serviceActivationRequestResponseTimeout": 0,
"type": "Cluster",
"databaseLeasingBasisConnectionRetryCount": 1,
"millisToSleepBetweenAutoMigrationAttempts": 180000,
"migrationBasis": "database",
"oneWayRmiForReplicationEnabled": false,
"id": 0,
"secureReplicationEnabled": false,
"WANSessionPersistenceTableName": "WLS_WAN_PERSISTENCE_TABLE",
"asyncSessionQueueTimeout": 30,
"clusterType": "none",
"databaseLeasingBasisConnectionRetryDelay": 1000,
"defaultLoadAlgorithm": "round-robin",
"frontendHTTPPort": 0,
"singletonServiceRequestTimeout": 30000,
"sessionFlushThreshold": 10000,
"httpTraceSupportEnabled": false,
"tags": [],
"replicationTimeoutEnabled": true,
"serviceAgeThresholdSeconds": 180,
"additionalAutoMigrationAttempts": 3,
"name": "Cluster1",
"sessionLazyDeserializationEnabled": false,
"multicastBufferSize": 64,
"weblogicPluginEnabled": false,
"healthCheckIntervalMillis": 10000,
"jobSchedulerTableName": "WEBLOGIC_TIMERS",
"concurrentSingletonActivationEnabled": false,
"memberDeathDetectorEnabled": false,
"multicastTTL": 1,
"siteName": null,
"frontendHost": null,
"clusterAddress": null,
"interClusterCommLinkHealthCheckInterval": 30000,
"remoteClusterAddress": null,
"greedySessionFlushInterval": 3,
"memberWarmupTimeoutSeconds": 0,
"replicationChannel": "ReplicationChannel",
"multicastAddress": "239.192.0.0",
"dynamicallyCreated": false,
"numberOfServersInClusterAddress": 3,
"persistSessionsOnShutdown": false,
"healthCheckPeriodsUntilFencing": 3,
"sessionStateQueryProtocolEnabled": false,
"clusterBroadcastChannel": null,
"multicastSendDelay": 3,
"multicastDataEncryption": false,
"messageOrderingEnabled": true,
"autoMigrationTableName": "ACTIVE",
"idlePeriodsUntilTimeout": 3,
"clientCertProxyEnabled": false,
"multicastPort": 7001,
"clusterMessagingMode": "unicast",
"unicastReadTimeout": 15000,
"frontendHTTPSPort": 0,
"dataSourceForSessionPersistence": null,
"dataSourceForJobScheduler": null,
"dataSourceForAutomaticMigration": null,
"coherenceClusterSystemResource": null,
"servers": [],
"migratableTargets": [],
"candidateMachinesForMigratableServers": []
}

----------------------------------------------------------------------
View the default values for a new machine
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/machineCreateForm?links=none

HTTP/1.1 200 OK

Response Body:
{
"notes": null,
"tags": null,
"name": null
}

----------------------------------------------------------------------
Configure a new machine
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{ name:'Machine1' }" \
-X POST http://localhost:7001/management/weblogic/latest/edit/machines

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/machines/Machine1

Response Body:
{}

----------------------------------------------------------------------
View the new machine
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/machines/Machine1?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"machines",
"Machine1"
],
"notes": null,
"name": "Machine1",
"id": 0,
"dynamicallyCreated": false,
"type": "Machine",
"tags": []
}

----------------------------------------------------------------------
View the default values for the machine's node manager configuration
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/machines/Machine1/nodeManager?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"machines",
"Machine1",
"nodeManager"
],
"adapter": null,
"notes": null,
"NMType": "SSL",
"debugEnabled": false,
"userName": null,
"type": "NodeManager",
"tags": [],
"shellCommand": null,
"NMSocketCreateTimeoutInMillis": 180000,
"password": null,
"listenAddress": "localhost",
"name": "Machine1",
"nodeManagerHome": null,
"adapterVersion": null,
"adapterName": null,
"id": 0,
"dynamicallyCreated": false,
"listenPort": 5556
}

----------------------------------------------------------------------
Customize the machine's node manager configuration
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
NMType:        'Plain',
listenAddress: 'localhost'
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/machines/Machine1/nodeManager

HTTP/1.1 200 OK

Response Body:
{}

----------------------------------------------------------------------
View the modified node manager configuration
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/machines/Machine1/nodeManager?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"machines",
"Machine1",
"nodeManager"
],
"adapter": null,
"notes": null,
"NMType": "Plain",
"debugEnabled": false,
"userName": null,
"type": "NodeManager",
"tags": [],
"shellCommand": null,
"NMSocketCreateTimeoutInMillis": 180000,
"password": null,
"listenAddress": "localhost",
"name": "Machine1",
"nodeManagerHome": null,
"adapterVersion": null,
"adapterName": null,
"id": 0,
"dynamicallyCreated": false,
"listenPort": 5556
}

----------------------------------------------------------------------
View the default values for a new server template
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/serverTemplateCreateForm?links=none

HTTP/1.1 200 OK

Response Body:
{
"maxOpenSockCount": -1,
"interfaceAddress": null,
"startupTimeout": 0,
"idleConnectionTimeout": 65,
"resolveDNSName": false,
"ignoreSessionsDuringShutdown": false,
"adminReconnectIntervalSeconds": 10,
"preferredSecondaryGroup": null,
"defaultSecureProtocol": "t3s",
"maxMessageSize": 10000000,
"stagingDirectoryName": null,
"outboundPrivateKeyEnabled": false,
"defaultTGIOPPassword": null,
"httpTraceSupportEnabled": false,
"classpathServletSecureModeEnabled": false,
"tags": null,
"useEnhancedIncrementAdvisor": true,
"completeMessageTimeout": 60,
"managedServerIndependenceEnabled": true,
"isolatePartitionThreadLocals": false,
"retryIntervalBeforeMSIMode": 5,
"nativeIOEnabled": true,
"startupMode": "RUNNING",
"externalDNSName": null,
"JMSConnectionFactoryUnmappedResRefMode": "ReturnDefault",
"extraEjbcOptions": null,
"autoMigrationEnabled": false,
"tunnelingClientPingSecs": 45,
"instrumentStackTraceEnabled": true,
"customIdentityKeyStorePassPhrase": null,
"gracefulShutdownTimeout": 0,
"outboundEnabled": false,
"javaStandardTrustKeyStorePassPhrase": null,
"buzzAddress": null,
"classpathServletDisabled": false,
"healthCheckStartDelaySeconds": 120,
"clientCertProxyEnabled": false,
"defaultInternalServletsDisabled": false,
"customIdentityKeyStoreType": null,
"restartIntervalSeconds": 3600,
"notes": null,
"serverLifeCycleTimeoutVal": 30,
"httpdEnabled": true,
"javaCompilerPostClassPath": null,
"buzzPort": 0,
"keyStores": "DemoIdentityAndDemoTrust",
"defaultTGIOPUser": "guest",
"use81StyleExecuteQueues": false,
"uploadDirectoryName": null,
"tunnelingClientTimeoutSecs": 40,
"listenThreadStartDelaySecs": 60,
"tunnelingEnabled": false,
"listenAddress": null,
"acceptBacklog": 300,
"listenPortEnabled": true,
"eagerThreadLocalCleanup": false,
"connectTimeout": 0,
"printStackTraceInProduction": false,
"useFusionForLLR": false,
"clusterWeight": 100,
"customTrustKeyStorePassPhrase": null,
"restartDelaySeconds": 0,
"transactionLogFilePrefix": ".\/",
"maxConcurrentLongRunningRequests": 100,
"customTrustKeyStoreFileName": null,
"socketReaders": -1,
"threadPoolPercentSocketReaders": 33,
"JDBCLoginTimeoutSeconds": 0,
"customTrustKeyStoreType": null,
"loginTimeoutMillis": 5000,
"messageIdPrefixEnabled": true,
"healthCheckIntervalSeconds": 180,
"useEnhancedPriorityQueueForRequestManager": false,
"reverseDNSAllowed": false,
"periodLength": 60000,
"socketBufferSizeAsChunkSize": false,
"JDBCLLRTableName": null,
"buzzEnabled": false,
"weblogicPluginEnabled": false,
"useDetailedThreadName": false,
"stuckThreadTimerInterval": 60,
"TGIOPEnabled": true,
"listenersBindEarly": false,
"JNDITransportableObjectFactoryList": null,
"NMSocketCreateTimeoutInMillis": 180000,
"DGCIdlePeriodsUntilTimeout": 5,
"defaultIIOPUser": null,
"logRemoteExceptionsEnabled": false,
"transactionLogFileWritePolicy": "Direct-Write",
"defaultProtocol": "t3",
"replicationPorts": null,
"autoRestart": true,
"extraRmicOptions": null,
"customIdentityKeyStoreFileName": null,
"restartMax": 2,
"replicationGroup": null,
"defaultIIOPPassword": null,
"IIOPEnabled": true,
"maxConcurrentNewThreads": 100,
"numOfRetriesBeforeMSIMode": 3,
"JMSDefaultConnectionFactoriesEnabled": true,
"sitConfigPollingInterval": 5,
"allowShrinkingPriorityRequestQueue": true,
"COMEnabled": false,
"javaCompilerPreClassPath": null,
"idlePeriodsUntilTimeout": 4,
"listenPort": 7001,
"javaCompiler": "javac",
"cluster": null,
"reliableDeliveryPolicy": null,
"machine": null,
"XMLEntityCache": null,
"XMLRegistry": null,
"coherenceClusterSystemResource": null,
"candidateMachines": [],
"name": null
}

----------------------------------------------------------------------
Configure a new server template for the cluster
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name:           'ServerTemplate1',
listenPort:     7100,
listenAddress: 'localhost',
machine:        [ 'machines', 'Machine1' ],
cluster:        [ 'clusters', 'Cluster1' ]
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/serverTemplates

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/serverTemplates/ServerTemplate1

Response Body:
{}

----------------------------------------------------------------------
Turn on resource management for the managed servers
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
arguments: '-XX:+UnlockCommercialFeatures -XX:+ResourceManagement -XX:+UseG1GC'
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/serverTemplates/ServerTemplate1/serverStart

HTTP/1.1 200 OK

Response Body:
{}

----------------------------------------------------------------------
View the new server template
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/serverTemplates/ServerTemplate1?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"serverTemplates",
"ServerTemplate1"
],
"stagingMode": "stage",
"maxOpenSockCount": -1,
"interfaceAddress": null,
"hostsMigratableServices": true,
"startupTimeout": 0,
"idleConnectionTimeout": 65,
"resolveDNSName": false,
"ignoreSessionsDuringShutdown": false,
"type": "ServerTemplate",
"adminReconnectIntervalSeconds": 10,
"administrationPort": 9002,
"preferredSecondaryGroup": null,
"defaultSecureProtocol": "t3s",
"id": 0,
"maxMessageSize": 10000000,
"completeWriteTimeout": 60,
"stagingDirectoryName": "\/domains\/mydomain\/servers\/ServerTemplate1\/stage",
"outboundPrivateKeyEnabled": false,
"defaultTGIOPPassword": null,
"httpTraceSupportEnabled": false,
"classpathServletSecureModeEnabled": false,
"tags": [],
"useEnhancedIncrementAdvisor": true,
"completeMessageTimeout": 60,
"managedServerIndependenceEnabled": true,
"isolatePartitionThreadLocals": false,
"retryIntervalBeforeMSIMode": 5,
"nativeIOEnabled": true,
"startupMode": "RUNNING",
"externalDNSName": null,
"JMSConnectionFactoryUnmappedResRefMode": "ReturnDefault",
"administrationProtocol": "t3s",
"extraEjbcOptions": null,
"autoMigrationEnabled": false,
"tunnelingClientPingSecs": 45,
"instrumentStackTraceEnabled": true,
"dynamicallyCreated": false,
"customIdentityKeyStorePassPhrase": null,
"gracefulShutdownTimeout": 0,
"outboundEnabled": false,
"javaStandardTrustKeyStorePassPhrase": null,
"useConcurrentQueueForRequestManager": false,
"buzzAddress": null,
"classpathServletDisabled": false,
"healthCheckStartDelaySeconds": 120,
"clientCertProxyEnabled": false,
"defaultInternalServletsDisabled": false,
"customIdentityKeyStoreType": null,
"restartIntervalSeconds": 3600,
"notes": null,
"serverLifeCycleTimeoutVal": 30,
"httpdEnabled": true,
"javaCompilerPostClassPath": null,
"buzzPort": 0,
"keyStores": "DemoIdentityAndDemoTrust",
"use81StyleExecuteQueues": false,
"uploadDirectoryName": ".\/servers\/ServerTemplate1\/upload",
"tunnelingClientTimeoutSecs": 40,
"listenThreadStartDelaySecs": 60,
"tunnelingEnabled": false,
"listenAddress": "localhost",
"acceptBacklog": 300,
"listenPortEnabled": true,
"eagerThreadLocalCleanup": false,
"connectTimeout": 0,
"printStackTraceInProduction": false,
"scatteredReadsEnabled": false,
"muxerClass": "weblogic.socket.NIOSocketMuxer",
"useFusionForLLR": false,
"clusterWeight": 100,
"customTrustKeyStorePassPhrase": null,
"restartDelaySeconds": 0,
"transactionLogFilePrefix": ".\/",
"maxConcurrentLongRunningRequests": 100,
"customTrustKeyStoreFileName": null,
"socketReaders": -1,
"threadPoolPercentSocketReaders": 33,
"JDBCLoginTimeoutSeconds": 0,
"customTrustKeyStoreType": null,
"loginTimeoutMillis": 5000,
"messageIdPrefixEnabled": false,
"healthCheckIntervalSeconds": 180,
"useEnhancedPriorityQueueForRequestManager": false,
"name": "ServerTemplate1",
"reverseDNSAllowed": false,
"periodLength": 60000,
"socketBufferSizeAsChunkSize": false,
"JDBCLLRTableName": null,
"buzzEnabled": false,
"weblogicPluginEnabled": false,
"useDetailedThreadName": false,
"stuckThreadTimerInterval": 60,
"TGIOPEnabled": true,
"listenersBindEarly": false,
"JNDITransportableObjectFactoryList": [],
"DGCIdlePeriodsUntilTimeout": 5,
"defaultIIOPUser": null,
"logRemoteExceptionsEnabled": false,
"transactionLogFileWritePolicy": "Direct-Write",
"gatheredWritesEnabled": false,
"defaultProtocol": "t3",
"replicationPorts": null,
"autoRestart": true,
"extraRmicOptions": null,
"customIdentityKeyStoreFileName": null,
"restartMax": 2,
"replicationGroup": null,
"defaultIIOPPassword": null,
"IIOPEnabled": true,
"maxConcurrentNewThreads": 100,
"numOfRetriesBeforeMSIMode": 3,
"JMSDefaultConnectionFactoriesEnabled": true,
"sitConfigPollingInterval": 5,
"allowShrinkingPriorityRequestQueue": true,
"addWorkManagerThreadsByCpuCount": false,
"javaCompilerPreClassPath": null,
"idlePeriodsUntilTimeout": 4,
"listenPort": 7100,
"javaCompiler": "javac",
"cluster": [
"clusters",
"Cluster1"
],
"reliableDeliveryPolicy": null,
"machine": [
"machines",
"Machine1"
],
"XMLEntityCache": null,
"XMLRegistry": null,
"coherenceClusterSystemResource": null,
"candidateMachines": []
}

----------------------------------------------------------------------
View the default values for the cluster's dynamic servers configuration
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/clusters/Cluster1/dynamicServers?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"clusters",
"Cluster1",
"dynamicServers"
],
"notes": null,
"dynamicClusterSize": 0,
"machineNameMatchExpression": null,
"maxDynamicClusterSize": 8,
"serverNamePrefix": "Cluster1-",
"ignoreSessionsDuringShutdown": false,
"type": "DynamicServers",
"calculatedMachineNames": false,
"dynamicClusterShutdownTimeoutSeconds": 0,
"tags": [],
"waitForAllSessionsDuringShutdown": false,
"machineMatchExpression": null,
"dynamicServerNames": [],
"calculatedListenPorts": true,
"name": "Cluster1",
"id": 0,
"dynamicallyCreated": false,
"machineMatchType": "name",
"minDynamicClusterSize": 1,
"dynamicClusterCooloffPeriodSeconds": 900,
"serverTemplate": null
}

----------------------------------------------------------------------
Customize the cluster's dynamic servers configuration
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
serverTemplate:        [ 'serverTemplates', 'ServerTemplate1' ],
dynamicClusterSize:    2,
serverNamePrefix:      'Cluster1Server'
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/clusters/Cluster1/dynamicServers

HTTP/1.1 200 OK

Response Body:
{}

----------------------------------------------------------------------
View the modified dynamic servers configuration
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/clusters/Cluster1/dynamicServers?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"clusters",
"Cluster1",
"dynamicServers"
],
"notes": null,
"dynamicClusterSize": 2,
"machineNameMatchExpression": null,
"maxDynamicClusterSize": 8,
"serverNamePrefix": "Cluster1Server",
"ignoreSessionsDuringShutdown": false,
"type": "DynamicServers",
"calculatedMachineNames": false,
"dynamicClusterShutdownTimeoutSeconds": 0,
"tags": [],
"waitForAllSessionsDuringShutdown": false,
"machineMatchExpression": null,
"dynamicServerNames": [
"Cluster1Server1",
"Cluster1Server2"
],
"calculatedListenPorts": true,
"name": "Cluster1",
"id": 0,
"dynamicallyCreated": false,
"machineMatchType": "name",
"minDynamicClusterSize": 1,
"dynamicClusterCooloffPeriodSeconds": 900,
"serverTemplate": [
"serverTemplates",
"ServerTemplate1"
]
}

----------------------------------------------------------------------
Activate the changes
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/changeManager/activate

HTTP/1.1 200 OK

Response Body:
{}

----------------------------------------------------------------------
Synchronously start the managed servers
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/serverLifeCycleRuntimes/Cluster1Server1/start

HTTP/1.1 200 OK

Response Body:
{
"links": [{
"rel": "job",
"href": "http:\/\/localhost:7001\/management\/weblogic\/latest\/domainRuntime\/serverLifeCycleRuntimes\/Cluster1Server1\/tasks\/_0_start"
}],
"identity": [
"serverLifeCycleRuntimes",
"Cluster1Server1",
"tasks",
"_0_start"
],
"running": false,
"systemTask": false,
"endTimeAsLong": 1507164728441,
"name": "_0_start",
"progress": "success",
"description": "Starting Cluster1Server1 server ...",
"serverName": "Cluster1Server1",
"taskError": null,
"startTimeAsLong": 1507164708726,
"type": "ServerLifeCycleTaskRuntime",
"operation": "start",
"taskStatus": "TASK COMPLETED",
"parentTask": null,
"completed": true,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:51:48.726-04:00",
"endTime": "2017-10-04T20:52:08.441-04:00"
}

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/serverLifeCycleRuntimes/Cluster1Server2/start

HTTP/1.1 200 OK

Response Body:
{
"links": [{
"rel": "job",
"href": "http:\/\/localhost:7001\/management\/weblogic\/latest\/domainRuntime\/serverLifeCycleRuntimes\/Cluster1Server2\/tasks\/_1_start"
}],
"identity": [
"serverLifeCycleRuntimes",
"Cluster1Server2",
"tasks",
"_1_start"
],
"running": false,
"systemTask": false,
"endTimeAsLong": 1507164790148,
"name": "_1_start",
"progress": "success",
"description": "Starting Cluster1Server2 server ...",
"serverName": "Cluster1Server2",
"taskError": null,
"startTimeAsLong": 1507164773327,
"type": "ServerLifeCycleTaskRuntime",
"operation": "start",
"taskStatus": "TASK COMPLETED",
"parentTask": null,
"completed": true,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:52:53.327-04:00",
"endTime": "2017-10-04T20:53:10.148-04:00"
}

----------------------------------------------------------------------
Verify that the managed servers are running
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/domainRuntime/serverLifeCycleRuntimes?links=none

HTTP/1.1 200 OK

Response Body:
{"items": [
{
"identity": [
"serverLifeCycleRuntimes",
"Cluster1Server1"
],
"nodeManagerRestartCount": 0,
"middlewareHome": "\/Oracle_Home",
"name": "Cluster1Server1",
"weblogicHome": "\/Oracle_Home\/wlserver",
"state": "RUNNING",
"type": "ServerLifeCycleRuntime"
},
{
"identity": [
"serverLifeCycleRuntimes",
"AdminServer"
],
"nodeManagerRestartCount": 0,
"middlewareHome": "\/Oracle_Home",
"name": "AdminServer",
"weblogicHome": "\/Oracle_Home\/wlserver",
"state": "RUNNING",
"type": "ServerLifeCycleRuntime"
},
{
"identity": [
"serverLifeCycleRuntimes",
"Cluster1Server2"
],
"nodeManagerRestartCount": 0,
"middlewareHome": "\/Oracle_Home",
"name": "Cluster1Server2",
"weblogicHome": "\/Oracle_Home\/wlserver",
"state": "RUNNING",
"type": "ServerLifeCycleRuntime"
}
]}

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/domainRuntime/serverRuntimes?links=none&fields=name,state

HTTP/1.1 200 OK

Response Body:
{"items": [
{
"state": "RUNNING",
"name": "Cluster1Server1"
},
{
"state": "RUNNING",
"name": "AdminServer"
},
{
"state": "RUNNING",
"name": "Cluster1Server2"
}
]}

Creating Partitions

Review an example script that demonstrates how a System Administrator creates a partition.

This includes:

- A new security realm for the partition, including security providers, the primary identity domain, and the management identity domain

- A virtual target for the cluster, on which the applications will run

- A virtual target for the Administration Server, so that the Deployer can create system resources and deploy applications

- A resource group for each virtual target

- Partition users in the Administrator, Deployer, Monitor, and Operator roles

- Creating a resource manager for the new partition to monitor and control system resource sharing by collocated partition users

Note:

To view long URLs, use the scroll bar located beneath the section.

----------------------------------------------------------------------
Demonstrate a domain admin configuring a partition
----------------------------------------------------------------------

----------------------------------------------------------------------
Start editing
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/changeManager/startEdit

HTTP/1.1 200 OK

Response Body:
{}

----------------------------------------------------------------------
View the default values for a new security realm
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/securityConfiguration/realmCreateForm?links=none

HTTP/1.1 200 OK

Response Body:
{
"managementIdentityDomain": null,
"maxWebLogicPrincipalsInCache": 500,
"enableWebLogicPrincipalValidatorCache": true,
"authMethods": null,
"validateDDSecurityData": false,
"combinedRoleMappingEnabled": true,
"delegateMBeanAuthorization": false,
"deployableProviderSynchronizationTimeout": 60000,
"deployableProviderSynchronizationEnabled": false,
"identityAssertionHeaderNamePrecedence": null,
"retireTimeoutSeconds": 60,
"securityDDModel": "DDOnly",
"certPathBuilder": null,
"name": null
}

----------------------------------------------------------------------
Create a security realm for the new partition
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name:                     'Partition1Realm',
managementIdentityDomain: 'Partition1IdentityDomain'
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/securityConfiguration/realms

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/securityConfiguration/realms/Partition1Realm

Response Body:
{}

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name: 'DefaultAuthenticator',
type: 'weblogic.security.providers.authentication.DefaultAuthenticator'
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/securityConfiguration/realms/Partition1Realm/authenticationProviders

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/securityConfiguration/realms/Partition1Realm/authenticationProviders/DefaultAuthenticator

Response Body:
{}

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name:        'DefaultIdentityAsserter',
type:        'weblogic.security.providers.authentication.DefaultIdentityAsserter',
activeTypes: [ 'AuthenticatedUser','weblogic-jwt-token']
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/securityConfiguration/realms/Partition1Realm/authenticationProviders

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/securityConfiguration/realms/Partition1Realm/authenticationProviders/DefaultIdentityAsserter

Response Body:
{}

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name:                          'SystemPasswordValidator',
type:                          'com.bea.security.providers.authentication.passwordvalidator.SystemPasswordValidator',
minPasswordLength:             8,
minNumericOrSpecialCharacters: 1
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/securityConfiguration/realms/Partition1Realm/passwordValidators

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/securityConfiguration/realms/Partition1Realm/passwordValidators/SystemPasswordValidator

Response Body:
{}

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name: 'XACMLRoleMapper',
type: 'weblogic.security.providers.xacml.authorization.XACMLRoleMapper'
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/securityConfiguration/realms/Partition1Realm/roleMappers

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/securityConfiguration/realms/Partition1Realm/roleMappers/XACMLRoleMapper

Response Body:
{}

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name: 'XACMLAuthorizer',
type: 'weblogic.security.providers.xacml.authorization.XACMLAuthorizer'
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/securityConfiguration/realms/Partition1Realm/authorizers

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/securityConfiguration/realms/Partition1Realm/authorizers/XACMLAuthorizer

Response Body:
{}

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name: 'DefaultAdjudicator',
type: 'weblogic.security.providers.authorization.DefaultAdjudicator'
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/securityConfiguration/realms/Partition1Realm/adjudicator

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/securityConfiguration/realms/Partition1Realm/adjudicator

Response Body:
{}

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name: 'DefaultCredentialMapper',
type: 'weblogic.security.providers.credentials.DefaultCredentialMapper'
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/securityConfiguration/realms/Partition1Realm/credentialMappers

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/securityConfiguration/realms/Partition1Realm/credentialMappers/DefaultCredentialMapper

Response Body:
{}

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name: 'WebLogicCertPathProvider',
type: 'weblogic.security.providers.pk.WebLogicCertPathProvider'
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/securityConfiguration/realms/Partition1Realm/certPathProviders

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/securityConfiguration/realms/Partition1Realm/certPathProviders/WebLogicCertPathProvider

Response Body:
{}

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
certPathBuilder: [ 'securityConfiguration', 'realms', 'Partition1Realm', 'certPathProviders', 'WebLogicCertPathProvider' ]
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/securityConfiguration/realms/Partition1Realm

HTTP/1.1 200 OK

Response Body:
{}

----------------------------------------------------------------------
View the default values for a new virtual target
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/virtualTargetCreateForm?links=none

HTTP/1.1 200 OK

Response Body:
{
"explicitPort": 0,
"notes": null,
"portOffset": 0,
"hostNames": null,
"uriPrefix": "\/",
"deploymentOrder": 1000,
"partitionChannel": "PartitionChannel",
"tags": null,
"targets": [],
"name": null
}

----------------------------------------------------------------------
Create a virtual target for the new partition
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name:      'Partition1VirtualTarget',
hostNames: [ 'localhost' ],
uriPrefix: '/partition1',
targets:   [ { identity: [ 'clusters', 'Cluster1' ] } ]
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/virtualTargets

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/virtualTargets/Partition1VirtualTarget

Response Body:
{}

----------------------------------------------------------------------
Create a resource manager for the new partition
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{ name: 'Partition1ResourceManager' }" \
-X POST http://localhost:7001/management/weblogic/latest/edit/resourceManagement/resourceManagers

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/resourceManagement/resourceManagers/Partition1ResourceManager

Response Body:
{}

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{ name: 'FileOpen' }" \
-X POST http://localhost:7001/management/weblogic/latest/edit/resourceManagement/resourceManagers/Partition1ResourceManager/fileOpen

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/resourceManagement/resourceManagers/Partition1ResourceManager/fileOpen

Response Body:
{}

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{ name: 'CpuUtilization' }" \
-X POST http://localhost:7001/management/weblogic/latest/edit/resourceManagement/resourceManagers/Partition1ResourceManager/cpuUtilization

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/resourceManagement/resourceManagers/Partition1ResourceManager/cpuUtilization

Response Body:
{}

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{ name: 'HeapRetained' }" \
-X POST http://localhost:7001/management/weblogic/latest/edit/resourceManagement/resourceManagers/Partition1ResourceManager/heapRetained

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/resourceManagement/resourceManagers/Partition1ResourceManager/heapRetained

Response Body:
{}

----------------------------------------------------------------------
Create a trigger that notifies the domain admin if the new partition has 4 or more files open
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name:   'NotifyTrigger',
value:  4,
action: 'notify'
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/resourceManagement/resourceManagers/Partition1ResourceManager/fileOpen/triggers

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/resourceManagement/resourceManagers/Partition1ResourceManager/fileOpen/triggers/NotifyTrigger

Response Body:
{}

----------------------------------------------------------------------
Create a trigger that notifies the domain admin if the new partition uses 50% of the CPU
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name:   'NotifyTrigger',
value:  50,
action: 'notify'
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/resourceManagement/resourceManagers/Partition1ResourceManager/cpuUtilization/triggers

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/resourceManagement/resourceManagers/Partition1ResourceManager/cpuUtilization/triggers/NotifyTrigger

Response Body:
{}

----------------------------------------------------------------------
Create a trigger that slows down traffic to the new partition if it uses 60% or more of the CPU
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name:   'SlowTrigger',
value:  60,
action: 'slow'
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/resourceManagement/resourceManagers/Partition1ResourceManager/cpuUtilization/triggers

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/resourceManagement/resourceManagers/Partition1ResourceManager/cpuUtilization/triggers/SlowTrigger

Response Body:
{}

----------------------------------------------------------------------
Create a trigger that notifies the domain admin if the new partition uses more than 200 megabytes of the heap
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name:   'NotifyTrigger',
value:  200,
action: 'notify'
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/resourceManagement/resourceManagers/Partition1ResourceManager/heapRetained/triggers

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/resourceManagement/resourceManagers/Partition1ResourceManager/heapRetained/triggers/NotifyTrigger

Response Body:
{}

----------------------------------------------------------------------
View the default values for a new partition
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/partitionCreateForm?links=none

HTTP/1.1 200 OK

Response Body:
{
"batchJobsExecutorServiceName": null,
"jobSchedulerTableName": "WEBLOGIC_TIMERS",
"notes": null,
"parallelDeployApplications": true,
"startupTimeout": 0,
"maxConcurrentLongRunningRequests": 50,
"ignoreSessionsDuringShutdown": false,
"maxConcurrentNewThreads": 50,
"tags": null,
"gracefulShutdownTimeout": 0,
"RCMHistoricalDataBufferLimit": 250,
"uploadDirectoryName": null,
"eagerTrackingOfResourceMetricsEnabled": false,
"parallelDeployApplicationModules": false,
"partitionLifeCycleTimeoutVal": 30,
"resourceDeploymentPlanPath": null,
"batchJobsDataSourceJndiName": null,
"dataSourceForJobScheduler": null,
"resourceManagerRef": null,
"realm": null,
"partitionWorkManagerRef": null,
"defaultTargets": [],
"availableTargets": [],
"name": null
}

----------------------------------------------------------------------
Create the new partition
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name:                  'Partition1',
realm:                 [ 'securityConfiguration', 'realms', 'Partition1Realm' ],
resourceManagerRef:    [ 'resourceManagement', 'resourceManagers', 'Partition1ResourceManager' ],
availableTargets:      [ { identity: [ 'virtualTargets', 'Partition1VirtualTarget' ] } ],
defaultTargets:        [ { identity: [ 'virtualTargets', 'Partition1VirtualTarget' ] } ],
primaryIdentityDomain: 'Partition1IdentityDomain'
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/partitions

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/partitions/Partition1

Response Body:
{}

----------------------------------------------------------------------
View the default values for a new resource group in this partition
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/partitions/Partition1/resourceGroupCreateForm?links=none

HTTP/1.1 200 OK

Response Body:
{
"uploadDirectoryName": null,
"notes": null,
"useDefaultTarget": true,
"administrative": false,
"autoTargetAdminServer": false,
"tags": null,
"resourceGroupTemplate": null,
"targets": [],
"name": null
}

----------------------------------------------------------------------
Create a resource group for the new partition
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name:    'Partition1ResourceGroup',
targets: [ { identity: [ 'virtualTargets', 'Partition1VirtualTarget' ] } ]
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/partitions/Partition1/resourceGroups

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup

Response Body:
{}

----------------------------------------------------------------------
Activate the changes
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/weblogic/latest/edit/changeManager/activate

HTTP/1.1 200 OK

Response Body:
{}

----------------------------------------------------------------------
Create an administrator for the new partition
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
userName:    'Partition1Admin',
password:    'Partition1Admin123',
description: 'Partition1 administrator'
}" \
-X POST http://localhost:7001/management/weblogic/latest/serverConfig/securityConfiguration/realms/Partition1Realm/authenticationProviders/DefaultAuthenticator/createUser

HTTP/1.1 200 OK

Response Body:
{}

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
groupName:             'Administrators',
memberUserOrGroupName: 'Partition1Admin'
}" \
-X POST http://localhost:7001/management/weblogic/latest/serverConfig/securityConfiguration/realms/Partition1Realm/authenticationProviders/DefaultAuthenticator/addMemberToGroup

HTTP/1.1 200 OK

Response Body:
{}

----------------------------------------------------------------------
Start the new partition
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{}" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/domainPartitionRuntimes/Partition1/partitionLifeCycleRuntime/start

HTTP/1.1 200 OK

Response Body:
{
"links": [{
"rel": "job",
"href": "http:\/\/localhost:7001\/management\/weblogic\/latest\/domainRuntime\/domainPartitionRuntimes\/Partition1\/partitionLifeCycleRuntime\/tasks\/_4_START"
}],
"identity": [
"domainPartitionRuntimes",
"Partition1",
"partitionLifeCycleRuntime",
"tasks",
"_4_START"
],
"systemTask": false,
"description": "Starting Partition1 on servers Cluster1Server1,AdminServer,Cluster1Server2 ... ",
"serverName": "Cluster1Server1,AdminServer,Cluster1Server2",
"startTimeAsLong": 1507164843677,
"type": "PartitionLifeCycleTaskRuntime",
"running": false,
"partitionName": "Partition1",
"endTimeAsLong": 1507164846220,
"name": "_4_START",
"progress": "success",
"taskError": null,
"operation": "START",
"taskStatus": "TASK COMPLETED",
"parentTask": null,
"completed": true,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:54:03.677-04:00",
"endTime": "2017-10-04T20:54:06.220-04:00"
}

----------------------------------------------------------------------
View the new security realm
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/securityConfiguration/realms/Partition1Realm?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"securityConfiguration",
"realms",
"Partition1Realm"
],
"managementIdentityDomain": "Partition1IdentityDomain",
"autoRestartOnNonDynamicChanges": true,
"credentialMapperTypes": [
"com.bea.security.saml2.providers.SAML2CredentialMapper",
"weblogic.security.providers.credentials.DefaultCredentialMapper",
"weblogic.security.providers.credentials.PKICredentialMapper",
"weblogic.security.providers.saml.SAMLCredentialMapperV2"
],
"maxWebLogicPrincipalsInCache": 500,
"enableWebLogicPrincipalValidatorCache": true,
"roleMapperTypes": [
"weblogic.security.providers.authorization.DefaultRoleMapper",
"weblogic.security.providers.xacml.authorization.XACMLRoleMapper"
],
"adjudicatorTypes": ["weblogic.security.providers.authorization.DefaultAdjudicator"],
"auditorTypes": ["weblogic.security.providers.audit.DefaultAuditor"],
"authMethods": null,
"authenticationProviderTypes": [
"com.bea.security.saml2.providers.SAML2IdentityAsserter",
"weblogic.security.providers.authentication.ActiveDirectoryAuthenticator",
"weblogic.security.providers.authentication.CustomDBMSAuthenticator",
"weblogic.security.providers.authentication.DefaultAuthenticator",
"weblogic.security.providers.authentication.DefaultIdentityAsserter",
"weblogic.security.providers.authentication.IPlanetAuthenticator",
"weblogic.security.providers.authentication.LDAPAuthenticator",
"weblogic.security.providers.authentication.LDAPX509IdentityAsserter",
"weblogic.security.providers.authentication.NegotiateIdentityAsserter",
"weblogic.security.providers.authentication.NovellAuthenticator",
"weblogic.security.providers.authentication.OpenLDAPAuthenticator",
"weblogic.security.providers.authentication.OracleIdentityCloudIntegrator",
"weblogic.security.providers.authentication.OracleInternetDirectoryAuthenticator",
"weblogic.security.providers.authentication.OracleUnifiedDirectoryAuthenticator",
"weblogic.security.providers.authentication.OracleVirtualDirectoryAuthenticator",
"weblogic.security.providers.authentication.ReadOnlySQLAuthenticator",
"weblogic.security.providers.authentication.SQLAuthenticator",
"weblogic.security.providers.authentication.VirtualUserAuthenticator",
"weblogic.security.providers.saml.SAMLAuthenticator",
"weblogic.security.providers.saml.SAMLIdentityAsserterV2"
],
"validateDDSecurityData": false,
"combinedRoleMappingEnabled": true,
"delegateMBeanAuthorization": false,
"authorizerTypes": [
"weblogic.security.providers.authorization.DefaultAuthorizer",
"weblogic.security.providers.xacml.authorization.XACMLAuthorizer"
],
"deployableProviderSynchronizationTimeout": 60000,
"passwordValidatorTypes": ["com.bea.security.providers.authentication.passwordvalidator.SystemPasswordValidator"],
"certPathProviderTypes": [
"weblogic.security.providers.pk.CertificateRegistry",
"weblogic.security.providers.pk.WebLogicCertPathProvider"
],
"deployableProviderSynchronizationEnabled": false,
"identityAssertionHeaderNamePrecedence": [],
"name": "Partition1Realm",
"retireTimeoutSeconds": 60,
"securityDDModel": "DDOnly",
"certPathBuilder": [
"securityConfiguration",
"realms",
"Partition1Realm",
"certPathProviders",
"WebLogicCertPathProvider"
]
}

----------------------------------------------------------------------
View the new virtual targets
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/virtualTargets?links=none

HTTP/1.1 200 OK

Response Body:
{"items": [{
"identity": [
"virtualTargets",
"Partition1VirtualTarget"
],
"explicitPort": 0,
"notes": null,
"portOffset": 0,
"hostNames": ["localhost"],
"name": "Partition1VirtualTarget",
"uriPrefix": "\/partition1",
"id": 0,
"deploymentOrder": 1000,
"dynamicallyCreated": false,
"type": "VirtualTarget",
"partitionChannel": "PartitionChannel",
"tags": [],
"targets": [{"identity": [
"clusters",
"Cluster1"
]}]
}]}

----------------------------------------------------------------------
View the new partition's resource groups
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/partitions/Partition1/resourceGroups?links=none

HTTP/1.1 200 OK

Response Body:
{"items": [{
"identity": [
"partitions",
"Partition1",
"resourceGroups",
"Partition1ResourceGroup"
],
"uploadDirectoryName": "\/domains\/mydomain\/partitions\/Partition1\/system\/servers\/AdminServer\/upload\/",
"notes": null,
"useDefaultTarget": false,
"administrative": false,
"name": "Partition1ResourceGroup",
"autoTargetAdminServer": false,
"id": 0,
"dynamicallyCreated": false,
"type": "ResourceGroup",
"tags": [],
"resourceGroupTemplate": null,
"targets": [{"identity": [
"virtualTargets",
"Partition1VirtualTarget"
]}]
}]}

----------------------------------------------------------------------
View all the resource manager configurations
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
resourceManagement: {
links: [], fields: [],
children: {
resourceManagers: {
links: [], fields: [ 'name' ],
children: {
fileOpen: {
links: [], fields: [],
children: {
triggers: { links: [], fields: [ 'name', 'action', 'value' ] }
}
},
heapRetained: {
links: [], fields: [],
children: {
triggers: { links: [], fields: [ 'name', 'action', 'value' ] }
}
},
cpuUtilization: {
links: [], fields: [],
children: {
triggers: { links: [], fields: [ 'name', 'action', 'value' ] }
}
},
}
}
}
},
partitions: {
links: [], fields: [ 'name', 'resourceManagerRef' ],
children: {
resourceManager: {
links: [], fields: [],
children: {
fileOpen: {
links: [], fields: [],
children: {
triggers: { links: [], fields: [ 'name', 'action', 'value' ] }
}
},
heapRetained: {
links: [], fields: [],
children: {
triggers: { links: [], fields: [ 'name', 'action', 'value' ] }
}
},
cpuUtilization: {
links: [], fields: [],
children: {
triggers: { links: [], fields: [ 'name', 'action', 'value' ] }
}
},
}
}
}
}
}
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/search

HTTP/1.1 100 Continue HTTP/1.1 200 OK

Response Body:
{
"partitions": {"items": [{
"name": "Partition1",
"resourceManagerRef": [
"resourceManagement",
"resourceManagers",
"Partition1ResourceManager"
],
"resourceManager": null
}]},
"resourceManagement": {"resourceManagers": {"items": [{
"name": "Partition1ResourceManager",
"fileOpen": {"triggers": {"items": [{
"name": "NotifyTrigger",
"action": "notify",
"value": 4
}]}},
"cpuUtilization": {"triggers": {"items": [
{
"name": "NotifyTrigger",
"action": "notify",
"value": 50
},
{
"name": "SlowTrigger",
"action": "slow",
"value": 60
}
]}},
"heapRetained": {"triggers": {"items": [{
"name": "NotifyTrigger",
"action": "notify",
"value": 200
}]}}
}]}}
}

----------------------------------------------------------------------
View the new partition
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/partitions/Partition1?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"partitions",
"Partition1"
],
"batchJobsExecutorServiceName": null,
"jobSchedulerTableName": "WEBLOGIC_TIMERS",
"notes": null,
"parallelDeployApplications": true,
"startupTimeout": 0,
"partitionID": "dd28825b-4c19-4907-b5e7-f1b9c091f6d2",
"maxConcurrentLongRunningRequests": 50,
"ignoreSessionsDuringShutdown": false,
"type": "Partition",
"maxConcurrentNewThreads": 50,
"tags": [],
"gracefulShutdownTimeout": 0,
"RCMHistoricalDataBufferLimit": 250,
"uploadDirectoryName": "\/domains\/mydomain\/partitions\/Partition1\/system\/servers\/AdminServer\/upload\/",
"primaryIdentityDomain": "Partition1IdentityDomain",
"eagerTrackingOfResourceMetricsEnabled": false,
"parallelDeployApplicationModules": false,
"partitionLifeCycleTimeoutVal": 30,
"name": "Partition1",
"resourceDeploymentPlanPath": null,
"id": 0,
"batchJobsDataSourceJndiName": null,
"dynamicallyCreated": false,
"dataSourceForJobScheduler": null,
"resourceManagerRef": [
"resourceManagement",
"resourceManagers",
"Partition1ResourceManager"
],
"realm": [
"securityConfiguration",
"realms",
"Partition1Realm"
],
"partitionWorkManagerRef": null,
"defaultTargets": [{"identity": [
"virtualTargets",
"Partition1VirtualTarget"
]}],
"availableTargets": [{"identity": [
"virtualTargets",
"Partition1VirtualTarget"
]}]
}

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/domainRuntime/domainPartitionRuntimes/Partition1?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"domainPartitionRuntimes",
"Partition1"
],
"partitionID": "dd28825b-4c19-4907-b5e7-f1b9c091f6d2",
"name": "Partition1",
"type": "DomainPartitionRuntime"
}

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/domainRuntime/domainPartitionRuntimes/Partition1/partitionLifeCycleRuntime?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"domainPartitionRuntimes",
"Partition1",
"partitionLifeCycleRuntime"
],
"subState": null,
"name": "Partition1",
"state": "RUNNING",
"type": "PartitionLifeCycleRuntime"
}

----------------------------------------------------------------------
Search for all of the new partition's partitionRuntimes
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
links: [], fields: [ 'name' ],
children: {
partitionRuntimes: {
links: [], fields: [ 'name', 'state', 'restartRequired' ]
}
}
}
}
}" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/search

HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [
{
"name": "Cluster1Server1",
"partitionRuntimes": {"items": [{
"restartRequired": false,
"name": "Partition1",
"state": "RUNNING"
}]}
},
{
"name": "AdminServer",
"partitionRuntimes": {"items": [{
"restartRequired": false,
"name": "Partition1",
"state": "RUNNING"
}]}
},
{
"name": "Cluster1Server2",
"partitionRuntimes": {"items": [{
"restartRequired": false,
"name": "Partition1",
"state": "RUNNING"
}]}
}
]}}

Configuring System Resources

Review an example script that demonstrates how a Deployer configures JDBC and JMS system resources.

Note:

To view long URLs, use the scroll bar located beneath the section.

----------------------------------------------------------------------
Demonstrate a domain deployer configuring system resources
----------------------------------------------------------------------

----------------------------------------------------------------------
View the default values for a new global JDBC system resource
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/JDBCSystemResourceCreateForm?links=none

HTTP/1.1 200 OK

Response Body:
{
"notes": null,
"moduleType": null,
"deploymentPrincipalName": null,
"compatibilityName": null,
"deploymentOrder": 100,
"tags": null,
"targets": [],
"name": null,
"descriptorFileName": null
}

----------------------------------------------------------------------
Start editing
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/changeManager/startEdit

HTTP/1.1 200 OK

Response Body:
{}

----------------------------------------------------------------------
Create a new global JDBC system resource and set its name
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name: 'JDBCDataSource1',
targets: [ { identity: [ clusters, 'Cluster1' ] } ]
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/JDBCSystemResources?saveChanges=false

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/JDBCSystemResources/JDBCDataSource1

Response Body:
{}

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name: 'JDBCDataSource1'
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/JDBCSystemResources/JDBCDataSource1/JDBCResource

HTTP/1.1 200 OK

Response Body:
{}

----------------------------------------------------------------------
Configure the JDBC system resource's JNDI name
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
JNDINames: [ 'JDBCDataSource1' ]
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/JDBCSystemResources/JDBCDataSource1/JDBCResource/JDBCDataSourceParams

HTTP/1.1 200 OK

Response Body:
{}

----------------------------------------------------------------------
Configure the JDBC system resource's driver info
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
driverName: 'org.apache.derby.jdbc.ClientXADataSource',
url:        'jdbc:derby://localhost:1527/demo'
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/JDBCSystemResources/JDBCDataSource1/JDBCResource/JDBCDriverParams

HTTP/1.1 200 OK

Response Body:
{}

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name:  'portNumber',
value: '1527'
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/JDBCSystemResources/JDBCDataSource1/JDBCResource/JDBCDriverParams/properties/properties

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/JDBCSystemResources/JDBCDataSource1/JDBCResource/JDBCDriverParams/properties/properties/portNumber

Response Body:
{}

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name:  'databaseName',
value: 'demo;create=true'
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/JDBCSystemResources/JDBCDataSource1/JDBCResource/JDBCDriverParams/properties/properties

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/JDBCSystemResources/JDBCDataSource1/JDBCResource/JDBCDriverParams/properties/properties/databaseName

Response Body:
{}

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name:  'serverName',
value: 'localhost'
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/JDBCSystemResources/JDBCDataSource1/JDBCResource/JDBCDriverParams/properties/properties

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/JDBCSystemResources/JDBCDataSource1/JDBCResource/JDBCDriverParams/properties/properties/serverName

Response Body:
{}

----------------------------------------------------------------------
Activate the changes
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/changeManager/activate

HTTP/1.1 200 OK

Response Body:
{}

----------------------------------------------------------------------
View the new JDBC system resource
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/JDBCSystemResources/JDBCDataSource1?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"JDBCSystemResources",
"JDBCDataSource1"
],
"notes": null,
"moduleType": null,
"deploymentPrincipalName": null,
"descriptorFileName": "jdbc\/JDBCDataSource1-6865-jdbc.xml",
"name": "JDBCDataSource1",
"compatibilityName": null,
"id": 0,
"deploymentOrder": 100,
"dynamicallyCreated": false,
"type": "JDBCSystemResource",
"sourcePath": ".\/config\/jdbc\/JDBCDataSource1-6865-jdbc.xml",
"tags": [],
"resource": [
"JDBCSystemResources",
"JDBCDataSource1",
"JDBCResource"
],
"targets": [{"identity": [
"clusters",
"Cluster1"
]}]
}

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/JDBCSystemResources/JDBCDataSource1/JDBCResource?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"JDBCSystemResources",
"JDBCDataSource1",
"JDBCResource"
],
"datasourceType": null,
"name": "JDBCDataSource1",
"id": 0,
"version": null
}

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/JDBCSystemResources/JDBCDataSource1/JDBCResource/JDBCDataSourceParams?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"JDBCSystemResources",
"JDBCDataSource1",
"JDBCResource",
"JDBCDataSourceParams"
],
"connectionPoolFailoverCallbackHandler": null,
"globalTransactionsProtocol": "OnePhaseCommit",
"algorithmType": "Failover",
"scope": "Global",
"failoverRequestIfBusy": false,
"proxySwitchingCallback": null,
"JNDINames": ["JDBCDataSource1"],
"proxySwitchingProperties": null,
"dataSourceList": null,
"keepConnAfterGlobalTx": false
}

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/JDBCSystemResources/JDBCDataSource1/JDBCResource/JDBCDriverParams?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"JDBCSystemResources",
"JDBCDataSource1",
"JDBCResource",
"JDBCDriverParams"
],
"password": null,
"driverName": "org.apache.derby.jdbc.ClientXADataSource",
"usePasswordIndirection": false,
"url": "jdbc:derby:\/\/localhost:1527\/demo",
"useXaDataSourceInterface": true
}

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/JDBCSystemResources/JDBCDataSource1/JDBCResource/JDBCDriverParams/properties/properties?links=none

HTTP/1.1 200 OK

Response Body:
{"items": [
{
"identity": [
"JDBCSystemResources",
"JDBCDataSource1",
"JDBCResource",
"JDBCDriverParams",
"properties",
"properties",
"portNumber"
],
"encryptedValue": null,
"name": "portNumber",
"sysPropValue": null,
"value": "1527"
},
{
"identity": [
"JDBCSystemResources",
"JDBCDataSource1",
"JDBCResource",
"JDBCDriverParams",
"properties",
"properties",
"databaseName"
],
"encryptedValue": null,
"name": "databaseName",
"sysPropValue": null,
"value": "demo;create=true"
},
{
"identity": [
"JDBCSystemResources",
"JDBCDataSource1",
"JDBCResource",
"JDBCDriverParams",
"properties",
"properties",
"serverName"
],
"encryptedValue": null,
"name": "serverName",
"sysPropValue": null,
"value": "localhost"
}
]}

----------------------------------------------------------------------
Search for all of the new JDBC data source's runtimes
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
links: [], fields: [ 'name' ],
children: {
JDBCServiceRuntime: {
links: [], fields: [ 'name' ],
children: {
JDBCDataSourceRuntimeMBeans : {
links: [], fields: [ 'name', 'state' ],
name: [ 'JDBCDataSource1' ]
}
}
}
}
}
}
}" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/search

HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [
{
"name": "Cluster1Server1",
"JDBCServiceRuntime": {
"name": "Cluster1Server1",
"JDBCDataSourceRuntimeMBeans": {"items": [{
"state": "Running",
"name": "JDBCDataSource1"
}]}
}
},
{
"name": "AdminServer",
"JDBCServiceRuntime": {
"name": "AdminServer",
"JDBCDataSourceRuntimeMBeans": {"items": []}
}
},
{
"name": "Cluster1Server2",
"JDBCServiceRuntime": {
"name": "Cluster1Server2",
"JDBCDataSourceRuntimeMBeans": {"items": [{
"state": "Running",
"name": "JDBCDataSource1"
}]}
}
}
]}}

----------------------------------------------------------------------
Start editing
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/changeManager/startEdit

HTTP/1.1 200 OK

Response Body:
{}

----------------------------------------------------------------------
View the default values for a new global JMS file store
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/fileStoreCreateForm?links=none

HTTP/1.1 200 OK

Response Body:
{
"notes": null,
"fileLockingEnabled": true,
"distributionPolicy": "Distributed",
"partialClusterStabilityDelaySeconds": 240,
"deploymentOrder": 1000,
"directory": null,
"initialBootDelaySeconds": 60,
"ioBufferSize": -1,
"minWindowBufferSize": -1,
"failbackDelaySeconds": -1,
"cacheDirectory": null,
"numberOfRestartAttempts": 6,
"initialSize": 0,
"logicalName": null,
"maxFileSize": 1342177280,
"synchronousWritePolicy": "Direct-Write",
"blockSize": -1,
"tags": null,
"maxWindowBufferSize": -1,
"migrationPolicy": "Off",
"secondsBetweenRestarts": 30,
"targets": [],
"name": null
}

----------------------------------------------------------------------
Create a new global file store
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name:               'FileStore1',
targets:            [ { identity: [ 'clusters', 'Cluster1' ] } ]
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/fileStores

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/fileStores/FileStore1

Response Body:
{}

----------------------------------------------------------------------
View the default values for a new global JMS server
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/JMSServerCreateForm?links=none

HTTP/1.1 200 OK

Response Body:
{
"messagesThresholdHigh": -1,
"hostingTemporaryDestinations": true,
"temporaryTemplateName": null,
"notes": null,
"maximumMessageSize": 2147483647,
"allowsPersistentDowngrade": false,
"storeMessageCompressionEnabled": false,
"deploymentOrder": 1000,
"pagingMessageCompressionEnabled": false,
"messageBufferSize": -1,
"expirationScanInterval": 30,
"bytesThresholdLow": -1,
"messagesThresholdLow": -1,
"blockingSendPolicy": "FIFO",
"pagingBlockSize": -1,
"insertionPausedAtStartup": "default",
"pagingMaxWindowBufferSize": -1,
"bytesThresholdHigh": -1,
"pagingMaxFileSize": 1342177280,
"productionPausedAtStartup": "default",
"pagingFileLockingEnabled": true,
"tags": null,
"bytesMaximum": -1,
"temporaryTemplateResource": null,
"messageCompressionOptions": "GZIP_DEFAULT_COMPRESSION",
"pagingMinWindowBufferSize": -1,
"pagingIoBufferSize": -1,
"messagesMaximum": -1,
"consumptionPausedAtStartup": "default",
"pagingDirectory": null,
"storeEnabled": true,
"persistentStore": null,
"targets": [],
"name": null
}

----------------------------------------------------------------------
Create a new global JMS server and hook it up to the cluster and file store
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name:            'JMSServer1',
messagesMaximum: 10000,
bytesMaximum:    10000000,
targets:         [ { identity: [ 'clusters', 'Cluster1' ] } ],
persistentStore: [ 'fileStores', 'FileStore1' ]
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/JMSServers

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/JMSServers/JMSServer1

Response Body:
{}

----------------------------------------------------------------------
View the default values for a new global JMS system resource
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/JMSSystemResourceCreateForm?links=none

HTTP/1.1 200 OK

Response Body:
{
"notes": null,
"moduleType": null,
"deploymentPrincipalName": null,
"compatibilityName": null,
"deploymentOrder": 100,
"tags": null,
"targets": [],
"name": null,
"descriptorFileName": null
}

----------------------------------------------------------------------
Create a new global JMS system resource and hook it up to the cluster
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name:    'JMSSystemResource1',
targets: [ { identity: [ 'clusters', 'Cluster1' ] } ]
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/JMSSystemResources

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/JMSSystemResources/JMSSystemResource1

Response Body:
{}

----------------------------------------------------------------------
View the default values for a new JMS subdeployment
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/JMSSystemResources/JMSSystemResource1/subDeploymentCreateForm?links=none

HTTP/1.1 200 OK

Response Body:
{
"notes": null,
"moduleType": null,
"compatibilityName": null,
"untargeted": false,
"tags": null,
"targets": [],
"name": null
}

----------------------------------------------------------------------
Create a new JMS subdeployment and hook it up to the JMS server
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name:    'JMSSubDeployment1',
targets: [ { identity: [ 'JMSServers', 'JMSServer1' ] } ]
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/JMSSystemResources/JMSSystemResource1/subDeployments

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/JMSSystemResources/JMSSystemResource1/subDeployments/JMSSubDeployment1

Response Body:
{}

----------------------------------------------------------------------
View the default values for a new JMS connection factory
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/JMSSystemResources/JMSSystemResource1/JMSResource/connectionFactoryCreateForm?links=none

HTTP/1.1 200 OK

Response Body:
{
"notes": null,
"JNDIName": null,
"defaultTargetingEnabled": false,
"localJNDIName": null,
"name": null
}

----------------------------------------------------------------------
Create a new JMS connection factory and hook it up to the JMS subdeployment
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name:              'ConnectionFactory1',
subDeploymentName: 'JMSSubDeployment1'
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/JMSSystemResources/JMSSystemResource1/JMSResource/connectionFactories

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/JMSSystemResources/JMSSystemResource1/JMSResource/connectionFactories/ConnectionFactory1

Response Body:
{}

----------------------------------------------------------------------
View the default values for a new JMS distributed queue
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/JMSSystemResources/JMSSystemResource1/JMSResource/uniformDistributedQueueCreateForm?links=none

HTTP/1.1 200 OK

Response Body:
{
"notes": null,
"JNDIName": null,
"unitOfOrderRouting": "Hash",
"resetDeliveryCountOnForward": true,
"defaultUnitOfOrder": false,
"defaultTargetingEnabled": false,
"incompleteWorkExpirationTime": -1,
"loadBalancingPolicy": "Round-Robin",
"forwardDelay": -1,
"JMSCreateDestinationIdentifier": null,
"localJNDIName": null,
"template": null,
"quota": null,
"name": null
}

----------------------------------------------------------------------
Create a new JMS uniform distributed queue and hook it up to the JMS subdeployment
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name:              'UniformDistributedQueue1',
subDeploymentName: 'JMSSubDeployment1'
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/JMSSystemResources/JMSSystemResource1/JMSResource/uniformDistributedQueues

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/JMSSystemResources/JMSSystemResource1/JMSResource/uniformDistributedQueues/UniformDistributedQueue1

Response Body:
{}

----------------------------------------------------------------------
Activate the changes
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/changeManager/activate

HTTP/1.1 200 OK

Response Body:
{}

----------------------------------------------------------------------
View the file stores
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/fileStores?links=none

HTTP/1.1 200 OK

Response Body:
{"items": [{
"identity": [
"fileStores",
"FileStore1"
],
"notes": null,
"fileLockingEnabled": true,
"distributionPolicy": "Distributed",
"partialClusterStabilityDelaySeconds": 240,
"deploymentOrder": 1000,
"type": "FileStore",
"directory": null,
"initialBootDelaySeconds": 60,
"ioBufferSize": -1,
"minWindowBufferSize": -1,
"failbackDelaySeconds": -1,
"cacheDirectory": null,
"id": 0,
"dynamicallyCreated": false,
"XAResourceName": null,
"numberOfRestartAttempts": 6,
"initialSize": 0,
"logicalName": null,
"maxFileSize": 1342177280,
"synchronousWritePolicy": "Direct-Write",
"blockSize": -1,
"tags": [],
"maxWindowBufferSize": -1,
"name": "FileStore1",
"migrationPolicy": "Off",
"secondsBetweenRestarts": 30,
"restartInPlace": false,
"targets": [{"identity": [
"clusters",
"Cluster1"
]}]
}]}

----------------------------------------------------------------------
View the JMS servers
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/JMSServers?links=none

HTTP/1.1 200 OK

Response Body:
{"items": [{
"identity": [
"JMSServers",
"JMSServer1"
],
"messagesThresholdHigh": -1,
"hostingTemporaryDestinations": true,
"temporaryTemplateName": null,
"notes": null,
"maximumMessageSize": 2147483647,
"allowsPersistentDowngrade": false,
"storeMessageCompressionEnabled": false,
"deploymentOrder": 1000,
"type": "JMSServer",
"pagingMessageCompressionEnabled": false,
"messageBufferSize": -1,
"expirationScanInterval": 30,
"bytesThresholdLow": -1,
"messagesThresholdLow": -1,
"blockingSendPolicy": "FIFO",
"id": 0,
"dynamicallyCreated": false,
"pagingBlockSize": -1,
"insertionPausedAtStartup": "default",
"pagingMaxWindowBufferSize": -1,
"bytesThresholdHigh": -1,
"pagingMaxFileSize": 1342177280,
"productionPausedAtStartup": "default",
"pagingFileLockingEnabled": true,
"tags": [],
"bytesMaximum": 10000000,
"temporaryTemplateResource": null,
"messageCompressionOptions": "GZIP_DEFAULT_COMPRESSION",
"pagingMinWindowBufferSize": -1,
"pagingIoBufferSize": -1,
"messagesMaximum": 10000,
"name": "JMSServer1",
"consumptionPausedAtStartup": "default",
"pagingDirectory": null,
"storeEnabled": true,
"persistentStore": [
"fileStores",
"FileStore1"
],
"targets": [{"identity": [
"clusters",
"Cluster1"
]}]
}]}

----------------------------------------------------------------------
View the JMS system resources and their children
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
JMSSystemResources: {
links: [],
children: {
JMSResource: {
links: [], fields: [],
children: {
connectionFactories: {
links: []
},
distributedQueues: {
links: []
},
}
},
subDeployments: {
links: []
}
}
}
}
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/search

HTTP/1.1 200 OK

Response Body:
{"JMSSystemResources": {"items": [{
"identity": [
"JMSSystemResources",
"JMSSystemResource1"
],
"notes": null,
"moduleType": null,
"deploymentPrincipalName": null,
"descriptorFileName": "jms\/jmssystemresource1-jms.xml",
"name": "JMSSystemResource1",
"compatibilityName": null,
"id": 0,
"deploymentOrder": 100,
"dynamicallyCreated": false,
"type": "JMSSystemResource",
"sourcePath": ".\/config\/jms\/jmssystemresource1-jms.xml",
"tags": [],
"resource": [
"JMSSystemResources",
"JMSSystemResource1",
"JMSResource"
],
"targets": [{"identity": [
"clusters",
"Cluster1"
]}],
"subDeployments": {"items": [{
"identity": [
"JMSSystemResources",
"JMSSystemResource1",
"subDeployments",
"JMSSubDeployment1"
],
"notes": null,
"moduleType": null,
"name": "JMSSubDeployment1",
"compatibilityName": null,
"untargeted": false,
"id": 0,
"dynamicallyCreated": false,
"type": "SubDeployment",
"tags": [],
"targets": [{"identity": [
"JMSServers",
"JMSServer1"
]}]
}]},
"JMSResource": {"connectionFactories": {"items": [{
"identity": [
"JMSSystemResources",
"JMSSystemResource1",
"JMSResource",
"connectionFactories",
"ConnectionFactory1"
],
"notes": null,
"JNDIName": null,
"defaultTargetingEnabled": false,
"name": "ConnectionFactory1",
"subDeploymentName": "JMSSubDeployment1",
"id": 0,
"localJNDIName": null
}]}}
}]}}

----------------------------------------------------------------------
Search for all of the JMS related runtimes
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
links: [], fields: [ 'name' ],
children: {
JMSRuntime: {
links: [], fields: [ 'name', 'healthState' ],
children: {
JMSServers: {
links: [], fields: [ 'name', 'healthState' ],
children: {
destinations: {
links: [], fields: [ 'name', 'state' ],
}
}
}
}
}
}
}
}
}" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/search

HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [
{
"name": "Cluster1Server1",
"JMSRuntime": {
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "Cluster1Server1.jms",
"JMSServers": {"items": [{
"healthState": {
"state": "ok",
"subsystemName": "JMSServer.JMSServer1@Cluster1Server1",
"partitionName": null,
"symptoms": []
},
"name": "JMSServer1@Cluster1Server1",
"destinations": {"items": [{
"state": "started",
"name": "JMSSystemResource1!JMSServer1@Cluster1Server1@UniformDistributedQueue1"
}]}
}]}
}
},
{
"name": "AdminServer",
"JMSRuntime": {
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "AdminServer.jms",
"JMSServers": {"items": []}
}
},
{
"name": "Cluster1Server2",
"JMSRuntime": {
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "Cluster1Server2.jms",
"JMSServers": {"items": [{
"healthState": {
"state": "ok",
"subsystemName": "JMSServer.JMSServer1@Cluster1Server2",
"partitionName": null,
"symptoms": []
},
"name": "JMSServer1@Cluster1Server2",
"destinations": {"items": [{
"state": "started",
"name": "JMSSystemResource1!JMSServer1@Cluster1Server2@UniformDistributedQueue1"
}]}
}]}
}
}
]}}

Deploying Domain-Scoped Applications

Review an example script that demonstrates how a Deployer deploys domain-scoped applications.

Note:

To view long URLs, use the scroll bar located beneath the section.

----------------------------------------------------------------------
Demonstrate a domain deployer deploying apps
----------------------------------------------------------------------

----------------------------------------------------------------------
Synchronously deploy a domain-scoped server-side application to the cluster
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name:       'fairShare',
sourcePath: '/deployments/fairShare.war',
targets:    [ { identity: [ 'clusters', 'Cluster1' ] } ]
}" \
-X POST http://localhost:7001/management/weblogic/latest/edit/appDeployments

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/edit/appDeployments/fairShare

Response Body:
{
"links": [{
"rel": "job",
"href": "http:\/\/localhost:7001\/management\/weblogic\/latest\/domainRuntime\/deploymentManager\/deploymentProgressObjects\/fairShare"
}],
"identity": [
"deploymentManager",
"deploymentProgressObjects",
"fairShare"
],
"rootExceptions": [],
"endTimeAsLong": 1507164868075,
"deploymentMessages": [
"[Deployer:149191]Operation \"deploy\" on application \"fairShare\" is initializing on \"Cluster1Server2\".",
"[Deployer:149191]Operation \"deploy\" on application \"fairShare\" is initializing on \"Cluster1Server1\".",
"[Deployer:149192]Operation \"deploy\" on application \"fairShare\" is in progress on \"Cluster1Server1\".",
"[Deployer:149192]Operation \"deploy\" on application \"fairShare\" is in progress on \"Cluster1Server2\".",
"[Deployer:149194]Operation \"deploy\" on application \"fairShare\" has succeeded on \"Cluster1Server1\".",
"[Deployer:149194]Operation \"deploy\" on application \"fairShare\" has succeeded on \"Cluster1Server2\"."
],
"name": "fairShare",
"operationType": 3,
"startTimeAsLong": 1507164862876,
"state": "STATE_COMPLETED",
"id": "0",
"type": "DeploymentProgressObject",
"targets": ["Cluster1"],
"applicationName": "fairShare",
"failedTargets": [],
"progress": "success",
"completed": true,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:54:22.876-04:00",
"endTime": "2017-10-04T20:54:28.075-04:00"
}

----------------------------------------------------------------------
Asynchronously upload a domain-scoped application from the client and deploy it to the cluster
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:multipart/form-data \
-F "model={
name:    'basicapp',
targets: [ { identity: [ 'clusters' , 'Cluster1' ] } ]
}" \
-F "sourcePath=@/deployments/BasicApp/app/BasicApp.ear" \
-F "planPath=@/deployments/BasicApp/plan/Plan.xml" \
-H "Prefer:respond-async" \
-X POST http://localhost:7001/management/weblogic/latest/edit/appDeployments

HTTP/1.1 100 Continue HTTP/1.1 202 Accepted

Location: http://localhost:7001/management/weblogic/latest/domainRuntime/deploymentManager/deploymentProgressObjects/basicapp

Response Body:
{
"links": [{
"rel": "job",
"href": "http:\/\/localhost:7001\/management\/weblogic\/latest\/domainRuntime\/deploymentManager\/deploymentProgressObjects\/basicapp"
}],
"identity": [
"deploymentManager",
"deploymentProgressObjects",
"basicapp"
],
"rootExceptions": [],
"deploymentMessages": [],
"name": "basicapp",
"operationType": 3,
"startTimeAsLong": 1507164868560,
"state": "STATE_RUNNING",
"id": "1",
"type": "DeploymentProgressObject",
"targets": ["Cluster1"],
"applicationName": "basicapp",
"failedTargets": [],
"progress": "processing",
"completed": false,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:54:28.560-04:00"
}

----------------------------------------------------------------------
Get status for job domainRuntime/deploymentManager/deploymentProgressObjects/basicapp
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/domainRuntime/deploymentManager/deploymentProgressObjects/basicapp?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"deploymentManager",
"deploymentProgressObjects",
"basicapp"
],
"rootExceptions": [],
"deploymentMessages": ["[Deployer:149191]Operation \"deploy\" on application \"basicapp\" is initializing on \"Cluster1Server2\"."],
"name": "basicapp",
"operationType": 3,
"startTimeAsLong": 1507164868560,
"state": "STATE_RUNNING",
"id": "1",
"type": "DeploymentProgressObject",
"targets": ["Cluster1"],
"applicationName": "basicapp",
"failedTargets": [],
"progress": "processing",
"completed": false,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:54:28.560-04:00"
}

----------------------------------------------------------------------
Get status for job domainRuntime/deploymentManager/deploymentProgressObjects/basicapp
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/domainRuntime/deploymentManager/deploymentProgressObjects/basicapp?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"deploymentManager",
"deploymentProgressObjects",
"basicapp"
],
"rootExceptions": [],
"endTimeAsLong": 1507164871062,
"deploymentMessages": [
"[Deployer:149191]Operation \"deploy\" on application \"basicapp\" is initializing on \"Cluster1Server2\".",
"[Deployer:149191]Operation \"deploy\" on application \"basicapp\" is initializing on \"Cluster1Server2\".",
"[Deployer:149191]Operation \"deploy\" on application \"basicapp\" is initializing on \"Cluster1Server1\".",
"[Deployer:149192]Operation \"deploy\" on application \"basicapp\" is in progress on \"Cluster1Server1\".",
"[Deployer:149192]Operation \"deploy\" on application \"basicapp\" is in progress on \"Cluster1Server2\".",
"[Deployer:149194]Operation \"deploy\" on application \"basicapp\" has succeeded on \"Cluster1Server1\".",
"[Deployer:149194]Operation \"deploy\" on application \"basicapp\" has succeeded on \"Cluster1Server2\"."
],
"name": "basicapp",
"operationType": 3,
"startTimeAsLong": 1507164868560,
"state": "STATE_COMPLETED",
"id": "1",
"type": "DeploymentProgressObject",
"targets": ["Cluster1"],
"applicationName": "basicapp",
"failedTargets": [],
"progress": "success",
"completed": true,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:54:28.560-04:00",
"endTime": "2017-10-04T20:54:31.062-04:00"
}

----------------------------------------------------------------------
View the new applications' configurations
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/appDeployments/fairShare?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"appDeployments",
"fairShare"
],
"stagingMode": null,
"absoluteSourcePath": "\/deployments\/fairShare.war",
"notes": null,
"absoluteAltDescriptorPath": null,
"deploymentOrder": 100,
"type": "AppDeployment",
"installDir": null,
"id": 0,
"altDescriptorDir": null,
"dynamicallyCreated": false,
"sourcePath": "\/deployments\/fairShare.war",
"applicationName": "fairShare",
"absoluteAltDescriptorDir": null,
"moduleType": "war",
"planStagingMode": null,
"cacheInAppDirectory": false,
"absoluteInstallDir": null,
"compatibilityName": null,
"absolutePlanPath": null,
"untargeted": false,
"planDir": null,
"validateDDSecurityData": false,
"applicationIdentifier": "fairShare",
"tags": [],
"planPath": null,
"versionIdentifier": null,
"deploymentPrincipalName": null,
"absolutePlanDir": null,
"name": "fairShare",
"parallelDeployModules": false,
"securityDDModel": "DDOnly",
"targets": [{"identity": [
"clusters",
"Cluster1"
]}]
}

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/edit/appDeployments/basicapp?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"appDeployments",
"basicapp"
],
"stagingMode": null,
"absoluteSourcePath": "\/domains\/mydomain\/servers\/AdminServer\/upload\/basicapp\/app\/BasicApp.ear",
"notes": null,
"absoluteAltDescriptorPath": null,
"deploymentOrder": 100,
"type": "AppDeployment",
"installDir": null,
"id": 0,
"altDescriptorDir": null,
"dynamicallyCreated": false,
"sourcePath": "servers\/AdminServer\/upload\/basicapp\/app\/BasicApp.ear",
"applicationName": "basicapp",
"absoluteAltDescriptorDir": null,
"moduleType": "ear",
"planStagingMode": null,
"cacheInAppDirectory": false,
"absoluteInstallDir": null,
"compatibilityName": null,
"absolutePlanPath": "\/domains\/mydomain\/servers\/AdminServer\/upload\/basicapp\/plan\/Plan.xml",
"untargeted": false,
"planDir": null,
"validateDDSecurityData": false,
"applicationIdentifier": "basicapp",
"tags": [],
"planPath": "servers\/AdminServer\/upload\/basicapp\/plan\/Plan.xml",
"versionIdentifier": null,
"deploymentPrincipalName": null,
"absolutePlanDir": null,
"name": "basicapp",
"parallelDeployModules": false,
"securityDDModel": "DDOnly",
"targets": [{"identity": [
"clusters",
"Cluster1"
]}]
}

----------------------------------------------------------------------
View the new applications' appDeploymentRuntimes
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/domainRuntime/deploymentManager/appDeploymentRuntimes/fairShare?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"deploymentManager",
"appDeploymentRuntimes",
"fairShare"
],
"applicationVersion": null,
"partitionName": null,
"name": "fairShare",
"type": "AppDeploymentRuntime",
"applicationName": "fairShare",
"modules": ["fairShare"]
}

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/domainRuntime/deploymentManager/appDeploymentRuntimes/basicapp?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"deploymentManager",
"appDeploymentRuntimes",
"basicapp"
],
"applicationVersion": null,
"partitionName": null,
"name": "basicapp",
"type": "AppDeploymentRuntime",
"applicationName": "basicapp",
"modules": [
"BasicEJB.jar",
"BasicAuth"
]
}

----------------------------------------------------------------------
Search for all of the new applications' applicationRuntimes
----------------------------------------------------------------------

curl -v \
--user deployer:deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
links: [], fields: [ 'name' ],
children: {
applicationRuntimes: {
links: [],
name: [ 'fairShare', 'basicapp' ]
}
}
}
}
}" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/search

HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [
{
"name": "Cluster1Server1",
"applicationRuntimes": {"items": [
{
"identity": [
"applicationRuntimes",
"fairShare"
],
"applicationVersion": null,
"internal": false,
"partitionName": null,
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "fairShare",
"type": "ApplicationRuntime",
"activeVersionState": 2,
"applicationName": "fairShare"
},
{
"identity": [
"applicationRuntimes",
"basicapp"
],
"applicationVersion": null,
"internal": false,
"partitionName": null,
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "basicapp",
"type": "ApplicationRuntime",
"activeVersionState": 2,
"applicationName": "basicapp"
}
]}
},
{
"name": "AdminServer",
"applicationRuntimes": {"items": []}
},
{
"name": "Cluster1Server2",
"applicationRuntimes": {"items": [
{
"identity": [
"applicationRuntimes",
"fairShare"
],
"applicationVersion": null,
"internal": false,
"partitionName": null,
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "fairShare",
"type": "ApplicationRuntime",
"activeVersionState": 2,
"applicationName": "fairShare"
},
{
"identity": [
"applicationRuntimes",
"basicapp"
],
"applicationVersion": null,
"internal": false,
"partitionName": null,
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "basicapp",
"type": "ApplicationRuntime",
"activeVersionState": 2,
"applicationName": "basicapp"
}
]}
}
]}}

Monitoring Domain Resources

Review an example script that demonstrates how an Operator monitors the entire domain, including its partitions and resource managers.

Resource managers monitor and control system resource sharing by collocated partition users. For more information about resource management, see Configuring Resource Consumption Management in Using Oracle WebLogic Server Multitenant.

The example script also shows how to monitor data sources and JMS, capture and download diagnostic images, search logs, and return consolidated search results.

Note:

To view long URLs, use the scroll bar located beneath the section.

----------------------------------------------------------------------
Demonstrate a domain monitor monitoring the domain
----------------------------------------------------------------------

----------------------------------------------------------------------
Monitor the servers
----------------------------------------------------------------------

curl -v \
--user monitor:monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/domainRuntime/serverRuntimes?links=none&fields=name,overallHealthState,healthState,state,openSocketsCurrentCount,activationTime

HTTP/1.1 200 OK

Response Body:
{"items": [
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"state": "RUNNING",
"activationTime": 1507164728086,
"openSocketsCurrentCount": 6,
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "Cluster1Server1"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"state": "RUNNING",
"activationTime": 1507164674067,
"openSocketsCurrentCount": 19,
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "AdminServer"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"state": "RUNNING",
"activationTime": 1507164789951,
"openSocketsCurrentCount": 6,
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "Cluster1Server2"
}
]}

----------------------------------------------------------------------
Get the number of open sockets of the server that has the highest number of open sockets
----------------------------------------------------------------------

curl -v \
--user monitor:monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
mergeCollection: true,
fields: [ { name: 'openSocketsCurrentCount', max:true } ]
}
}
}" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/search

HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [{"openSocketsCurrentCount": {"max": 19}}]}}

----------------------------------------------------------------------
Get the total number of open sockets of the running servers
----------------------------------------------------------------------

curl -v \
--user monitor:monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
mergeCollection: true,
fields: [ { name: 'openSocketsCurrentCount', total:true } ]
}
}
}" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/search

HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [{"openSocketsCurrentCount": {
"total": 31,
"count": 3
}}]}}

----------------------------------------------------------------------
Get a list of the running servers' overall health states
----------------------------------------------------------------------

curl -v \
--user monitor:monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
mergeCollection: true,
fields: [ { name: 'overallHealthState', values: true } ]
}
}
}" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/search

HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [{"overallHealthState": {"values": [
{
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
{
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
{
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
}
]}}]}}

----------------------------------------------------------------------
Get a list of the running servers' JVM statistics and links except for the threadStackDump and processCpuLoad fields and the parent and canonical links
----------------------------------------------------------------------

curl -v \
--user monitor:monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
'links': [], 'fields': [],
'children': {
'serverRuntimes': {
'links': [], 'fields': [ 'name' ],
'children': {
'JVMRuntime': {
'excludeFields': [ 'threadStackDump', 'processCpuLoad' ],
'excludeLinks': [ 'parent', 'canonical' ]
}
}
}
}
}" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/search

HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [
{
"name": "Cluster1Server1",
"JVMRuntime": {
"links": [{
"rel": "self",
"href": "http:\/\/localhost:7001\/management\/weblogic\/latest\/domainRuntime\/serverRuntimes\/Cluster1Server1\/JVMRuntime"
}],
"identity": ["JVMRuntime"],
"javaVersion": "1.8.0_131",
"javaVMVendor": "Oracle Corporation",
"OSName": "Mac OS X",
"javaVendor": "Oracle Corporation",
"type": "JVMRuntime",
"uptime": 198974,
"heapSizeCurrent": 268435456,
"heapFreeCurrent": 114780416,
"name": "Cluster1Server1",
"OSVersion": "10.12.6",
"heapSizeMax": 536870912,
"heapFreePercent": 71
}
},
{
"name": "AdminServer",
"JVMRuntime": {
"links": [{
"rel": "self",
"href": "http:\/\/localhost:7001\/management\/weblogic\/latest\/domainRuntime\/serverRuntimes\/AdminServer\/JVMRuntime"
}],
"identity": ["JVMRuntime"],
"javaVersion": "1.8.0_131",
"javaVMVendor": "Oracle Corporation",
"OSName": "Mac OS X",
"javaVendor": "Oracle Corporation",
"type": "JVMRuntime",
"uptime": 252955,
"heapSizeCurrent": 268435456,
"heapFreeCurrent": 75244528,
"name": "AdminServer",
"OSVersion": "10.12.6",
"heapSizeMax": 536870912,
"heapFreePercent": 64
}
},
{
"name": "Cluster1Server2",
"JVMRuntime": {
"links": [{
"rel": "self",
"href": "http:\/\/localhost:7001\/management\/weblogic\/latest\/domainRuntime\/serverRuntimes\/Cluster1Server2\/JVMRuntime"
}],
"identity": ["JVMRuntime"],
"javaVersion": "1.8.0_131",
"javaVMVendor": "Oracle Corporation",
"OSName": "Mac OS X",
"javaVendor": "Oracle Corporation",
"type": "JVMRuntime",
"uptime": 137109,
"heapSizeCurrent": 270532608,
"heapFreeCurrent": 92187608,
"name": "Cluster1Server2",
"OSVersion": "10.12.6",
"heapSizeMax": 536870912,
"heapFreePercent": 66
}
}
]}}

----------------------------------------------------------------------
Get the admin server's JVM statistics and links except for the threadStackDump and processCpuLoad fields and the parent and canonical links
----------------------------------------------------------------------

curl -v \
--user monitor:monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/serverRuntime/JVMRuntime?excludeFields=threadStackDump,processCpuLoad&excludeLinks=parent,canonical

HTTP/1.1 200 OK

Response Body:
{
"links": [{
"rel": "self",
"href": "http:\/\/localhost:7001\/management\/weblogic\/latest\/serverRuntime\/JVMRuntime"
}],
"identity": ["JVMRuntime"],
"javaVersion": "1.8.0_131",
"javaVMVendor": "Oracle Corporation",
"OSName": "Mac OS X",
"javaVendor": "Oracle Corporation",
"type": "JVMRuntime",
"uptime": 253164,
"heapSizeCurrent": 268435456,
"heapFreeCurrent": 65226752,
"name": "AdminServer",
"OSVersion": "10.12.6",
"heapSizeMax": 536870912,
"heapFreePercent": 62
}

----------------------------------------------------------------------
Monitor the partitions
----------------------------------------------------------------------

curl -v \
--user monitor:monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
links: [], fields: [ 'name' ],
children: {
partitionRuntimes: {
links: [], fields: [ 'name', 'state', 'overallHealthState', 'subsystemHealthStates' ]
}
}
}
}
}" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/search

HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [
{
"name": "Cluster1Server1",
"partitionRuntimes": {"items": [{
"subsystemHealthStates": [
{
"state": "ok",
"subsystemName": "jms-internal-notran-adp-Partition1VirtualTarget_jms-internal-notran-adp(Adapter)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "bea_wls_internal-Partition1VirtualTarget$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "eis\/jms\/internal\/WLSConnectionFactoryJNDINoTX(Adapter Outbound Pool)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "Cluster1Server1.jms",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "Cluster1Server1.saf",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "jms-internal-xa-adp-Partition1VirtualTarget$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "basicapp$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "wls-management-services-Partition1VirtualTarget$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "jms-internal-xa-adp-Partition1VirtualTarget_jms-internal-xa-adp(Adapter)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "jms-internal-notran-adp-Partition1VirtualTarget$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "fairShare$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "PersistentStore._WLS_EJBTIMER_Cluster1Server1",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "JMSServer.Partition1JMSServer1@Cluster1Server1$Partition1",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "eis\/jms\/internal\/WLSConnectionFactoryJNDIXA(Adapter Outbound Pool)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "PersistentStore.Partition1FileStore1@Cluster1Server1$Partition1",
"partitionName": "Partition1",
"symptoms": []
}
],
"overallHealthState": {
"state": "ok",
"subsystemName": "PartitionRuntime.Partition1",
"partitionName": "Partition1",
"symptoms": []
},
"name": "Partition1",
"state": "RUNNING"
}]}
},
{
"name": "AdminServer",
"partitionRuntimes": {"items": [{
"subsystemHealthStates": [
{
"state": "ok",
"subsystemName": "PersistentStore._WLS_EJBTIMER_AdminServer",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "wls-management-services-Partition1-adminVT$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "eis\/jms\/internal\/WLSConnectionFactoryJNDINoTX(Adapter Outbound Pool)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "jms-internal-notran-adp-Partition1-adminVT_jms-internal-notran-adp(Adapter)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "jms-internal-notran-adp-Partition1-adminVT$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "bea_wls_internal-Partition1-adminVT$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "AdminServer.saf",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "AdminServer.jms",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "jms-internal-xa-adp-Partition1-adminVT$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "jms-internal-xa-adp-Partition1-adminVT_jms-internal-xa-adp(Adapter)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "eis\/jms\/internal\/WLSConnectionFactoryJNDIXA(Adapter Outbound Pool)",
"partitionName": "Partition1",
"symptoms": []
}
],
"overallHealthState": {
"state": "ok",
"subsystemName": "PartitionRuntime.Partition1",
"partitionName": "Partition1",
"symptoms": []
},
"name": "Partition1",
"state": "RUNNING"
}]}
},
{
"name": "Cluster1Server2",
"partitionRuntimes": {"items": [{
"subsystemHealthStates": [
{
"state": "ok",
"subsystemName": "jms-internal-notran-adp-Partition1VirtualTarget_jms-internal-notran-adp(Adapter)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "Cluster1Server2.jms",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "JMSServer.Partition1JMSServer1@Cluster1Server2$Partition1",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "Cluster1Server2.saf",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "bea_wls_internal-Partition1VirtualTarget$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "eis\/jms\/internal\/WLSConnectionFactoryJNDINoTX(Adapter Outbound Pool)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "jms-internal-xa-adp-Partition1VirtualTarget$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "basicapp$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "wls-management-services-Partition1VirtualTarget$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "PersistentStore.Partition1FileStore1@Cluster1Server2$Partition1",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "jms-internal-xa-adp-Partition1VirtualTarget_jms-internal-xa-adp(Adapter)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "jms-internal-notran-adp-Partition1VirtualTarget$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "fairShare$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "PersistentStore._WLS_EJBTIMER_Cluster1Server2",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "eis\/jms\/internal\/WLSConnectionFactoryJNDIXA(Adapter Outbound Pool)",
"partitionName": "Partition1",
"symptoms": []
}
],
"overallHealthState": {
"state": "ok",
"subsystemName": "PartitionRuntime.Partition1",
"partitionName": "Partition1",
"symptoms": []
},
"name": "Partition1",
"state": "RUNNING"
}]}
}
]}}

----------------------------------------------------------------------
Monitor the JDBC system resources
----------------------------------------------------------------------

curl -v \
--user monitor:monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
links: [], fields: [ 'name' ],
children: {
JDBCServiceRuntime: {
links: [], fields: [ 'name' ],
children: {
JDBCDataSourceRuntimeMBeans : { links: [], excludeFields: [ 'properties' ] }
}
},
partitionRuntimes: {
links: [], fields: [ 'name' ],
children: {
JDBCPartitionRuntime: {
links: [], fields: [ 'name' ],
children: {
JDBCDataSourceRuntimeMBeans : { links: [], excludeFields: [ 'properties' ] }
}
}
}
}
}
}
}
}" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/search

HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [
{
"name": "Cluster1Server1",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"JDBCPartitionRuntime": {
"name": "Partition1",
"JDBCDataSourceRuntimeMBeans": {"items": [{
"identity": [
"partitionRuntimes",
"Partition1",
"JDBCPartitionRuntime",
"JDBCDataSourceRuntimeMBeans",
"Partition1JDBCDataSource1"
],
"connectionsTotalCount": 1,
"waitingForConnectionSuccessTotal": 0,
"highestNumUnavailable": 0,
"reserveRequestCount": 0,
"type": "JDBCDataSourceRuntime",
"waitingForConnectionTotal": 0,
"enabled": true,
"currCapacityHighCount": 1,
"resolvedAsNotCommittedTotalCount": 0,
"prepStmtCacheHitCount": 0,
"prepStmtCacheMissCount": 0,
"databaseProductName": "Apache Derby",
"commitOutcomeRetryTotalCount": 0,
"failedRepurposeCount": 0,
"state": "Running",
"moduleId": "Partition1JDBCDataSource1",
"prepStmtCacheAddCount": 0,
"failuresToReconnectCount": 0,
"repurposeCount": 0,
"databaseProductVersion": "10.11.1.1 - (1616546)",
"leakedConnectionCount": 0,
"waitingForConnectionFailureTotal": 0,
"activeConnectionsHighCount": 1,
"connectionDelayTime": 6,
"waitingForConnectionHighCount": 0,
"waitSecondsHighCount": 0,
"versionJDBCDriver": "org.apache.derby.jdbc.ClientXADataSource",
"failedReserveRequestCount": 0,
"prepStmtCacheDeleteCount": 0,
"numAvailable": 1,
"deploymentState": 2,
"unresolvedTotalCount": 0,
"prepStmtCacheAccessCount": 0,
"driverVersion": "10.11.1.1 - (1616546)",
"resolvedAsCommittedTotalCount": 0,
"prepStmtCacheCurrentSize": 0,
"name": "Partition1JDBCDataSource1",
"activeConnectionsCurrentCount": 0,
"currCapacity": 1,
"driverName": "Apache Derby Network Client JDBC Driver",
"activeConnectionsAverageCount": 0,
"numUnavailable": 0,
"waitingForConnectionCurrentCount": 0,
"highestNumAvailable": 1,
"lastTask": null
}]}
}
}]},
"JDBCServiceRuntime": {
"name": "Cluster1Server1",
"JDBCDataSourceRuntimeMBeans": {"items": [{
"identity": [
"JDBCServiceRuntime",
"JDBCDataSourceRuntimeMBeans",
"JDBCDataSource1"
],
"connectionsTotalCount": 1,
"waitingForConnectionSuccessTotal": 0,
"highestNumUnavailable": 0,
"reserveRequestCount": 0,
"type": "JDBCDataSourceRuntime",
"waitingForConnectionTotal": 0,
"enabled": true,
"currCapacityHighCount": 1,
"resolvedAsNotCommittedTotalCount": 0,
"prepStmtCacheHitCount": 0,
"prepStmtCacheMissCount": 0,
"databaseProductName": "Apache Derby",
"commitOutcomeRetryTotalCount": 0,
"failedRepurposeCount": 0,
"state": "Running",
"moduleId": "JDBCDataSource1",
"prepStmtCacheAddCount": 0,
"failuresToReconnectCount": 0,
"repurposeCount": 0,
"databaseProductVersion": "10.11.1.1 - (1616546)",
"leakedConnectionCount": 0,
"waitingForConnectionFailureTotal": 0,
"activeConnectionsHighCount": 1,
"connectionDelayTime": 1527,
"waitingForConnectionHighCount": 0,
"waitSecondsHighCount": 0,
"versionJDBCDriver": "org.apache.derby.jdbc.ClientXADataSource",
"failedReserveRequestCount": 0,
"prepStmtCacheDeleteCount": 0,
"numAvailable": 1,
"deploymentState": 2,
"unresolvedTotalCount": 0,
"prepStmtCacheAccessCount": 0,
"driverVersion": "10.11.1.1 - (1616546)",
"resolvedAsCommittedTotalCount": 0,
"prepStmtCacheCurrentSize": 0,
"name": "JDBCDataSource1",
"activeConnectionsCurrentCount": 0,
"currCapacity": 1,
"driverName": "Apache Derby Network Client JDBC Driver",
"activeConnectionsAverageCount": 0,
"numUnavailable": 0,
"waitingForConnectionCurrentCount": 0,
"highestNumAvailable": 1,
"lastTask": null
}]}
}
},
{
"name": "AdminServer",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"JDBCPartitionRuntime": null
}]},
"JDBCServiceRuntime": {
"name": "AdminServer",
"JDBCDataSourceRuntimeMBeans": {"items": []}
}
},
{
"name": "Cluster1Server2",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"JDBCPartitionRuntime": {
"name": "Partition1",
"JDBCDataSourceRuntimeMBeans": {"items": [{
"identity": [
"partitionRuntimes",
"Partition1",
"JDBCPartitionRuntime",
"JDBCDataSourceRuntimeMBeans",
"Partition1JDBCDataSource1"
],
"connectionsTotalCount": 1,
"waitingForConnectionSuccessTotal": 0,
"highestNumUnavailable": 0,
"reserveRequestCount": 0,
"type": "JDBCDataSourceRuntime",
"waitingForConnectionTotal": 0,
"enabled": true,
"currCapacityHighCount": 1,
"resolvedAsNotCommittedTotalCount": 0,
"prepStmtCacheHitCount": 0,
"prepStmtCacheMissCount": 0,
"databaseProductName": "Apache Derby",
"commitOutcomeRetryTotalCount": 0,
"failedRepurposeCount": 0,
"state": "Running",
"moduleId": "Partition1JDBCDataSource1",
"prepStmtCacheAddCount": 0,
"failuresToReconnectCount": 0,
"repurposeCount": 0,
"databaseProductVersion": "10.11.1.1 - (1616546)",
"leakedConnectionCount": 0,
"waitingForConnectionFailureTotal": 0,
"activeConnectionsHighCount": 1,
"connectionDelayTime": 4,
"waitingForConnectionHighCount": 0,
"waitSecondsHighCount": 0,
"versionJDBCDriver": "org.apache.derby.jdbc.ClientXADataSource",
"failedReserveRequestCount": 0,
"prepStmtCacheDeleteCount": 0,
"numAvailable": 1,
"deploymentState": 2,
"unresolvedTotalCount": 0,
"prepStmtCacheAccessCount": 0,
"driverVersion": "10.11.1.1 - (1616546)",
"resolvedAsCommittedTotalCount": 0,
"prepStmtCacheCurrentSize": 0,
"name": "Partition1JDBCDataSource1",
"activeConnectionsCurrentCount": 0,
"currCapacity": 1,
"driverName": "Apache Derby Network Client JDBC Driver",
"activeConnectionsAverageCount": 0,
"numUnavailable": 0,
"waitingForConnectionCurrentCount": 0,
"highestNumAvailable": 1,
"lastTask": null
}]}
}
}]},
"JDBCServiceRuntime": {
"name": "Cluster1Server2",
"JDBCDataSourceRuntimeMBeans": {"items": [{
"identity": [
"JDBCServiceRuntime",
"JDBCDataSourceRuntimeMBeans",
"JDBCDataSource1"
],
"connectionsTotalCount": 1,
"waitingForConnectionSuccessTotal": 0,
"highestNumUnavailable": 0,
"reserveRequestCount": 0,
"type": "JDBCDataSourceRuntime",
"waitingForConnectionTotal": 0,
"enabled": true,
"currCapacityHighCount": 1,
"resolvedAsNotCommittedTotalCount": 0,
"prepStmtCacheHitCount": 0,
"prepStmtCacheMissCount": 0,
"databaseProductName": "Apache Derby",
"commitOutcomeRetryTotalCount": 0,
"failedRepurposeCount": 0,
"state": "Running",
"moduleId": "JDBCDataSource1",
"prepStmtCacheAddCount": 0,
"failuresToReconnectCount": 0,
"repurposeCount": 0,
"databaseProductVersion": "10.11.1.1 - (1616546)",
"leakedConnectionCount": 0,
"waitingForConnectionFailureTotal": 0,
"activeConnectionsHighCount": 1,
"connectionDelayTime": 1527,
"waitingForConnectionHighCount": 0,
"waitSecondsHighCount": 0,
"versionJDBCDriver": "org.apache.derby.jdbc.ClientXADataSource",
"failedReserveRequestCount": 0,
"prepStmtCacheDeleteCount": 0,
"numAvailable": 1,
"deploymentState": 2,
"unresolvedTotalCount": 0,
"prepStmtCacheAccessCount": 0,
"driverVersion": "10.11.1.1 - (1616546)",
"resolvedAsCommittedTotalCount": 0,
"prepStmtCacheCurrentSize": 0,
"name": "JDBCDataSource1",
"activeConnectionsCurrentCount": 0,
"currCapacity": 1,
"driverName": "Apache Derby Network Client JDBC Driver",
"activeConnectionsAverageCount": 0,
"numUnavailable": 0,
"waitingForConnectionCurrentCount": 0,
"highestNumAvailable": 1,
"lastTask": null
}]}
}
}
]}}

----------------------------------------------------------------------
Test a domain level data source
----------------------------------------------------------------------

curl -v \
--user monitor:monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/serverRuntimes/Cluster1Server2/JDBCServiceRuntime/JDBCDataSourceRuntimeMBeans/JDBCDataSource1/testPool

HTTP/1.1 200 OK

Response Body:
{"return": null}

----------------------------------------------------------------------
Test a partition level data source
----------------------------------------------------------------------

curl -v \
--user monitor:monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{}" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/serverRuntimes/Cluster1Server2/partitionRuntimes/Partition1/JDBCPartitionRuntime/JDBCDataSourceRuntimeMBeans/Partition1JDBCDataSource1/testPool

HTTP/1.1 200 OK

Response Body:
{"return": null}

----------------------------------------------------------------------
Monitor the JMS system resources
----------------------------------------------------------------------

curl -v \
--user monitor:monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
links: [], fields: [ 'name' ],
children: {
JMSRuntime: {
links: [],
children: {
JMSServers: {
links: [],
children: {
destinations: {
links: [],
}
}
}
}
},
partitionRuntimes: {
links: [], fields: [ 'name' ],
children: {
JMSRuntime: {
links: [],
children: {
JMSServers: {
links: [],
children: {
destinations: {
links: [],
}
}
}
}
}
}
}
}
}
}
}" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/search

HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [
{
"name": "Cluster1Server1",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"JMSRuntime": {
"identity": [
"partitionRuntimes",
"Partition1",
"JMSRuntime"
],
"JMSServersHighCount": 1,
"connectionsHighCount": 0,
"connectionsTotalCount": 0,
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "Cluster1Server1.jms",
"JMSServersCurrentCount": 1,
"type": "JMSRuntime",
"JMSServersTotalCount": 1,
"connectionsCurrentCount": 0,
"JMSServers": {"items": [{
"identity": [
"partitionRuntimes",
"Partition1",
"JMSServers",
"Partition1JMSServer1@Cluster1Server1"
],
"messagesReceivedCount": 0,
"bytesThresholdTime": 0,
"bytesHighCount": 0,
"insertionPausedState": "Insertion-Enabled",
"destinationsCurrentCount": 1,
"pagingAllocatedIoBufferBytes": 0,
"type": "JMSServerRuntime",
"messagesPagedInTotalCount": 0,
"consumptionPaused": false,
"bytesPagedInTotalCount": 0,
"pagingPhysicalWriteCount": 0,
"pendingTransactions": null,
"bytesPagedOutTotalCount": 0,
"consumptionPausedState": "Consumption-Enabled",
"sessionPoolsHighCount": 0,
"bytesReceivedCount": 0,
"messagesHighCount": 0,
"productionPausedState": "Production-Enabled",
"pagingAllocatedWindowBufferBytes": 0,
"destinationsTotalCount": 1,
"sessionPoolsTotalCount": 0,
"messagesThresholdTime": 0,
"bytesCurrentCount": 0,
"transactions": null,
"messagesPagedOutTotalCount": 0,
"messagesCurrentCount": 0,
"destinationsHighCount": 1,
"insertionPaused": false,
"healthState": {
"state": "ok",
"subsystemName": "JMSServer.Partition1JMSServer1@Cluster1Server1$Partition1",
"partitionName": null,
"symptoms": []
},
"messagesPageableCurrentCount": 0,
"sessionPoolsCurrentCount": 0,
"name": "Partition1JMSServer1@Cluster1Server1",
"bytesPendingCount": 0,
"productionPaused": false,
"bytesPageableCurrentCount": 0,
"messagesPendingCount": 0,
"destinations": {"items": [{
"identity": [
"partitionRuntimes",
"Partition1",
"JMSServers",
"Partition1JMSServer1@Cluster1Server1",
"destinations",
"Partition1JMSSystemResource1!Partition1JMSServer1@Cluster1Server1@Partition1UniformDistributedQueue1"
],
"messagesReceivedCount": 0,
"bytesThresholdTime": 0,
"bytesHighCount": 0,
"insertionPausedState": "Insertion-Enabled",
"type": "JMSDestinationRuntime",
"consumptionPaused": false,
"messagesDeletedCurrentCount": 0,
"destinationType": "Queue",
"consumptionPausedState": "Consumption-Enabled",
"state": "started",
"bytesReceivedCount": 0,
"messagesHighCount": 0,
"productionPausedState": "Production-Enabled",
"subscriptionMessagesLimit": -1,
"consumersTotalCount": 0,
"consumersHighCount": 0,
"messagesThresholdTime": 0,
"bytesCurrentCount": 0,
"messagesMovedCurrentCount": 0,
"messagesCurrentCount": 0,
"insertionPaused": false,
"name": "Partition1JMSSystemResource1!Partition1JMSServer1@Cluster1Server1@Partition1UniformDistributedQueue1",
"bytesPendingCount": 0,
"productionPaused": false,
"messagesPendingCount": 0,
"consumersCurrentCount": 0
}]}
}]}
}
}]},
"JMSRuntime": {
"identity": ["JMSRuntime"],
"JMSServersHighCount": 1,
"connectionsHighCount": 0,
"connectionsTotalCount": 0,
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "Cluster1Server1.jms",
"JMSServersCurrentCount": 1,
"type": "JMSRuntime",
"JMSServersTotalCount": 1,
"connectionsCurrentCount": 0,
"JMSServers": {"items": [{
"identity": [
"JMSServers",
"JMSServer1@Cluster1Server1"
],
"messagesReceivedCount": 0,
"bytesThresholdTime": 0,
"bytesHighCount": 0,
"insertionPausedState": "Insertion-Enabled",
"destinationsCurrentCount": 1,
"pagingAllocatedIoBufferBytes": 0,
"type": "JMSServerRuntime",
"messagesPagedInTotalCount": 0,
"consumptionPaused": false,
"bytesPagedInTotalCount": 0,
"pagingPhysicalWriteCount": 0,
"pendingTransactions": null,
"bytesPagedOutTotalCount": 0,
"consumptionPausedState": "Consumption-Enabled",
"sessionPoolsHighCount": 0,
"bytesReceivedCount": 0,
"messagesHighCount": 0,
"productionPausedState": "Production-Enabled",
"pagingAllocatedWindowBufferBytes": 0,
"destinationsTotalCount": 1,
"sessionPoolsTotalCount": 0,
"messagesThresholdTime": 0,
"bytesCurrentCount": 0,
"transactions": null,
"messagesPagedOutTotalCount": 0,
"messagesCurrentCount": 0,
"destinationsHighCount": 1,
"insertionPaused": false,
"healthState": {
"state": "ok",
"subsystemName": "JMSServer.JMSServer1@Cluster1Server1",
"partitionName": null,
"symptoms": []
},
"messagesPageableCurrentCount": 0,
"sessionPoolsCurrentCount": 0,
"name": "JMSServer1@Cluster1Server1",
"bytesPendingCount": 0,
"productionPaused": false,
"bytesPageableCurrentCount": 0,
"messagesPendingCount": 0,
"destinations": {"items": [{
"identity": [
"JMSServers",
"JMSServer1@Cluster1Server1",
"destinations",
"JMSSystemResource1!JMSServer1@Cluster1Server1@UniformDistributedQueue1"
],
"messagesReceivedCount": 0,
"bytesThresholdTime": 0,
"bytesHighCount": 0,
"insertionPausedState": "Insertion-Enabled",
"type": "JMSDestinationRuntime",
"consumptionPaused": false,
"messagesDeletedCurrentCount": 0,
"destinationType": "Queue",
"consumptionPausedState": "Consumption-Enabled",
"state": "started",
"bytesReceivedCount": 0,
"messagesHighCount": 0,
"productionPausedState": "Production-Enabled",
"subscriptionMessagesLimit": -1,
"consumersTotalCount": 0,
"consumersHighCount": 0,
"messagesThresholdTime": 0,
"bytesCurrentCount": 0,
"messagesMovedCurrentCount": 0,
"messagesCurrentCount": 0,
"insertionPaused": false,
"name": "JMSSystemResource1!JMSServer1@Cluster1Server1@UniformDistributedQueue1",
"bytesPendingCount": 0,
"productionPaused": false,
"messagesPendingCount": 0,
"consumersCurrentCount": 0
}]}
}]}
}
},
{
"name": "AdminServer",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"JMSRuntime": {
"identity": [
"partitionRuntimes",
"Partition1",
"JMSRuntime"
],
"JMSServersHighCount": 0,
"connectionsHighCount": 0,
"connectionsTotalCount": 0,
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "AdminServer.jms",
"JMSServersCurrentCount": 0,
"type": "JMSRuntime",
"JMSServersTotalCount": 0,
"connectionsCurrentCount": 0,
"JMSServers": {"items": []}
}
}]},
"JMSRuntime": {
"identity": ["JMSRuntime"],
"JMSServersHighCount": 0,
"connectionsHighCount": 0,
"connectionsTotalCount": 0,
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "AdminServer.jms",
"JMSServersCurrentCount": 0,
"type": "JMSRuntime",
"JMSServersTotalCount": 0,
"connectionsCurrentCount": 0,
"JMSServers": {"items": []}
}
},
{
"name": "Cluster1Server2",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"JMSRuntime": {
"identity": [
"partitionRuntimes",
"Partition1",
"JMSRuntime"
],
"JMSServersHighCount": 1,
"connectionsHighCount": 0,
"connectionsTotalCount": 0,
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "Cluster1Server2.jms",
"JMSServersCurrentCount": 1,
"type": "JMSRuntime",
"JMSServersTotalCount": 1,
"connectionsCurrentCount": 0,
"JMSServers": {"items": [{
"identity": [
"partitionRuntimes",
"Partition1",
"JMSServers",
"Partition1JMSServer1@Cluster1Server2"
],
"messagesReceivedCount": 0,
"bytesThresholdTime": 0,
"bytesHighCount": 0,
"insertionPausedState": "Insertion-Enabled",
"destinationsCurrentCount": 1,
"pagingAllocatedIoBufferBytes": 0,
"type": "JMSServerRuntime",
"messagesPagedInTotalCount": 0,
"consumptionPaused": false,
"bytesPagedInTotalCount": 0,
"pagingPhysicalWriteCount": 0,
"pendingTransactions": null,
"bytesPagedOutTotalCount": 0,
"consumptionPausedState": "Consumption-Enabled",
"sessionPoolsHighCount": 0,
"bytesReceivedCount": 0,
"messagesHighCount": 0,
"productionPausedState": "Production-Enabled",
"pagingAllocatedWindowBufferBytes": 0,
"destinationsTotalCount": 1,
"sessionPoolsTotalCount": 0,
"messagesThresholdTime": 0,
"bytesCurrentCount": 0,
"transactions": null,
"messagesPagedOutTotalCount": 0,
"messagesCurrentCount": 0,
"destinationsHighCount": 1,
"insertionPaused": false,
"healthState": {
"state": "ok",
"subsystemName": "JMSServer.Partition1JMSServer1@Cluster1Server2$Partition1",
"partitionName": null,
"symptoms": []
},
"messagesPageableCurrentCount": 0,
"sessionPoolsCurrentCount": 0,
"name": "Partition1JMSServer1@Cluster1Server2",
"bytesPendingCount": 0,
"productionPaused": false,
"bytesPageableCurrentCount": 0,
"messagesPendingCount": 0,
"destinations": {"items": [{
"identity": [
"partitionRuntimes",
"Partition1",
"JMSServers",
"Partition1JMSServer1@Cluster1Server2",
"destinations",
"Partition1JMSSystemResource1!Partition1JMSServer1@Cluster1Server2@Partition1UniformDistributedQueue1"
],
"messagesReceivedCount": 0,
"bytesThresholdTime": 0,
"bytesHighCount": 0,
"insertionPausedState": "Insertion-Enabled",
"type": "JMSDestinationRuntime",
"consumptionPaused": false,
"messagesDeletedCurrentCount": 0,
"destinationType": "Queue",
"consumptionPausedState": "Consumption-Enabled",
"state": "started",
"bytesReceivedCount": 0,
"messagesHighCount": 0,
"productionPausedState": "Production-Enabled",
"subscriptionMessagesLimit": -1,
"consumersTotalCount": 0,
"consumersHighCount": 0,
"messagesThresholdTime": 0,
"bytesCurrentCount": 0,
"messagesMovedCurrentCount": 0,
"messagesCurrentCount": 0,
"insertionPaused": false,
"name": "Partition1JMSSystemResource1!Partition1JMSServer1@Cluster1Server2@Partition1UniformDistributedQueue1",
"bytesPendingCount": 0,
"productionPaused": false,
"messagesPendingCount": 0,
"consumersCurrentCount": 0
}]}
}]}
}
}]},
"JMSRuntime": {
"identity": ["JMSRuntime"],
"JMSServersHighCount": 1,
"connectionsHighCount": 0,
"connectionsTotalCount": 0,
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "Cluster1Server2.jms",
"JMSServersCurrentCount": 1,
"type": "JMSRuntime",
"JMSServersTotalCount": 1,
"connectionsCurrentCount": 0,
"JMSServers": {"items": [{
"identity": [
"JMSServers",
"JMSServer1@Cluster1Server2"
],
"messagesReceivedCount": 0,
"bytesThresholdTime": 0,
"bytesHighCount": 0,
"insertionPausedState": "Insertion-Enabled",
"destinationsCurrentCount": 1,
"pagingAllocatedIoBufferBytes": 0,
"type": "JMSServerRuntime",
"messagesPagedInTotalCount": 0,
"consumptionPaused": false,
"bytesPagedInTotalCount": 0,
"pagingPhysicalWriteCount": 0,
"pendingTransactions": null,
"bytesPagedOutTotalCount": 0,
"consumptionPausedState": "Consumption-Enabled",
"sessionPoolsHighCount": 0,
"bytesReceivedCount": 0,
"messagesHighCount": 0,
"productionPausedState": "Production-Enabled",
"pagingAllocatedWindowBufferBytes": 0,
"destinationsTotalCount": 1,
"sessionPoolsTotalCount": 0,
"messagesThresholdTime": 0,
"bytesCurrentCount": 0,
"transactions": null,
"messagesPagedOutTotalCount": 0,
"messagesCurrentCount": 0,
"destinationsHighCount": 1,
"insertionPaused": false,
"healthState": {
"state": "ok",
"subsystemName": "JMSServer.JMSServer1@Cluster1Server2",
"partitionName": null,
"symptoms": []
},
"messagesPageableCurrentCount": 0,
"sessionPoolsCurrentCount": 0,
"name": "JMSServer1@Cluster1Server2",
"bytesPendingCount": 0,
"productionPaused": false,
"bytesPageableCurrentCount": 0,
"messagesPendingCount": 0,
"destinations": {"items": [{
"identity": [
"JMSServers",
"JMSServer1@Cluster1Server2",
"destinations",
"JMSSystemResource1!JMSServer1@Cluster1Server2@UniformDistributedQueue1"
],
"messagesReceivedCount": 0,
"bytesThresholdTime": 0,
"bytesHighCount": 0,
"insertionPausedState": "Insertion-Enabled",
"type": "JMSDestinationRuntime",
"consumptionPaused": false,
"messagesDeletedCurrentCount": 0,
"destinationType": "Queue",
"consumptionPausedState": "Consumption-Enabled",
"state": "started",
"bytesReceivedCount": 0,
"messagesHighCount": 0,
"productionPausedState": "Production-Enabled",
"subscriptionMessagesLimit": -1,
"consumersTotalCount": 0,
"consumersHighCount": 0,
"messagesThresholdTime": 0,
"bytesCurrentCount": 0,
"messagesMovedCurrentCount": 0,
"messagesCurrentCount": 0,
"insertionPaused": false,
"name": "JMSSystemResource1!JMSServer1@Cluster1Server2@UniformDistributedQueue1",
"bytesPendingCount": 0,
"productionPaused": false,
"messagesPendingCount": 0,
"consumersCurrentCount": 0
}]}
}]}
}
}
]}}

----------------------------------------------------------------------
Monitor the applications
----------------------------------------------------------------------

curl -v \
--user monitor:monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
links: [], fields: [ 'name' ],
children: {
applicationRuntimes: {
links: [], fields: [ 'name', 'healthState', 'overallHealthState' ]
},
partitionRuntimes: {
links: [], fields: [ 'name' ],
children: {
applicationRuntimes: {
links: [], fields: [ 'name', 'healthState', 'overallHealthState' ]
}
}
}
}
}
}
}" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/search

HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [
{
"name": "Cluster1Server1",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"applicationRuntimes": {"items": [
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "fairShare"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "wls-management-services-Partition1VirtualTarget"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "Partition1JMSSystemResource1"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "basicapp"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "jms-internal-xa-adp-Partition1VirtualTarget"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "Partition1JDBCDataSource1"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "bea_wls_internal-Partition1VirtualTarget"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "jms-internal-notran-adp-Partition1VirtualTarget"
}
]}
}]},
"applicationRuntimes": {"items": [
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "jms-internal-notran-adp"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "basicapp"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "jms-internal-xa-adp"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "bea_wls_cluster_internal"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "JDBCDataSource1"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "JMSSystemResource1"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "fairShare"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "wls-management-services"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "bea_wls_internal"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "bea_wls_deployment_internal"
}
]}
},
{
"name": "AdminServer",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"applicationRuntimes": {"items": [
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "wls-management-services-Partition1-adminVT"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "bea_wls_internal-Partition1-adminVT"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "jms-internal-xa-adp-Partition1-adminVT"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "jms-internal-notran-adp-Partition1-adminVT"
}
]}
}]},
"applicationRuntimes": {"items": [
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "bea_wls_deployment_internal"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "bea_wls_management_internal2"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "jms-internal-notran-adp"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "wls-management-services"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "jms-internal-xa-adp"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "mejb"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "bea_wls_internal"
}
]}
},
{
"name": "Cluster1Server2",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"applicationRuntimes": {"items": [
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "jms-internal-xa-adp-Partition1VirtualTarget"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "Partition1JDBCDataSource1"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "fairShare"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "jms-internal-notran-adp-Partition1VirtualTarget"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "wls-management-services-Partition1VirtualTarget"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "bea_wls_internal-Partition1VirtualTarget"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "basicapp"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "Partition1JMSSystemResource1"
}
]}
}]},
"applicationRuntimes": {"items": [
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "bea_wls_cluster_internal"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "fairShare"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "basicapp"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "jms-internal-notran-adp"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "bea_wls_deployment_internal"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "JDBCDataSource1"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "jms-internal-xa-adp"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "bea_wls_internal"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "JMSSystemResource1"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "wls-management-services"
}
]}
}
]}}

----------------------------------------------------------------------
Monitor the applications' servlets
----------------------------------------------------------------------

curl -v \
--user monitor:monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
links: [], fields: [ 'name' ],
children: {
applicationRuntimes: {
links: [], fields: [ 'name' ],
name: [ 'fairShare', 'basicapp' ],
children: {
componentRuntimes: {
links: [], fields: [ 'name', 'type' ],
children: {
servlets: {
links: [],
fields: [
'name',
'executionTimeHigh',
'executionTimeLow',
'executionTimeAverage',
'invocationTotalCount'
]
}
}
}
}
},
partitionRuntimes: {
links: [], fields: [ 'name' ],
children: {
applicationRuntimes: {
links: [], fields: [ 'name' ],
name: [ 'fairShare', 'basicapp' ],
children: {
componentRuntimes: {
links: [], fields: [ 'name', 'type' ],
children: {
servlets: {
links: [],
fields: [
'name',
'executionTimeHigh',
'executionTimeLow',
'executionTimeAverage',
'invocationTotalCount'
]
}
}
}
}
}
}
}
}
}
}
}" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/search

HTTP/1.1 100 Continue HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [
{
"name": "Cluster1Server1",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"applicationRuntimes": {"items": [
{
"name": "fairShare",
"componentRuntimes": {"items": [{
"type": "WebAppComponentRuntime",
"name": "Partition1VirtualTarget_\/partition1\/fairShare",
"servlets": {"items": [
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "JspServlet",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "FileServlet",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "SimpleFastServlet",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "SimpleSlowServlet",
"executionTimeAverage": 0
}
]}
}]}
},
{
"name": "basicapp",
"componentRuntimes": {"items": [
{
"type": "WebAppComponentRuntime",
"name": "Partition1VirtualTarget_\/partition1\/BasicAuth",
"servlets": {"items": [
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "JspServlet",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "Servlet3",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "Servlet2",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "Servlet1",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "FileServlet",
"executionTimeAverage": 0
}
]}
},
{
"name": "BasicEJB.jar",
"type": "EJBComponentRuntime"
}
]}
}
]}
}]},
"applicationRuntimes": {"items": [
{
"name": "fairShare",
"componentRuntimes": {"items": [{
"type": "WebAppComponentRuntime",
"name": "Cluster1Server1_\/fairShare",
"servlets": {"items": [
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "JspServlet",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "FileServlet",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "SimpleFastServlet",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "SimpleSlowServlet",
"executionTimeAverage": 0
}
]}
}]}
},
{
"name": "basicapp",
"componentRuntimes": {"items": [
{
"type": "WebAppComponentRuntime",
"name": "Cluster1Server1_\/BasicAuth",
"servlets": {"items": [
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "JspServlet",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "Servlet3",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "Servlet2",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "Servlet1",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "FileServlet",
"executionTimeAverage": 0
}
]}
},
{
"name": "BasicEJB.jar",
"type": "EJBComponentRuntime"
}
]}
}
]}
},
{
"name": "AdminServer",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"applicationRuntimes": {"items": []}
}]},
"applicationRuntimes": {"items": []}
},
{
"name": "Cluster1Server2",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"applicationRuntimes": {"items": [
{
"name": "fairShare",
"componentRuntimes": {"items": [{
"type": "WebAppComponentRuntime",
"name": "Partition1VirtualTarget_\/partition1\/fairShare",
"servlets": {"items": [
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "JspServlet",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "FileServlet",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "SimpleFastServlet",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "SimpleSlowServlet",
"executionTimeAverage": 0
}
]}
}]}
},
{
"name": "basicapp",
"componentRuntimes": {"items": [
{
"type": "WebAppComponentRuntime",
"name": "Partition1VirtualTarget_\/partition1\/BasicAuth",
"servlets": {"items": [
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "JspServlet",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "Servlet3",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "Servlet2",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "Servlet1",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "FileServlet",
"executionTimeAverage": 0
}
]}
},
{
"name": "BasicEJB.jar",
"type": "EJBComponentRuntime"
}
]}
}
]}
}]},
"applicationRuntimes": {"items": [
{
"name": "fairShare",
"componentRuntimes": {"items": [{
"type": "WebAppComponentRuntime",
"name": "Cluster1Server2_\/fairShare",
"servlets": {"items": [
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "JspServlet",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "FileServlet",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "SimpleFastServlet",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "SimpleSlowServlet",
"executionTimeAverage": 0
}
]}
}]}
},
{
"name": "basicapp",
"componentRuntimes": {"items": [
{
"type": "WebAppComponentRuntime",
"name": "Cluster1Server2_\/BasicAuth",
"servlets": {"items": [
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "JspServlet",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "Servlet3",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "Servlet2",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "Servlet1",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "FileServlet",
"executionTimeAverage": 0
}
]}
},
{
"name": "BasicEJB.jar",
"type": "EJBComponentRuntime"
}
]}
}
]}
}
]}}

----------------------------------------------------------------------
Get the total number of open sessions across each application's component runtimes across all servers
----------------------------------------------------------------------

curl -v \
--user monitor:monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
mergeCollection: true,
children: {
applicationRuntimes: {
mergeOn: 'name',
fields: [ { name: 'name', sameValue: true } ],
children: {
componentRuntimes: {
mergeCollection: true,
fields: [ { name: 'openSessionsCurrentCount', total: true } ]
}
}
}
}
}
}
}" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/search

HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [{"applicationRuntimes": {"items": [
{
"name": "jms-internal-notran-adp",
"componentRuntimes": {"items": [{}]}
},
{
"name": "basicapp",
"componentRuntimes": {"items": [{"openSessionsCurrentCount": {
"total": 0,
"count": 2
}}]}
},
{
"name": "jms-internal-xa-adp",
"componentRuntimes": {"items": [{}]}
},
{
"name": "bea_wls_cluster_internal",
"componentRuntimes": {"items": [{"openSessionsCurrentCount": {
"total": 0,
"count": 2
}}]}
},
{
"name": "JDBCDataSource1",
"componentRuntimes": {"items": [{}]}
},
{
"name": "JMSSystemResource1",
"componentRuntimes": {"items": [{}]}
},
{
"name": "fairShare",
"componentRuntimes": {"items": [{"openSessionsCurrentCount": {
"total": 0,
"count": 2
}}]}
},
{
"name": "wls-management-services",
"componentRuntimes": {"items": [{"openSessionsCurrentCount": {
"total": 212,
"count": 3
}}]}
},
{
"name": "bea_wls_internal",
"componentRuntimes": {"items": [{"openSessionsCurrentCount": {
"total": 0,
"count": 3
}}]}
},
{
"name": "bea_wls_deployment_internal",
"componentRuntimes": {"items": [{"openSessionsCurrentCount": {
"total": 0,
"count": 3
}}]}
},
{
"name": "bea_wls_management_internal2",
"componentRuntimes": {"items": [{"openSessionsCurrentCount": {
"total": 0,
"count": 1
}}]}
},
{
"name": "mejb",
"componentRuntimes": {"items": [{}]}
}
]}}]}}

----------------------------------------------------------------------
Get the total number of invocations of the servlets of each component runtime of the fairShare and wls-management-services applications across all servers
----------------------------------------------------------------------

curl -v \
--user monitor:monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
mergeCollection: true,
children: {
applicationRuntimes: {
name: [ 'fairShare', 'wls-management-services' ],
mergeOn: 'name',
fields: [ { name: 'name', sameValue: true } ],
children: {
componentRuntimes: {
mergeOn: 'moduleId',
fields: [ { name: 'contextRoot', sameValue: true } ],
children: {
servlets: {
mergeCollection: true,
fields: [ { name: 'invocationTotalCount', total: true } ]
}
}
}
}
}
}
}
}
}" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/search

HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [{"applicationRuntimes": {"items": [
{
"name": "fairShare",
"componentRuntimes": {"items": [{
"contextRoot": "\/fairShare",
"servlets": {"items": [{"invocationTotalCount": {
"total": 0,
"count": 8
}}]}
}]}
},
{
"name": "wls-management-services",
"componentRuntimes": {"items": [{
"contextRoot": "\/management",
"servlets": {"items": [{"invocationTotalCount": {
"total": 212,
"count": 9
}}]}
}]}
}
]}}]}}

----------------------------------------------------------------------
Get the information displayed by the console's webapp monitoring page
----------------------------------------------------------------------

curl -v \
--user monitor:monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
mergeCollection: true,
children: {
applicationRuntimes: {
mergeOn: 'name',
fields: [
{ name: 'name',     sameValue: true },
{ name: 'internal', sameValue: true }
],
children: {
componentRuntimes: {
mergeOn: 'moduleId',
fields: [
{ name: 'contextRoot',               sameValue: true },
{ name: 'type',                      sameValue: true },
{ name: 'sourceInfo',                sameValue: true },
{ name: 'deploymentState',           values:    true },
{ name: 'openSessionsHighCount',     max:       true },
{ name: 'openSessionsCurrentCount',  total:     true },
{ name: 'sessionsOpenedTotalCount',  total:     true }
],
children: {
servlets: {
mergeCollection: true,
fields: [ { name: 'invocationTotalCount', total: true } ]
}
}
}
}
}
}
}
}
}" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/search

HTTP/1.1 100 Continue HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [{"applicationRuntimes": {"items": [
{
"internal": true,
"name": "jms-internal-notran-adp",
"componentRuntimes": {"items": [{
"type": "ConnectorComponentRuntime",
"deploymentState": {"values": [
2,
2,
2
]}
}]}
},
{
"internal": false,
"name": "basicapp",
"componentRuntimes": {"items": [
{
"type": "WebAppComponentRuntime",
"sourceInfo": "BasicAuth.war",
"contextRoot": "\/BasicAuth",
"openSessionsCurrentCount": {
"total": 0,
"count": 2
},
"deploymentState": {"values": [
2,
2
]},
"sessionsOpenedTotalCount": {
"total": 0,
"count": 2
},
"openSessionsHighCount": {"max": 0},
"servlets": {"items": [{"invocationTotalCount": {
"total": 0,
"count": 10
}}]}
},
{
"deploymentState": {"values": [
2,
2
]},
"type": "EJBComponentRuntime"
}
]}
},
{
"internal": true,
"name": "jms-internal-xa-adp",
"componentRuntimes": {"items": [{
"type": "ConnectorComponentRuntime",
"deploymentState": {"values": [
2,
2,
2
]}
}]}
},
{
"internal": true,
"name": "bea_wls_cluster_internal",
"componentRuntimes": {"items": [{
"type": "WebAppComponentRuntime",
"sourceInfo": "bea_wls_cluster_internal.war",
"contextRoot": "\/bea_wls_cluster_internal",
"openSessionsCurrentCount": {
"total": 0,
"count": 2
},
"deploymentState": {"values": [
2,
2
]},
"sessionsOpenedTotalCount": {
"total": 0,
"count": 2
},
"openSessionsHighCount": {"max": 0},
"servlets": {"items": [{"invocationTotalCount": {
"total": 4,
"count": 10
}}]}
}]}
},
{
"internal": false,
"name": "JDBCDataSource1",
"componentRuntimes": {"items": [{
"type": "JDBCDataSourceRuntime",
"deploymentState": {"values": [
2,
2
]}
}]}
},
{
"internal": false,
"name": "JMSSystemResource1",
"componentRuntimes": {"items": [{
"deploymentState": {"values": [
2,
2
]},
"type": "JMSComponentRuntime"
}]}
},
{
"internal": false,
"name": "fairShare",
"componentRuntimes": {"items": [{
"type": "WebAppComponentRuntime",
"sourceInfo": "fairShare.war",
"contextRoot": "\/fairShare",
"openSessionsCurrentCount": {
"total": 0,
"count": 2
},
"deploymentState": {"values": [
2,
2
]},
"sessionsOpenedTotalCount": {
"total": 0,
"count": 2
},
"openSessionsHighCount": {"max": 0},
"servlets": {"items": [{"invocationTotalCount": {
"total": 0,
"count": 8
}}]}
}]}
},
{
"internal": true,
"name": "wls-management-services",
"componentRuntimes": {"items": [{
"type": "WebAppComponentRuntime",
"sourceInfo": "wls-management-services.war",
"contextRoot": "\/management",
"openSessionsCurrentCount": {
"total": 218,
"count": 3
},
"deploymentState": {"values": [
2,
2,
2
]},
"sessionsOpenedTotalCount": {
"total": 218,
"count": 3
},
"openSessionsHighCount": {"max": 178},
"servlets": {"items": [{"invocationTotalCount": {
"total": 215,
"count": 9
}}]}
}]}
},
{
"internal": true,
"name": "bea_wls_internal",
"componentRuntimes": {"items": [{
"type": "WebAppComponentRuntime",
"sourceInfo": "bea_wls_internal.war",
"contextRoot": "\/bea_wls_internal",
"openSessionsCurrentCount": {
"total": 0,
"count": 3
},
"deploymentState": {"values": [
2,
2,
2
]},
"sessionsOpenedTotalCount": {
"total": 0,
"count": 3
},
"openSessionsHighCount": {"max": 0},
"servlets": {"items": [{"invocationTotalCount": {
"total": 0,
"count": 33
}}]}
}]}
},
{
"internal": true,
"name": "bea_wls_deployment_internal",
"componentRuntimes": {"items": [{
"type": "WebAppComponentRuntime",
"sourceInfo": "bea_wls_deployment_internal.war",
"contextRoot": "\/bea_wls_deployment_internal",
"openSessionsCurrentCount": {
"total": 0,
"count": 3
},
"deploymentState": {"values": [
2,
2,
2
]},
"sessionsOpenedTotalCount": {
"total": 0,
"count": 3
},
"openSessionsHighCount": {"max": 0},
"servlets": {"items": [{"invocationTotalCount": {
"total": 169,
"count": 9
}}]}
}]}
},
{
"internal": true,
"name": "bea_wls_management_internal2",
"componentRuntimes": {"items": [{
"type": "WebAppComponentRuntime",
"sourceInfo": "bea_wls_management_internal2.war",
"contextRoot": "\/bea_wls_management_internal2",
"openSessionsCurrentCount": {
"total": 0,
"count": 1
},
"deploymentState": {"values": [2]},
"sessionsOpenedTotalCount": {
"total": 0,
"count": 1
},
"openSessionsHighCount": {"max": 0},
"servlets": {"items": [{"invocationTotalCount": {
"total": 4,
"count": 4
}}]}
}]}
},
{
"internal": true,
"name": "mejb",
"componentRuntimes": {"items": [{
"deploymentState": {"values": [2]},
"type": "EJBComponentRuntime"
}]}
}
]}}]}}

----------------------------------------------------------------------
Monitor the resource managers
----------------------------------------------------------------------

curl -v \
--user monitor:monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
links: [], fields: [ 'name' ],
children: {
partitionRuntimes: {
links: [], fields: [ 'name' ],
children: {
resourceManagerRuntime: {
links: [],
children: {
resourceRuntimes: {
links: [],
children: {
triggerRuntimes: { links: [] },
fairShareConstraintRuntime:  { links: [] }
}
}
}
}
}
}
}
}
}
}" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/search

HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [
{
"name": "Cluster1Server1",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"resourceManagerRuntime": {
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime"
],
"name": "Partition1ResourceManager",
"type": "ResourceManagerRuntime",
"resourceRuntimes": {"items": [
{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"FileOpen"
],
"usage": 2,
"name": "FileOpen",
"type": "ResourceRuntime",
"resourceType": "file-open",
"triggerRuntimes": {"items": [{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"FileOpen",
"triggerRuntimes",
"NotifyTrigger"
],
"initiated": false,
"recourseActionEventsHistory": [],
"name": "NotifyTrigger",
"lastTimeExecuted": null,
"type": "TriggerRuntime",
"activated": false
}]},
"fairShareConstraintRuntime": null
},
{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"CpuUtilization"
],
"usage": 1,
"name": "CpuUtilization",
"type": "ResourceRuntime",
"resourceType": "cpu-utilization",
"triggerRuntimes": {"items": [
{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"CpuUtilization",
"triggerRuntimes",
"NotifyTrigger"
],
"initiated": false,
"recourseActionEventsHistory": [],
"name": "NotifyTrigger",
"lastTimeExecuted": null,
"type": "TriggerRuntime",
"activated": false
},
{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"CpuUtilization",
"triggerRuntimes",
"SlowTrigger"
],
"initiated": false,
"recourseActionEventsHistory": [],
"name": "SlowTrigger",
"lastTimeExecuted": null,
"type": "TriggerRuntime",
"activated": false
}
]},
"fairShareConstraintRuntime": null
},
{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"HeapRetained"
],
"usage": 6,
"name": "HeapRetained",
"type": "ResourceRuntime",
"resourceType": "heap-retained",
"triggerRuntimes": {"items": [{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"HeapRetained",
"triggerRuntimes",
"NotifyTrigger"
],
"initiated": false,
"recourseActionEventsHistory": [],
"name": "NotifyTrigger",
"lastTimeExecuted": null,
"type": "TriggerRuntime",
"activated": false
}]},
"fairShareConstraintRuntime": null
}
]}
}
}]}
},
{
"name": "AdminServer",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"resourceManagerRuntime": {
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime"
],
"name": "Partition1ResourceManager",
"type": "ResourceManagerRuntime",
"resourceRuntimes": {"items": [
{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"FileOpen"
],
"usage": 5,
"name": "FileOpen",
"type": "ResourceRuntime",
"resourceType": "file-open",
"triggerRuntimes": {"items": [{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"FileOpen",
"triggerRuntimes",
"NotifyTrigger"
],
"initiated": false,
"recourseActionEventsHistory": [
{
"initiated": true,
"usage": 5,
"executionDate": "2017-10-04T20:54:49.421-04:00",
"action": "notify",
"active": true,
"actionSuccessful": false
},
{
"initiated": false,
"usage": 5,
"executionDate": "2017-10-04T20:54:49.424-04:00",
"action": "notify",
"active": true,
"actionSuccessful": true
},
{
"initiated": true,
"usage": 3,
"executionDate": "2017-10-04T20:54:49.430-04:00",
"action": "notify",
"active": false,
"actionSuccessful": false
},
{
"initiated": false,
"usage": 3,
"executionDate": "2017-10-04T20:54:49.430-04:00",
"action": "notify",
"active": false,
"actionSuccessful": true
},
{
"initiated": true,
"usage": 5,
"executionDate": "2017-10-04T20:54:51.063-04:00",
"action": "notify",
"active": true,
"actionSuccessful": false
},
{
"initiated": false,
"usage": 5,
"executionDate": "2017-10-04T20:54:51.063-04:00",
"action": "notify",
"active": true,
"actionSuccessful": true
},
{
"initiated": true,
"usage": 3,
"executionDate": "2017-10-04T20:54:51.184-04:00",
"action": "notify",
"active": false,
"actionSuccessful": false
},
{
"initiated": false,
"usage": 3,
"executionDate": "2017-10-04T20:54:51.184-04:00",
"action": "notify",
"active": false,
"actionSuccessful": true
},
{
"initiated": true,
"usage": 5,
"executionDate": "2017-10-04T20:54:56.832-04:00",
"action": "notify",
"active": true,
"actionSuccessful": false
},
{
"initiated": false,
"usage": 5,
"executionDate": "2017-10-04T20:54:56.833-04:00",
"action": "notify",
"active": true,
"actionSuccessful": true
},
{
"initiated": true,
"usage": 3,
"executionDate": "2017-10-04T20:54:56.951-04:00",
"action": "notify",
"active": false,
"actionSuccessful": false
},
{
"initiated": false,
"usage": 3,
"executionDate": "2017-10-04T20:54:56.951-04:00",
"action": "notify",
"active": false,
"actionSuccessful": true
},
{
"initiated": true,
"usage": 5,
"executionDate": "2017-10-04T20:54:59.622-04:00",
"action": "notify",
"active": true,
"actionSuccessful": false
},
{
"initiated": false,
"usage": 5,
"executionDate": "2017-10-04T20:54:59.623-04:00",
"action": "notify",
"active": true,
"actionSuccessful": true
},
{
"initiated": true,
"usage": 3,
"executionDate": "2017-10-04T20:54:59.726-04:00",
"action": "notify",
"active": false,
"actionSuccessful": false
},
{
"initiated": false,
"usage": 3,
"executionDate": "2017-10-04T20:54:59.727-04:00",
"action": "notify",
"active": false,
"actionSuccessful": true
},
{
"initiated": true,
"usage": 5,
"executionDate": "2017-10-04T20:55:19.076-04:00",
"action": "notify",
"active": true,
"actionSuccessful": false
},
{
"initiated": false,
"usage": 5,
"executionDate": "2017-10-04T20:55:19.077-04:00",
"action": "notify",
"active": true,
"actionSuccessful": true
}
],
"name": "NotifyTrigger",
"lastTimeExecuted": "2017-10-04T20:55:19.077-04:00",
"type": "TriggerRuntime",
"activated": true
}]},
"fairShareConstraintRuntime": null
},
{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"CpuUtilization"
],
"usage": 7,
"name": "CpuUtilization",
"type": "ResourceRuntime",
"resourceType": "cpu-utilization",
"triggerRuntimes": {"items": [
{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"CpuUtilization",
"triggerRuntimes",
"NotifyTrigger"
],
"initiated": false,
"recourseActionEventsHistory": [],
"name": "NotifyTrigger",
"lastTimeExecuted": null,
"type": "TriggerRuntime",
"activated": false
},
{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"CpuUtilization",
"triggerRuntimes",
"SlowTrigger"
],
"initiated": false,
"recourseActionEventsHistory": [],
"name": "SlowTrigger",
"lastTimeExecuted": null,
"type": "TriggerRuntime",
"activated": false
}
]},
"fairShareConstraintRuntime": null
},
{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"HeapRetained"
],
"usage": 9,
"name": "HeapRetained",
"type": "ResourceRuntime",
"resourceType": "heap-retained",
"triggerRuntimes": {"items": [{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"HeapRetained",
"triggerRuntimes",
"NotifyTrigger"
],
"initiated": false,
"recourseActionEventsHistory": [],
"name": "NotifyTrigger",
"lastTimeExecuted": null,
"type": "TriggerRuntime",
"activated": false
}]},
"fairShareConstraintRuntime": null
}
]}
}
}]}
},
{
"name": "Cluster1Server2",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"resourceManagerRuntime": {
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime"
],
"name": "Partition1ResourceManager",
"type": "ResourceManagerRuntime",
"resourceRuntimes": {"items": [
{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"FileOpen"
],
"usage": 2,
"name": "FileOpen",
"type": "ResourceRuntime",
"resourceType": "file-open",
"triggerRuntimes": {"items": [{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"FileOpen",
"triggerRuntimes",
"NotifyTrigger"
],
"initiated": false,
"recourseActionEventsHistory": [],
"name": "NotifyTrigger",
"lastTimeExecuted": null,
"type": "TriggerRuntime",
"activated": false
}]},
"fairShareConstraintRuntime": null
},
{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"CpuUtilization"
],
"usage": 1,
"name": "CpuUtilization",
"type": "ResourceRuntime",
"resourceType": "cpu-utilization",
"triggerRuntimes": {"items": [
{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"CpuUtilization",
"triggerRuntimes",
"NotifyTrigger"
],
"initiated": false,
"recourseActionEventsHistory": [],
"name": "NotifyTrigger",
"lastTimeExecuted": null,
"type": "TriggerRuntime",
"activated": false
},
{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"CpuUtilization",
"triggerRuntimes",
"SlowTrigger"
],
"initiated": false,
"recourseActionEventsHistory": [],
"name": "SlowTrigger",
"lastTimeExecuted": null,
"type": "TriggerRuntime",
"activated": false
}
]},
"fairShareConstraintRuntime": null
},
{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"HeapRetained"
],
"usage": 6,
"name": "HeapRetained",
"type": "ResourceRuntime",
"resourceType": "heap-retained",
"triggerRuntimes": {"items": [{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"HeapRetained",
"triggerRuntimes",
"NotifyTrigger"
],
"initiated": false,
"recourseActionEventsHistory": [],
"name": "NotifyTrigger",
"lastTimeExecuted": null,
"type": "TriggerRuntime",
"activated": false
}]},
"fairShareConstraintRuntime": null
}
]}
}
}]}
}
]}}

----------------------------------------------------------------------
Search the admin server log as the domain monitor, returning the matching records as json
----------------------------------------------------------------------

curl -v \
--user monitor:monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
limit: 2,
query: 'SEVERITY = \'Info\''
}" \
-X POST http://localhost:7001/management/weblogic/latest/serverRuntime/WLDFRuntime/WLDFAccessRuntime/WLDFDataAccessRuntimes/ServerLog/search

HTTP/1.1 200 OK

Response Body:
{
"records": [
{
"RECORDID": 1,
"DATE": "Oct 4, 2017 8:51:03,931 PM EDT",
"SEVERITY": "Info",
"SUBSYSTEM": "Security",
"MACHINE": "machine1",
"SERVER": "",
"THREAD": "main",
"USERID": "",
"TXID": "",
"CONTEXTID": "",
"TIMESTAMP": "1507164663931",
"MSGID": "BEA-090905",
"MESSAGE": "Disabling the CryptoJ JCE Provider self-integrity check for better startup performance. To enable this check, specify -Dweblogic.security.allowCryptoJDefaultJCEVerification=true.",
"SUPP_ATTRS": "[severity-value: 64] [partition-id: 0] [partition-name: DOMAIN] ",
"SEVERITY_VALUE": 64,
"PARTITION_ID": "0",
"PARTITION_NAME": "DOMAIN",
"RID": ""
},
{
"RECORDID": 2,
"DATE": "Oct 4, 2017 8:51:04,032 PM EDT",
"SEVERITY": "Info",
"SUBSYSTEM": "Security",
"MACHINE": "machine1",
"SERVER": "",
"THREAD": "main",
"USERID": "",
"TXID": "",
"CONTEXTID": "",
"TIMESTAMP": "1507164664032",
"MSGID": "BEA-090906",
"MESSAGE": "Changing the default Random Number Generator in RSA CryptoJ from ECDRBG128 to HMACDRBG. To disable this change, specify -Dweblogic.security.allowCryptoJDefaultPRNG=true.",
"SUPP_ATTRS": "[severity-value: 64] [partition-id: 0] [partition-name: DOMAIN] ",
"SEVERITY_VALUE": 64,
"PARTITION_ID": "0",
"PARTITION_NAME": "DOMAIN",
"RID": ""
}],
"nextRecordId": 3
}

----------------------------------------------------------------------
Continue searching a log. This example uses the POST method to continue searching for records in the admin server log as the domain monitor.
----------------------------------------------------------------------

curl -v \
--user monitor:monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
limit: 2,
fromId: 3,
query: 'SEVERITY = \'Info\''
}" \
-X POST http://localhost:7001/management/weblogic/latest/serverRuntime/WLDFRuntime/WLDFAccessRuntime/WLDFDataAccessRuntimes/ServerLog/search

HTTP/1.1 200 OK

Response Body:
{
"records": [
{
"RECORDID": 3,
"DATE": "Oct 4, 2017 8:51:04,883 PM EDT",
"SEVERITY": "Info",
"SUBSYSTEM": "WebLogicServer",
"MACHINE": "machine1",
"SERVER": "",
"THREAD": "Thread-7",
"USERID": "",
"TXID": "",
"CONTEXTID": "",
"TIMESTAMP": "1507164664883",
"MSGID": "BEA-000377",
"MESSAGE": "Starting WebLogic Server with Java HotSpot(TM) 64-Bit Server VM Version 25.131-b11 from Oracle Corporation.",
"SUPP_ATTRS": "[severity-value: 64] [partition-id: 0] [partition-name: DOMAIN] ",
"SEVERITY_VALUE": 64,
"PARTITION_ID": "0",
"PARTITION_NAME": "DOMAIN",
"RID": ""
},
{
"RECORDID": 4,
"DATE": "Oct 4, 2017 8:51:05,199 PM EDT",
"SEVERITY": "Info",
"SUBSYSTEM": "Management",
"MACHINE": "machine1",
"SERVER": "",
"THREAD": "Thread-8",
"USERID": "",
"TXID": "",
"CONTEXTID": "",
"TIMESTAMP": "1507164665199",
"MSGID": "BEA-141107",
"MESSAGE": "Version: WebLogic Server 12.2.1.3.0 Tue Oct  3 04:10:35 PDT 2017 1888999",
"SUPP_ATTRS": "[severity-value: 64] [partition-id: 0] [partition-name: DOMAIN] ",
"SEVERITY_VALUE": 64,
"PARTITION_ID": "0",
"PARTITION_NAME": "DOMAIN",
"RID": ""
}],
"nextRecordId": 6
}

----------------------------------------------------------------------
Search the admin server log as the domain monitor, returning the matching records as plain text
----------------------------------------------------------------------

curl -v \
--user monitor:monitor123 \
-H X-Requested-By:MyClient \
-H Accept:text/plain \
-H Content-Type:application/json \
-d "{
limit: 2,
query: 'SEVERITY = \'Info\' AND USERID = \'admin\'',
lastMinutes: 60
}" \
-X POST http://localhost:7001/management/weblogic/latest/serverRuntime/WLDFRuntime/WLDFAccessRuntime/WLDFDataAccessRuntimes/ServerLog/search

HTTP/1.1 200 OK

Response Body:
####<Oct 4, 2017 8:51:40,386 PM EDT> <Info> <Security> <machine1> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <admin> <> <4691b1d5-efe0-4202-8ae1-d6cb582cf64a-0000000f> <1507164700386> <[severity-value: 64] [rid: 0] [partition-id: 0] [partition-name: DOMAIN] > <BEA-090516> <The Authenticator provider has pre-existing LDAP data.>
####<Oct 4, 2017 8:54:03,112 PM EDT> <Info> <Security> <machine1> <AdminServer> <[ACTIVE] ExecuteThread: '12' for queue: 'weblogic.kernel.Default (self-tuning)'> <admin> <> <4691b1d5-efe0-4202-8ae1-d6cb582cf64a-00000064> <1507164843112> <[severity-value: 64] [rid: 0] [partition-id: 0] [partition-name: DOMAIN] > <BEA-090516> <The Authenticator provider has pre-existing LDAP data.>
nextRecordId=1165

----------------------------------------------------------------------
Continue searching a log. This example uses the POST method to continue searching for records in the admin server log as the domain monitor.
----------------------------------------------------------------------

curl -v \
--user monitor:monitor123 \
-H X-Requested-By:MyClient \
-H Accept:text/plain \
-H Content-Type:application/json \
-d "{
limit: 2,
fromId: 1165,
query:  'SEVERITY = \'Info\' AND USERID = \'admin\'',
}" \
-X POST http://localhost:7001/management/weblogic/latest/serverRuntime/WLDFRuntime/WLDFAccessRuntime/WLDFDataAccessRuntimes/ServerLog/search

HTTP/1.1 200 OK

Response Body:
####<Oct 4, 2017 8:54:03,949 PM EDT> <Info> <Store> <machine1> <AdminServer> <[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <admin> <> <4691b1d5-efe0-4202-8ae1-d6cb582cf64a-00000068> <1507164843949> <[severity-value: 64] [rid: 0] [partition-id: dd28825b-4c19-4907-b5e7-f1b9c091f6d2] [partition-name: Partition1] > <BEA-280008> <Opening the persistent file store "_WLS_EJBTIMER_AdminServer" for recovery: directory=/domains/mydomain/partitions/Partition1/system/store/_WLS_EJBTIMER_AdminServer requestedWritePolicy="Direct-Write" fileLockingEnabled=true driver="NIO".>
####<Oct 4, 2017 8:54:04,006 PM EDT> <Info> <Store> <machine1> <AdminServer> <[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <admin> <> <4691b1d5-efe0-4202-8ae1-d6cb582cf64a-00000068> <1507164844006> <[severity-value: 64] [rid: 0] [partition-id: dd28825b-4c19-4907-b5e7-f1b9c091f6d2] [partition-name: Partition1] > <BEA-280009> <The persistent file store "_WLS_EJBTIMER_AdminServer" (a61d1cf3-c586-4ffe-8b8c-9b1b2ea6e931) has been opened: blockSize=512 actualWritePolicy="Direct-Write(single-handle-buffered)" explicitIOEnforced=false records=0.>
nextRecordId=1168

----------------------------------------------------------------------
Capture a diagnostics image. Prevents capturing further images for the configured default lockout period. Note: only an admin is allowed to capture an image.
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{}" \
-X POST http://localhost:7001/management/weblogic/latest/serverRuntime/WLDFRuntime/WLDFImageRuntime/capturedImages

HTTP/1.1 201 Created

Location: http://localhost:7001/management/weblogic/latest/serverRuntime/WLDFRuntime/WLDFImageRuntime/capturedImages/diagnostic_image_AdminServer_2017_10_04_20_55_33.zip

Response Body:
{
"links": [{
"rel": "job",
"href": "http:\/\/localhost:7001\/management\/weblogic\/latest\/serverRuntime\/WLDFRuntime\/WLDFImageRuntime\/imageCaptureTasks\/DiagnosticImageCaptureTaskRuntime_1"
}],
"identity": [
"WLDFRuntime",
"WLDFImageRuntime",
"imageCaptureTasks",
"DiagnosticImageCaptureTaskRuntime_1"
],
"running": false,
"systemTask": false,
"endTimeAsLong": 1507164938857,
"imageFileName": "diagnostic_image_AdminServer_2017_10_04_20_55_33.zip",
"name": "DiagnosticImageCaptureTaskRuntime_1",
"progress": "success",
"description": "\/domains\/mydomain\/servers\/AdminServer\/logs\/diagnostic_images\/diagnostic_image_AdminServer_2017_10_04_20_55_33.zip",
"taskError": null,
"startTimeAsLong": 1507164933143,
"type": "WLDFImageCreationTaskRuntime",
"taskStatus": "Completed",
"parentTask": null,
"completed": true,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:55:33.143-04:00",
"endTime": "2017-10-04T20:55:38.857-04:00"
}

----------------------------------------------------------------------
List the captured diagnostics images.
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/serverRuntime/WLDFRuntime/WLDFImageRuntime/capturedImages?links=none

HTTP/1.1 200 OK

Response Body:
{"items": [{"name": "diagnostic_image_AdminServer_2017_10_04_20_55_33.zip"}]}

----------------------------------------------------------------------
Download a captured diagnostics image
----------------------------------------------------------------------

curl -v \
--user monitor:monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/octet-stream \
-o diagnostic_image_AdminServer_2017_10_04_20_55_33.zip \
-X GET http://localhost:7001/management/weblogic/latest/serverRuntime/WLDFRuntime/WLDFImageRuntime/capturedImages/diagnostic_image_AdminServer_2017_10_04_20_55_33.zip/contents

HTTP/1.1 200 OK

Response Body:

wc -c diagnostic_image_AdminServer_2017_10_04_20_55_33.zip
168504 diagnostic_image_AdminServer_2017_10_04_20_55_33.zip

----------------------------------------------------------------------
Remove all of the captured images. Note: only an admin is allowed to remove captured images.
----------------------------------------------------------------------

curl -v \
--user admin:admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
age: ''
}" \
-X POST http://localhost:7001/management/weblogic/latest/serverRuntime/WLDFRuntime/WLDFImageRuntime/purgeCapturedImages

HTTP/1.1 200 OK

Response Body:
{}

Starting and Stopping Domain-Scoped Applications

Review an example script that demonstrates how an Operator starts and stops domain-scoped applications.

Note:

To view long URLs, use the scroll bar located beneath the section.

----------------------------------------------------------------------
Demonstrate a domain operator starting and stopping a domain scoped app
----------------------------------------------------------------------

----------------------------------------------------------------------
Get the app's state on one of the servers in the cluster
----------------------------------------------------------------------

curl -v \
--user operator:operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{ target='Cluster1Server1' }" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/deploymentManager/appDeploymentRuntimes/fairShare/getState

HTTP/1.1 200 OK

Response Body:
{"return": "STATE_ACTIVE"}

----------------------------------------------------------------------
Synchronously stop the app
----------------------------------------------------------------------

curl -v \
--user operator:operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{}" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/deploymentManager/appDeploymentRuntimes/fairShare/stop

HTTP/1.1 200 OK

Response Body:
{
"links": [{
"rel": "job",
"href": "http:\/\/localhost:7001\/management\/weblogic\/latest\/domainRuntime\/deploymentManager\/deploymentProgressObjects\/fairShare"
}],
"identity": [
"deploymentManager",
"deploymentProgressObjects",
"fairShare"
],
"rootExceptions": [],
"endTimeAsLong": 1507164950276,
"deploymentMessages": [
"[Deployer:149192]Operation \"stop\" on application \"fairShare\" is in progress on \"Cluster1Server1\".",
"[Deployer:149192]Operation \"stop\" on application \"fairShare\" is in progress on \"Cluster1Server2\".",
"[Deployer:149194]Operation \"stop\" on application \"fairShare\" has succeeded on \"Cluster1Server1\".",
"[Deployer:149194]Operation \"stop\" on application \"fairShare\" has succeeded on \"Cluster1Server2\"."
],
"name": "fairShare",
"operationType": 2,
"startTimeAsLong": 1507164950082,
"state": "STATE_COMPLETED",
"id": "4",
"type": "DeploymentProgressObject",
"targets": ["Cluster1"],
"applicationName": "fairShare",
"failedTargets": [],
"progress": "success",
"completed": true,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:55:50.082-04:00",
"endTime": "2017-10-04T20:55:50.276-04:00"
}

----------------------------------------------------------------------
Get the app's state on one of the servers in the cluster
----------------------------------------------------------------------

curl -v \
--user operator:operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{ target='Cluster1Server1' }" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/deploymentManager/appDeploymentRuntimes/fairShare/getState

HTTP/1.1 200 OK

Response Body:
{"return": "STATE_PREPARED"}

----------------------------------------------------------------------
Synchronously start the app
----------------------------------------------------------------------

curl -v \
--user operator:operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{}" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/deploymentManager/appDeploymentRuntimes/fairShare/start

HTTP/1.1 200 OK

Response Body:
{
"links": [{
"rel": "job",
"href": "http:\/\/localhost:7001\/management\/weblogic\/latest\/domainRuntime\/deploymentManager\/deploymentProgressObjects\/fairShare"
}],
"identity": [
"deploymentManager",
"deploymentProgressObjects",
"fairShare"
],
"rootExceptions": [],
"endTimeAsLong": 1507164950779,
"deploymentMessages": [
"[Deployer:149192]Operation \"start\" on application \"fairShare\" is in progress on \"Cluster1Server1\".",
"[Deployer:149192]Operation \"start\" on application \"fairShare\" is in progress on \"Cluster1Server2\".",
"[Deployer:149194]Operation \"start\" on application \"fairShare\" has succeeded on \"Cluster1Server1\".",
"[Deployer:149194]Operation \"start\" on application \"fairShare\" has succeeded on \"Cluster1Server2\"."
],
"name": "fairShare",
"operationType": 1,
"startTimeAsLong": 1507164950599,
"state": "STATE_COMPLETED",
"id": "5",
"type": "DeploymentProgressObject",
"targets": ["Cluster1"],
"applicationName": "fairShare",
"failedTargets": [],
"progress": "success",
"completed": true,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:55:50.599-04:00",
"endTime": "2017-10-04T20:55:50.779-04:00"
}

----------------------------------------------------------------------
Get the app's state on one of the servers in the cluster
----------------------------------------------------------------------

curl -v \
--user operator:operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{ target='Cluster1Server1' }" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/deploymentManager/appDeploymentRuntimes/fairShare/getState

HTTP/1.1 200 OK

Response Body:
{"return": "STATE_ACTIVE"}

Starting and Stopping Partitions

Review an example script that demonstrates how an Operator starts and stops partitions.

Note:

To view long URLs, use the scroll bar located beneath the section.

----------------------------------------------------------------------
Demonstrate a domain operator starting and stopping a partition
----------------------------------------------------------------------

----------------------------------------------------------------------
View the partition's state
----------------------------------------------------------------------

curl -v \
--user operator:operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/domainRuntime/domainPartitionRuntimes/Partition1/partitionLifeCycleRuntime?links=none&fields=name,state

HTTP/1.1 200 OK

Response Body:
{
"name": "Partition1",
"state": "RUNNING"
}

----------------------------------------------------------------------
Synchronously gracefully shut down the partition
----------------------------------------------------------------------

curl -v \
--user operator:operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
timeout: 10, ignoreSessions: true
}" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/domainPartitionRuntimes/Partition1/partitionLifeCycleRuntime/shutdown

HTTP/1.1 200 OK

Response Body:
{
"links": [{
"rel": "job",
"href": "http:\/\/localhost:7001\/management\/weblogic\/latest\/domainRuntime\/domainPartitionRuntimes\/Partition1\/partitionLifeCycleRuntime\/tasks\/_8_SHUTDOWN"
}],
"identity": [
"domainPartitionRuntimes",
"Partition1",
"partitionLifeCycleRuntime",
"tasks",
"_8_SHUTDOWN"
],
"systemTask": false,
"description": "Shutting down Partition1 on servers Cluster1Server1,AdminServer,Cluster1Server2 ... ",
"serverName": "Cluster1Server1,AdminServer,Cluster1Server2",
"startTimeAsLong": 1507164953334,
"type": "PartitionLifeCycleTaskRuntime",
"running": false,
"partitionName": "Partition1",
"endTimeAsLong": 1507164955643,
"name": "_8_SHUTDOWN",
"progress": "success",
"taskError": null,
"operation": "SHUTDOWN",
"taskStatus": "TASK COMPLETED",
"parentTask": null,
"completed": true,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:55:53.334-04:00",
"endTime": "2017-10-04T20:55:55.643-04:00"
}

----------------------------------------------------------------------
View the partition's state
----------------------------------------------------------------------

curl -v \
--user operator:operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/domainRuntime/domainPartitionRuntimes/Partition1/partitionLifeCycleRuntime?links=none&fields=name,state

HTTP/1.1 200 OK

Response Body:
{
"name": "Partition1",
"state": "SHUTDOWN"
}

----------------------------------------------------------------------
Synchronously start the partition
----------------------------------------------------------------------

curl -v \
--user operator:operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{}" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/domainPartitionRuntimes/Partition1/partitionLifeCycleRuntime/start

HTTP/1.1 200 OK

Response Body:
{
"links": [{
"rel": "job",
"href": "http:\/\/localhost:7001\/management\/weblogic\/latest\/domainRuntime\/domainPartitionRuntimes\/Partition1\/partitionLifeCycleRuntime\/tasks\/_12_START"
}],
"identity": [
"domainPartitionRuntimes",
"Partition1",
"partitionLifeCycleRuntime",
"tasks",
"_12_START"
],
"systemTask": false,
"description": "Starting Partition1 on servers Cluster1Server1,AdminServer,Cluster1Server2 ... ",
"serverName": "Cluster1Server1,AdminServer,Cluster1Server2",
"startTimeAsLong": 1507164956853,
"type": "PartitionLifeCycleTaskRuntime",
"running": false,
"partitionName": "Partition1",
"endTimeAsLong": 1507164959342,
"name": "_12_START",
"progress": "success",
"taskError": null,
"operation": "START",
"taskStatus": "TASK COMPLETED",
"parentTask": null,
"completed": true,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:55:56.853-04:00",
"endTime": "2017-10-04T20:55:59.342-04:00"
}

----------------------------------------------------------------------
View the partition's state
----------------------------------------------------------------------

curl -v \
--user operator:operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/domainRuntime/domainPartitionRuntimes/Partition1/partitionLifeCycleRuntime?links=none&fields=name,state

HTTP/1.1 200 OK

Response Body:
{
"name": "Partition1",
"state": "RUNNING"
}

----------------------------------------------------------------------
Asynchronously force shutdown the partition
----------------------------------------------------------------------

curl -v \
--user operator:operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{}" \
-H "Prefer:respond-async" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/domainPartitionRuntimes/Partition1/partitionLifeCycleRuntime/forceShutdown

HTTP/1.1 202 Accepted

Location: http://localhost:7001/management/weblogic/latest/domainRuntime/domainPartitionRuntimes/Partition1/partitionLifeCycleRuntime/tasks/_16_FORCE_SHUTDOWN

Response Body:
{
"links": [{
"rel": "job",
"href": "http:\/\/localhost:7001\/management\/weblogic\/latest\/domainRuntime\/domainPartitionRuntimes\/Partition1\/partitionLifeCycleRuntime\/tasks\/_16_FORCE_SHUTDOWN"
}],
"identity": [
"domainPartitionRuntimes",
"Partition1",
"partitionLifeCycleRuntime",
"tasks",
"_16_FORCE_SHUTDOWN"
],
"systemTask": false,
"description": "Force Shutting down Partition1 on servers Cluster1Server1,AdminServer,Cluster1Server2 ... ",
"serverName": "Cluster1Server1,AdminServer,Cluster1Server2",
"startTimeAsLong": 1507164960798,
"type": "PartitionLifeCycleTaskRuntime",
"running": true,
"partitionName": "Partition1",
"name": "_16_FORCE_SHUTDOWN",
"progress": "processing",
"taskError": null,
"operation": "FORCE_SHUTDOWN",
"taskStatus": "TASK IN PROGRESS",
"parentTask": null,
"completed": false,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:56:00.798-04:00"
}

----------------------------------------------------------------------
Get status for job domainRuntime/domainPartitionRuntimes/Partition1/partitionLifeCycleRuntime/tasks/_16_FORCE_SHUTDOWN
----------------------------------------------------------------------

curl -v \
--user operator:operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/domainRuntime/domainPartitionRuntimes/Partition1/partitionLifeCycleRuntime/tasks/_16_FORCE_SHUTDOWN?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"domainPartitionRuntimes",
"Partition1",
"partitionLifeCycleRuntime",
"tasks",
"_16_FORCE_SHUTDOWN"
],
"systemTask": false,
"description": "Force Shutting down Partition1 on servers Cluster1Server1,AdminServer,Cluster1Server2 ... ",
"serverName": "Cluster1Server1,AdminServer,Cluster1Server2",
"startTimeAsLong": 1507164960798,
"type": "PartitionLifeCycleTaskRuntime",
"running": false,
"partitionName": "Partition1",
"endTimeAsLong": 1507164961066,
"name": "_16_FORCE_SHUTDOWN",
"progress": "success",
"taskError": null,
"operation": "FORCE_SHUTDOWN",
"taskStatus": "TASK COMPLETED",
"parentTask": null,
"completed": true,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:56:00.798-04:00",
"endTime": "2017-10-04T20:56:01.066-04:00"
}

----------------------------------------------------------------------
View the partition's state
----------------------------------------------------------------------

curl -v \
--user operator:operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/domainRuntime/domainPartitionRuntimes/Partition1/partitionLifeCycleRuntime?links=none&fields=name,state

HTTP/1.1 200 OK

Response Body:
{
"name": "Partition1",
"state": "SHUTDOWN"
}

----------------------------------------------------------------------
Asynchronously start the partition
----------------------------------------------------------------------

curl -v \
--user operator:operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{}" \
-H "Prefer:respond-async" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/domainPartitionRuntimes/Partition1/partitionLifeCycleRuntime/start

HTTP/1.1 202 Accepted

Location: http://localhost:7001/management/weblogic/latest/domainRuntime/domainPartitionRuntimes/Partition1/partitionLifeCycleRuntime/tasks/_20_START

Response Body:
{
"links": [{
"rel": "job",
"href": "http:\/\/localhost:7001\/management\/weblogic\/latest\/domainRuntime\/domainPartitionRuntimes\/Partition1\/partitionLifeCycleRuntime\/tasks\/_20_START"
}],
"identity": [
"domainPartitionRuntimes",
"Partition1",
"partitionLifeCycleRuntime",
"tasks",
"_20_START"
],
"systemTask": false,
"description": "Starting Partition1 on servers Cluster1Server1,AdminServer,Cluster1Server2 ... ",
"serverName": "Cluster1Server1,AdminServer,Cluster1Server2",
"startTimeAsLong": 1507164964643,
"type": "PartitionLifeCycleTaskRuntime",
"running": true,
"partitionName": "Partition1",
"name": "_20_START",
"progress": "processing",
"taskError": null,
"operation": "START",
"taskStatus": "TASK IN PROGRESS",
"parentTask": null,
"completed": false,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:56:04.643-04:00"
}

----------------------------------------------------------------------
Get status for job domainRuntime/domainPartitionRuntimes/Partition1/partitionLifeCycleRuntime/tasks/_20_START
----------------------------------------------------------------------

curl -v \
--user operator:operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/domainRuntime/domainPartitionRuntimes/Partition1/partitionLifeCycleRuntime/tasks/_20_START?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"domainPartitionRuntimes",
"Partition1",
"partitionLifeCycleRuntime",
"tasks",
"_20_START"
],
"systemTask": false,
"description": "Starting Partition1 on servers Cluster1Server1,AdminServer,Cluster1Server2 ... ",
"serverName": "Cluster1Server1,AdminServer,Cluster1Server2",
"startTimeAsLong": 1507164964643,
"type": "PartitionLifeCycleTaskRuntime",
"running": true,
"partitionName": "Partition1",
"name": "_20_START",
"progress": "processing",
"taskError": null,
"operation": "START",
"taskStatus": "TASK IN PROGRESS",
"parentTask": null,
"completed": false,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:56:04.643-04:00"
}

----------------------------------------------------------------------
Get status for job domainRuntime/domainPartitionRuntimes/Partition1/partitionLifeCycleRuntime/tasks/_20_START
----------------------------------------------------------------------

curl -v \
--user operator:operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/domainRuntime/domainPartitionRuntimes/Partition1/partitionLifeCycleRuntime/tasks/_20_START?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"domainPartitionRuntimes",
"Partition1",
"partitionLifeCycleRuntime",
"tasks",
"_20_START"
],
"systemTask": false,
"description": "Starting Partition1 on servers Cluster1Server1,AdminServer,Cluster1Server2 ... ",
"serverName": "Cluster1Server1,AdminServer,Cluster1Server2",
"startTimeAsLong": 1507164964643,
"type": "PartitionLifeCycleTaskRuntime",
"running": false,
"partitionName": "Partition1",
"endTimeAsLong": 1507164966798,
"name": "_20_START",
"progress": "success",
"taskError": null,
"operation": "START",
"taskStatus": "TASK COMPLETED",
"parentTask": null,
"completed": true,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:56:04.643-04:00",
"endTime": "2017-10-04T20:56:06.798-04:00"
}

----------------------------------------------------------------------
View the partition's state
----------------------------------------------------------------------

curl -v \
--user operator:operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/domainRuntime/domainPartitionRuntimes/Partition1/partitionLifeCycleRuntime?links=none&fields=name,state

HTTP/1.1 200 OK

Response Body:
{
"name": "Partition1",
"state": "RUNNING"
}

Starting and Stopping Servers

Review an example script that demonstrates how an Operator starts and stops servers.

Note:

To view long URLs, use the scroll bar located beneath the section.

----------------------------------------------------------------------
Demonstrate a domain operator starting and stopping servers
----------------------------------------------------------------------

----------------------------------------------------------------------
View the servers' states
----------------------------------------------------------------------

curl -v \
--user operator:operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/domainRuntime/serverLifeCycleRuntimes?links=none&fields=name,state

HTTP/1.1 200 OK

Response Body:
{"items": [
{
"name": "Cluster1Server1",
"state": "RUNNING"
},
{
"name": "AdminServer",
"state": "RUNNING"
},
{
"name": "Cluster1Server2",
"state": "RUNNING"
}
]}

----------------------------------------------------------------------
Synchronously shutdown a server
----------------------------------------------------------------------

curl -v \
--user operator:operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
timeout: 300, ignoreSessions: true
}" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/serverLifeCycleRuntimes/Cluster1Server1/shutdown

HTTP/1.1 200 OK

Response Body:
{
"links": [{
"rel": "job",
"href": "http:\/\/localhost:7001\/management\/weblogic\/latest\/domainRuntime\/serverLifeCycleRuntimes\/Cluster1Server1\/tasks\/_2_shutdown"
}],
"identity": [
"serverLifeCycleRuntimes",
"Cluster1Server1",
"tasks",
"_2_shutdown"
],
"running": false,
"systemTask": false,
"endTimeAsLong": 1507164992012,
"name": "_2_shutdown",
"progress": "success",
"description": "Shutting down Cluster1Server1 server ...",
"serverName": "Cluster1Server1",
"taskError": null,
"startTimeAsLong": 1507164984384,
"type": "ServerLifeCycleTaskRuntime",
"operation": "shutdown",
"taskStatus": "TASK COMPLETED",
"parentTask": null,
"completed": true,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:56:24.384-04:00",
"endTime": "2017-10-04T20:56:32.012-04:00"
}

----------------------------------------------------------------------
Asynchronously force shutdown a server
----------------------------------------------------------------------

curl -v \
--user operator:operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{}" \
-H "Prefer:respond-async" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/serverLifeCycleRuntimes/Cluster1Server2/forceShutdown

HTTP/1.1 202 Accepted

Location: http://localhost:7001/management/weblogic/latest/domainRuntime/serverLifeCycleRuntimes/Cluster1Server2/tasks/_3_forceShutdown

Response Body:
{
"links": [{
"rel": "job",
"href": "http:\/\/localhost:7001\/management\/weblogic\/latest\/domainRuntime\/serverLifeCycleRuntimes\/Cluster1Server2\/tasks\/_3_forceShutdown"
}],
"identity": [
"serverLifeCycleRuntimes",
"Cluster1Server2",
"tasks",
"_3_forceShutdown"
],
"running": true,
"systemTask": false,
"name": "_3_forceShutdown",
"progress": "processing",
"description": "Forcefully shutting down Cluster1Server2 server ...",
"serverName": "Cluster1Server2",
"taskError": null,
"startTimeAsLong": 1507164992943,
"type": "ServerLifeCycleTaskRuntime",
"operation": "forceShutdown",
"taskStatus": "TASK IN PROGRESS",
"parentTask": null,
"completed": false,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:56:32.943-04:00"
}

----------------------------------------------------------------------
Get status for job domainRuntime/serverLifeCycleRuntimes/Cluster1Server2/tasks/_3_forceShutdown
----------------------------------------------------------------------

curl -v \
--user operator:operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/domainRuntime/serverLifeCycleRuntimes/Cluster1Server2/tasks/_3_forceShutdown?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"serverLifeCycleRuntimes",
"Cluster1Server2",
"tasks",
"_3_forceShutdown"
],
"running": true,
"systemTask": false,
"name": "_3_forceShutdown",
"progress": "processing",
"description": "Forcefully shutting down Cluster1Server2 server ...",
"serverName": "Cluster1Server2",
"taskError": null,
"startTimeAsLong": 1507164992943,
"type": "ServerLifeCycleTaskRuntime",
"operation": "forceShutdown",
"taskStatus": "TASK IN PROGRESS",
"parentTask": null,
"completed": false,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:56:32.943-04:00"
}

----------------------------------------------------------------------
Get status for job domainRuntime/serverLifeCycleRuntimes/Cluster1Server2/tasks/_3_forceShutdown
----------------------------------------------------------------------

curl -v \
--user operator:operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/domainRuntime/serverLifeCycleRuntimes/Cluster1Server2/tasks/_3_forceShutdown?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"serverLifeCycleRuntimes",
"Cluster1Server2",
"tasks",
"_3_forceShutdown"
],
"running": false,
"systemTask": false,
"endTimeAsLong": 1507164994784,
"name": "_3_forceShutdown",
"progress": "success",
"description": "Forcefully shutting down Cluster1Server2 server ...",
"serverName": "Cluster1Server2",
"taskError": null,
"startTimeAsLong": 1507164992943,
"type": "ServerLifeCycleTaskRuntime",
"operation": "forceShutdown",
"taskStatus": "TASK COMPLETED",
"parentTask": null,
"completed": true,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:56:32.943-04:00",
"endTime": "2017-10-04T20:56:34.784-04:00"
}

----------------------------------------------------------------------
View the servers' states
----------------------------------------------------------------------

curl -v \
--user operator:operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/domainRuntime/serverLifeCycleRuntimes?links=none&fields=name,state

HTTP/1.1 200 OK

Response Body:
{"items": [
{
"name": "Cluster1Server1",
"state": "SHUTDOWN"
},
{
"name": "AdminServer",
"state": "RUNNING"
},
{
"name": "Cluster1Server2",
"state": "SHUTDOWN"
}
]}

----------------------------------------------------------------------
Synchronously start a server
----------------------------------------------------------------------

curl -v \
--user operator:operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{}" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/serverLifeCycleRuntimes/Cluster1Server1/start

HTTP/1.1 200 OK

Response Body:
{
"links": [{
"rel": "job",
"href": "http:\/\/localhost:7001\/management\/weblogic\/latest\/domainRuntime\/serverLifeCycleRuntimes\/Cluster1Server1\/tasks\/_4_start"
}],
"identity": [
"serverLifeCycleRuntimes",
"Cluster1Server1",
"tasks",
"_4_start"
],
"running": false,
"systemTask": false,
"endTimeAsLong": 1507165044821,
"name": "_4_start",
"progress": "success",
"description": "Starting Cluster1Server1 server ...",
"serverName": "Cluster1Server1",
"taskError": null,
"startTimeAsLong": 1507165011847,
"type": "ServerLifeCycleTaskRuntime",
"operation": "start",
"taskStatus": "TASK COMPLETED",
"parentTask": null,
"completed": true,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:56:51.847-04:00",
"endTime": "2017-10-04T20:57:24.821-04:00"
}

----------------------------------------------------------------------
Asynchronously start a server
----------------------------------------------------------------------

curl -v \
--user operator:operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{}" \
-H "Prefer:respond-async" \
-X POST http://localhost:7001/management/weblogic/latest/domainRuntime/serverLifeCycleRuntimes/Cluster1Server2/start

HTTP/1.1 202 Accepted

Location: http://localhost:7001/management/weblogic/latest/domainRuntime/serverLifeCycleRuntimes/Cluster1Server2/tasks/_5_start

Response Body:
{
"links": [{
"rel": "job",
"href": "http:\/\/localhost:7001\/management\/weblogic\/latest\/domainRuntime\/serverLifeCycleRuntimes\/Cluster1Server2\/tasks\/_5_start"
}],
"identity": [
"serverLifeCycleRuntimes",
"Cluster1Server2",
"tasks",
"_5_start"
],
"running": true,
"systemTask": false,
"name": "_5_start",
"progress": "processing",
"description": "Starting Cluster1Server2 server ...",
"serverName": "Cluster1Server2",
"taskError": null,
"startTimeAsLong": 1507165087651,
"type": "ServerLifeCycleTaskRuntime",
"operation": "start",
"taskStatus": "TASK IN PROGRESS",
"parentTask": null,
"completed": false,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:58:07.651-04:00"
}

----------------------------------------------------------------------
Get status for job domainRuntime/serverLifeCycleRuntimes/Cluster1Server2/tasks/_5_start
----------------------------------------------------------------------

curl -v \
--user operator:operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/domainRuntime/serverLifeCycleRuntimes/Cluster1Server2/tasks/_5_start?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"serverLifeCycleRuntimes",
"Cluster1Server2",
"tasks",
"_5_start"
],
"running": true,
"systemTask": false,
"name": "_5_start",
"progress": "processing",
"description": "Starting Cluster1Server2 server ...",
"serverName": "Cluster1Server2",
"taskError": null,
"startTimeAsLong": 1507165087651,
"type": "ServerLifeCycleTaskRuntime",
"operation": "start",
"taskStatus": "TASK IN PROGRESS",
"parentTask": null,
"completed": false,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:58:07.651-04:00"
}

----------------------------------------------------------------------
Get status for job domainRuntime/serverLifeCycleRuntimes/Cluster1Server2/tasks/_5_start
----------------------------------------------------------------------

curl -v \
--user operator:operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/domainRuntime/serverLifeCycleRuntimes/Cluster1Server2/tasks/_5_start?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"serverLifeCycleRuntimes",
"Cluster1Server2",
"tasks",
"_5_start"
],
"running": true,
"systemTask": false,
"name": "_5_start",
"progress": "processing",
"description": "Starting Cluster1Server2 server ...",
"serverName": "Cluster1Server2",
"taskError": null,
"startTimeAsLong": 1507165087651,
"type": "ServerLifeCycleTaskRuntime",
"operation": "start",
"taskStatus": "TASK IN PROGRESS",
"parentTask": null,
"completed": false,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:58:07.651-04:00"
}

----------------------------------------------------------------------
Get status for job domainRuntime/serverLifeCycleRuntimes/Cluster1Server2/tasks/_5_start
----------------------------------------------------------------------

curl -v \
--user operator:operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/domainRuntime/serverLifeCycleRuntimes/Cluster1Server2/tasks/_5_start?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"serverLifeCycleRuntimes",
"Cluster1Server2",
"tasks",
"_5_start"
],
"running": true,
"systemTask": false,
"name": "_5_start",
"progress": "processing",
"description": "Starting Cluster1Server2 server ...",
"serverName": "Cluster1Server2",
"taskError": null,
"startTimeAsLong": 1507165087651,
"type": "ServerLifeCycleTaskRuntime",
"operation": "start",
"taskStatus": "TASK IN PROGRESS",
"parentTask": null,
"completed": false,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:58:07.651-04:00"
}

----------------------------------------------------------------------
Get status for job domainRuntime/serverLifeCycleRuntimes/Cluster1Server2/tasks/_5_start
----------------------------------------------------------------------

curl -v \
--user operator:operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/domainRuntime/serverLifeCycleRuntimes/Cluster1Server2/tasks/_5_start?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"serverLifeCycleRuntimes",
"Cluster1Server2",
"tasks",
"_5_start"
],
"running": false,
"systemTask": false,
"endTimeAsLong": 1507165119570,
"name": "_5_start",
"progress": "success",
"description": "Starting Cluster1Server2 server ...",
"serverName": "Cluster1Server2",
"taskError": null,
"startTimeAsLong": 1507165087651,
"type": "ServerLifeCycleTaskRuntime",
"operation": "start",
"taskStatus": "TASK COMPLETED",
"parentTask": null,
"completed": true,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:58:07.651-04:00",
"endTime": "2017-10-04T20:58:39.570-04:00"
}

----------------------------------------------------------------------
View the servers' states
----------------------------------------------------------------------

curl -v \
--user operator:operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/weblogic/latest/domainRuntime/serverLifeCycleRuntimes?links=none&fields=name,state

HTTP/1.1 200 OK

Response Body:
{"items": [
{
"name": "Cluster1Server1",
"state": "RUNNING"
},
{
"name": "AdminServer",
"state": "RUNNING"
},
{
"name": "Cluster1Server2",
"state": "RUNNING"
}
]}

5 Partition Specific REST API Examples

Examine example scripts for users in partition level roles using WebLogic Server REST APIs to perform common partition management and monitoring tasks. For information on the user roles which can access a REST resource, see Accessing REST Resources.

This chapter includes the following sections:

- Configuring Users

- Creating Partition-Scoped System Resources

- Deploying Partition-Scoped Applications

- Monitoring Partition Resources

- Starting and Stopping Partition-Scoped Applications

Configuring Users

Review an example script that demonstrates how a Partition Administrator configures users such as Operators, Deployers, and Monitors, for a new partition.

Note:

To view long URLs, use the scroll bar located beneath the section.

----------------------------------------------------------------------
Demonstrate a partition admin configuring a partition
----------------------------------------------------------------------

----------------------------------------------------------------------
Create a deployer, operator and monitor for the new partition
----------------------------------------------------------------------

curl -v \
--user Partition1Admin:Partition1Admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
userName:    'Partition1Deployer',
password:    'Partition1Deployer123',
description: 'Partition1 deployer'
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/serverConfig/securityConfiguration/realms/Partition1Realm/authenticationProviders/DefaultAuthenticator/createUser

HTTP/1.1 200 OK

Response Body:
{}

curl -v \
--user Partition1Admin:Partition1Admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
groupName:             'Deployers',
memberUserOrGroupName: 'Partition1Deployer'
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/serverConfig/securityConfiguration/realms/Partition1Realm/authenticationProviders/DefaultAuthenticator/addMemberToGroup

HTTP/1.1 200 OK

Response Body:
{}

curl -v \
--user Partition1Admin:Partition1Admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
userName:    'Partition1Operator',
password:    'Partition1Operator123',
description: 'Partition1 operator'
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/serverConfig/securityConfiguration/realms/Partition1Realm/authenticationProviders/DefaultAuthenticator/createUser

HTTP/1.1 200 OK

Response Body:
{}

curl -v \
--user Partition1Admin:Partition1Admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
groupName:             'Operators',
memberUserOrGroupName: 'Partition1Operator'
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/serverConfig/securityConfiguration/realms/Partition1Realm/authenticationProviders/DefaultAuthenticator/addMemberToGroup

HTTP/1.1 200 OK

Response Body:
{}

curl -v \
--user Partition1Admin:Partition1Admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
userName:    'Partition1Monitor',
password:    'Partition1Monitor123',
description: 'Partition1 monitor'
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/serverConfig/securityConfiguration/realms/Partition1Realm/authenticationProviders/DefaultAuthenticator/createUser

HTTP/1.1 200 OK

Response Body:
{}

curl -v \
--user Partition1Admin:Partition1Admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
groupName:             'Monitors',
memberUserOrGroupName: 'Partition1Monitor'
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/serverConfig/securityConfiguration/realms/Partition1Realm/authenticationProviders/DefaultAuthenticator/addMemberToGroup

HTTP/1.1 200 OK

Response Body:
{}

Creating Partition-Scoped System Resources

Review an example script that demonstrates how a Deployer creates a partition-scoped data source and a JMS system resource.

Note:

To view long URLs, use the scroll bar located beneath the section.

----------------------------------------------------------------------
Demonstrate a partition deployer configuring system resources
----------------------------------------------------------------------

----------------------------------------------------------------------
View the default values for a new partition-scoped JDBC system resource
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JDBCSystemResourceCreateForm?links=none

HTTP/1.1 200 OK

Response Body:
{
"notes": null,
"moduleType": null,
"deploymentPrincipalName": null,
"compatibilityName": null,
"deploymentOrder": 100,
"tags": null,
"targets": [],
"name": null,
"descriptorFileName": null
}

----------------------------------------------------------------------
Start editing
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/changeManager/startEdit

HTTP/1.1 200 OK

Response Body:
{}

----------------------------------------------------------------------
Create a new partition-scoped JDBC system resource and set its name
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name: 'Partition1JDBCDataSource1',
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JDBCSystemResources?saveChanges=false

HTTP/1.1 201 Created

Location: http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JDBCSystemResources/Partition1JDBCDataSource1

Response Body:
{}

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name: 'Partition1JDBCDataSource1'
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JDBCSystemResources/Partition1JDBCDataSource1/JDBCResource

HTTP/1.1 200 OK

Response Body:
{}

----------------------------------------------------------------------
Configure the JDBC system resource's JNDI name
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
JNDINames: [ 'Partition1JDBCDataSource1' ]
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JDBCSystemResources/Partition1JDBCDataSource1/JDBCResource/JDBCDataSourceParams

HTTP/1.1 200 OK

Response Body:
{}

----------------------------------------------------------------------
Configure the JDBC system resource's driver info
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
driverName: 'org.apache.derby.jdbc.ClientXADataSource',
url:        'jdbc:derby://localhost:1527/demo'
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JDBCSystemResources/Partition1JDBCDataSource1/JDBCResource/JDBCDriverParams

HTTP/1.1 200 OK

Response Body:
{}

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name:  'portNumber',
value: '1527'
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JDBCSystemResources/Partition1JDBCDataSource1/JDBCResource/JDBCDriverParams/properties/properties

HTTP/1.1 201 Created

Location: http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JDBCSystemResources/Partition1JDBCDataSource1/JDBCResource/JDBCDriverParams/properties/properties/portNumber

Response Body:
{}

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name:  'databaseName',
value: 'demo;create=true'
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JDBCSystemResources/Partition1JDBCDataSource1/JDBCResource/JDBCDriverParams/properties/properties

HTTP/1.1 201 Created

Location: http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JDBCSystemResources/Partition1JDBCDataSource1/JDBCResource/JDBCDriverParams/properties/properties/databaseName

Response Body:
{}

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name:  'serverName',
value: 'localhost'
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JDBCSystemResources/Partition1JDBCDataSource1/JDBCResource/JDBCDriverParams/properties/properties

HTTP/1.1 201 Created

Location: http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JDBCSystemResources/Partition1JDBCDataSource1/JDBCResource/JDBCDriverParams/properties/properties/serverName

Response Body:
{}

----------------------------------------------------------------------
Activate the changes
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/changeManager/activate

HTTP/1.1 200 OK

Response Body:
{}

----------------------------------------------------------------------
View the new JDBC system resource
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JDBCSystemResources/Partition1JDBCDataSource1?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"partitions",
"Partition1",
"resourceGroups",
"Partition1ResourceGroup",
"JDBCSystemResources",
"Partition1JDBCDataSource1"
],
"notes": null,
"moduleType": null,
"deploymentPrincipalName": null,
"descriptorFileName": "partitions\/Partition1\/jdbc\/Partition1JDBCDataSource1-3274-jdbc.xml",
"name": "Partition1JDBCDataSource1",
"compatibilityName": null,
"id": 0,
"deploymentOrder": 100,
"dynamicallyCreated": false,
"type": "JDBCSystemResource",
"sourcePath": ".\/config\/partitions\/Partition1\/jdbc\/Partition1JDBCDataSource1-3274-jdbc.xml",
"tags": [],
"resource": [
"partitions",
"Partition1",
"resourceGroups",
"Partition1ResourceGroup",
"JDBCSystemResources",
"Partition1JDBCDataSource1",
"JDBCResource"
],
"targets": []
}

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JDBCSystemResources/Partition1JDBCDataSource1/JDBCResource?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"partitions",
"Partition1",
"resourceGroups",
"Partition1ResourceGroup",
"JDBCSystemResources",
"Partition1JDBCDataSource1",
"JDBCResource"
],
"datasourceType": null,
"name": "Partition1JDBCDataSource1",
"id": 0,
"version": null
}

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JDBCSystemResources/Partition1JDBCDataSource1/JDBCResource/JDBCDataSourceParams?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"partitions",
"Partition1",
"resourceGroups",
"Partition1ResourceGroup",
"JDBCSystemResources",
"Partition1JDBCDataSource1",
"JDBCResource",
"JDBCDataSourceParams"
],
"connectionPoolFailoverCallbackHandler": null,
"globalTransactionsProtocol": "OnePhaseCommit",
"algorithmType": "Failover",
"scope": "Global",
"failoverRequestIfBusy": false,
"proxySwitchingCallback": null,
"JNDINames": ["Partition1JDBCDataSource1"],
"proxySwitchingProperties": null,
"dataSourceList": null,
"keepConnAfterGlobalTx": false
}

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JDBCSystemResources/Partition1JDBCDataSource1/JDBCResource/JDBCDriverParams?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"partitions",
"Partition1",
"resourceGroups",
"Partition1ResourceGroup",
"JDBCSystemResources",
"Partition1JDBCDataSource1",
"JDBCResource",
"JDBCDriverParams"
],
"password": null,
"driverName": "org.apache.derby.jdbc.ClientXADataSource",
"usePasswordIndirection": false,
"url": "jdbc:derby:\/\/localhost:1527\/demo",
"useXaDataSourceInterface": true
}

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JDBCSystemResources/Partition1JDBCDataSource1/JDBCResource/JDBCDriverParams/properties/properties?links=none

HTTP/1.1 200 OK

Response Body:
{"items": [
{
"identity": [
"partitions",
"Partition1",
"resourceGroups",
"Partition1ResourceGroup",
"JDBCSystemResources",
"Partition1JDBCDataSource1",
"JDBCResource",
"JDBCDriverParams",
"properties",
"properties",
"portNumber"
],
"encryptedValue": null,
"name": "portNumber",
"sysPropValue": null,
"value": "1527"
},
{
"identity": [
"partitions",
"Partition1",
"resourceGroups",
"Partition1ResourceGroup",
"JDBCSystemResources",
"Partition1JDBCDataSource1",
"JDBCResource",
"JDBCDriverParams",
"properties",
"properties",
"databaseName"
],
"encryptedValue": null,
"name": "databaseName",
"sysPropValue": null,
"value": "demo;create=true"
},
{
"identity": [
"partitions",
"Partition1",
"resourceGroups",
"Partition1ResourceGroup",
"JDBCSystemResources",
"Partition1JDBCDataSource1",
"JDBCResource",
"JDBCDriverParams",
"properties",
"properties",
"serverName"
],
"encryptedValue": null,
"name": "serverName",
"sysPropValue": null,
"value": "localhost"
}
]}

----------------------------------------------------------------------
Search for all of the JDBC data sources runtimes
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
links: [], fields: [ 'name' ],
children: {
partitionRuntimes: {
links: [], fields: [ 'name' ],
children: {
JDBCPartitionRuntime: {
links: [], fields: [ 'name' ],
children: {
JDBCDataSourceRuntimeMBeans : {
links: [], fields: [ 'name', 'state' ]
}
}
}
}
}
}
}
}
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/domainRuntime/search

HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [
{
"name": "Cluster1Server1",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"JDBCPartitionRuntime": {
"name": "Partition1",
"JDBCDataSourceRuntimeMBeans": {"items": [{
"state": "Running",
"name": "Partition1JDBCDataSource1"
}]}
}
}]}
},
{
"name": "AdminServer",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"JDBCPartitionRuntime": null
}]}
},
{
"name": "Cluster1Server2",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"JDBCPartitionRuntime": {
"name": "Partition1",
"JDBCDataSourceRuntimeMBeans": {"items": [{
"state": "Running",
"name": "Partition1JDBCDataSource1"
}]}
}
}]}
}
]}}

----------------------------------------------------------------------
Start editing
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/changeManager/startEdit

HTTP/1.1 200 OK

Response Body:
{}

----------------------------------------------------------------------
View the default values for a new partition-scoped JMS file store
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/fileStoreCreateForm?links=none

HTTP/1.1 200 OK

Response Body:
{
"notes": null,
"fileLockingEnabled": true,
"distributionPolicy": "Distributed",
"partialClusterStabilityDelaySeconds": 240,
"deploymentOrder": 1000,
"directory": null,
"initialBootDelaySeconds": 60,
"ioBufferSize": -1,
"minWindowBufferSize": -1,
"failbackDelaySeconds": -1,
"cacheDirectory": null,
"numberOfRestartAttempts": 6,
"initialSize": 0,
"logicalName": null,
"maxFileSize": 1342177280,
"synchronousWritePolicy": "Direct-Write",
"blockSize": -1,
"tags": null,
"maxWindowBufferSize": -1,
"migrationPolicy": "Off",
"secondsBetweenRestarts": 30,
"targets": [],
"name": null
}

----------------------------------------------------------------------
Create a new partition-scoped file store
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name: 'Partition1FileStore1'
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/fileStores

HTTP/1.1 201 Created

Location: http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/fileStores/Partition1FileStore1

Response Body:
{}

----------------------------------------------------------------------
View the default values for a new partition-scoped JMS server
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JMSServerCreateForm?links=none

HTTP/1.1 200 OK

Response Body:
{
"messagesThresholdHigh": -1,
"hostingTemporaryDestinations": true,
"temporaryTemplateName": null,
"notes": null,
"maximumMessageSize": 2147483647,
"allowsPersistentDowngrade": false,
"storeMessageCompressionEnabled": false,
"deploymentOrder": 1000,
"pagingMessageCompressionEnabled": false,
"messageBufferSize": -1,
"expirationScanInterval": 30,
"bytesThresholdLow": -1,
"messagesThresholdLow": -1,
"blockingSendPolicy": "FIFO",
"pagingBlockSize": -1,
"insertionPausedAtStartup": "default",
"pagingMaxWindowBufferSize": -1,
"bytesThresholdHigh": -1,
"pagingMaxFileSize": 1342177280,
"productionPausedAtStartup": "default",
"pagingFileLockingEnabled": true,
"tags": null,
"bytesMaximum": -1,
"temporaryTemplateResource": null,
"messageCompressionOptions": "GZIP_DEFAULT_COMPRESSION",
"pagingMinWindowBufferSize": -1,
"pagingIoBufferSize": -1,
"messagesMaximum": -1,
"consumptionPausedAtStartup": "default",
"pagingDirectory": null,
"storeEnabled": true,
"persistentStore": null,
"targets": [],
"name": null
}

----------------------------------------------------------------------
Create a new partition-scoped JMS server and hook it up to the file store
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name:            'Partition1JMSServer1',
messagesMaximum: 10000,
bytesMaximum:    10000000,
persistentStore: [ 'partitions', 'Partition1', 'resourceGroups', 'Partition1ResourceGroup', 'fileStores', 'Partition1FileStore1' ]
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JMSServers

HTTP/1.1 201 Created

Location: http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JMSServers/Partition1JMSServer1

Response Body:
{}

----------------------------------------------------------------------
View the default values for a new partition-scoped JMS system resource
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JMSSystemResourceCreateForm?links=none

HTTP/1.1 200 OK

Response Body:
{
"notes": null,
"moduleType": null,
"deploymentPrincipalName": null,
"compatibilityName": null,
"deploymentOrder": 100,
"tags": null,
"targets": [],
"name": null,
"descriptorFileName": null
}

----------------------------------------------------------------------
Create a new partition-scoped JMS system resource
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name: 'Partition1JMSSystemResource1',
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JMSSystemResources

HTTP/1.1 201 Created

Location: http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JMSSystemResources/Partition1JMSSystemResource1

Response Body:
{}

----------------------------------------------------------------------
View the default values for a new JMS subdeployment
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JMSSystemResources/Partition1JMSSystemResource1/subDeploymentCreateForm?links=none

HTTP/1.1 200 OK

Response Body:
{
"notes": null,
"moduleType": null,
"compatibilityName": null,
"untargeted": false,
"tags": null,
"targets": [],
"name": null
}

----------------------------------------------------------------------
Create a new JMS subdeployment and hook it up to the JMS server
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name:    'Partition1JMSSubDeployment1',
targets: [ { identity: [ 'partitions', 'Partition1', 'resourceGroups', 'Partition1ResourceGroup','JMSServers', 'Partition1JMSServer1' ] } ]
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JMSSystemResources/Partition1JMSSystemResource1/subDeployments

HTTP/1.1 201 Created

Location: http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JMSSystemResources/Partition1JMSSystemResource1/subDeployments/Partition1JMSSubDeployment1

Response Body:
{}

----------------------------------------------------------------------
View the default values for a new JMS connection factory
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JMSSystemResources/Partition1JMSSystemResource1/JMSResource/connectionFactoryCreateForm?links=none

HTTP/1.1 200 OK

Response Body:
{
"notes": null,
"JNDIName": null,
"defaultTargetingEnabled": false,
"localJNDIName": null,
"name": null
}

----------------------------------------------------------------------
Create a new JMS connection factory and hook it up to the JMS subdeployment
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name:              'Partition1ConnectionFactory1',
subDeploymentName: 'Partition1JMSSubDeployment1'
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JMSSystemResources/Partition1JMSSystemResource1/JMSResource/connectionFactories

HTTP/1.1 201 Created

Location: http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JMSSystemResources/Partition1JMSSystemResource1/JMSResource/connectionFactories/Partition1ConnectionFactory1

Response Body:
{}

----------------------------------------------------------------------
View the default values for a new JMS distributed queue
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JMSSystemResources/Partition1JMSSystemResource1/JMSResource/uniformDistributedQueueCreateForm?links=none

HTTP/1.1 200 OK

Response Body:
{
"notes": null,
"JNDIName": null,
"unitOfOrderRouting": "Hash",
"resetDeliveryCountOnForward": true,
"defaultUnitOfOrder": false,
"defaultTargetingEnabled": false,
"incompleteWorkExpirationTime": -1,
"loadBalancingPolicy": "Round-Robin",
"forwardDelay": -1,
"JMSCreateDestinationIdentifier": null,
"localJNDIName": null,
"template": null,
"quota": null,
"name": null
}

----------------------------------------------------------------------
Create a new JMS uniform distributed queue and hook it up to the JMS subdeployment
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name:              'Partition1UniformDistributedQueue1',
subDeploymentName: 'Partition1JMSSubDeployment1'
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JMSSystemResources/Partition1JMSSystemResource1/JMSResource/uniformDistributedQueues

HTTP/1.1 201 Created

Location: http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JMSSystemResources/Partition1JMSSystemResource1/JMSResource/uniformDistributedQueues/Partition1UniformDistributedQueue1

Response Body:
{}

----------------------------------------------------------------------
Activate the changes
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/changeManager/activate

HTTP/1.1 200 OK

Response Body:
{}

----------------------------------------------------------------------
View the file stores
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/fileStores?links=none

HTTP/1.1 200 OK

Response Body:
{"items": [{
"identity": [
"partitions",
"Partition1",
"resourceGroups",
"Partition1ResourceGroup",
"fileStores",
"Partition1FileStore1"
],
"notes": null,
"fileLockingEnabled": true,
"distributionPolicy": "Distributed",
"partialClusterStabilityDelaySeconds": 240,
"deploymentOrder": 1000,
"type": "FileStore",
"directory": null,
"initialBootDelaySeconds": 60,
"ioBufferSize": -1,
"minWindowBufferSize": -1,
"failbackDelaySeconds": -1,
"cacheDirectory": null,
"id": 0,
"dynamicallyCreated": false,
"XAResourceName": null,
"numberOfRestartAttempts": 6,
"initialSize": 0,
"logicalName": null,
"maxFileSize": 1342177280,
"synchronousWritePolicy": "Direct-Write",
"blockSize": -1,
"tags": [],
"maxWindowBufferSize": -1,
"name": "Partition1FileStore1",
"migrationPolicy": "Off",
"secondsBetweenRestarts": 30,
"restartInPlace": false,
"targets": []
}]}

----------------------------------------------------------------------
View the JMS servers
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/JMSServers?links=none

HTTP/1.1 200 OK

Response Body:
{"items": [{
"identity": [
"partitions",
"Partition1",
"resourceGroups",
"Partition1ResourceGroup",
"JMSServers",
"Partition1JMSServer1"
],
"messagesThresholdHigh": -1,
"hostingTemporaryDestinations": true,
"temporaryTemplateName": null,
"notes": null,
"maximumMessageSize": 2147483647,
"allowsPersistentDowngrade": false,
"storeMessageCompressionEnabled": false,
"deploymentOrder": 1000,
"type": "JMSServer",
"pagingMessageCompressionEnabled": false,
"messageBufferSize": -1,
"expirationScanInterval": 30,
"bytesThresholdLow": -1,
"messagesThresholdLow": -1,
"blockingSendPolicy": "FIFO",
"id": 0,
"dynamicallyCreated": false,
"pagingBlockSize": -1,
"insertionPausedAtStartup": "default",
"pagingMaxWindowBufferSize": -1,
"bytesThresholdHigh": -1,
"pagingMaxFileSize": 1342177280,
"productionPausedAtStartup": "default",
"pagingFileLockingEnabled": true,
"tags": [],
"bytesMaximum": 10000000,
"temporaryTemplateResource": null,
"messageCompressionOptions": "GZIP_DEFAULT_COMPRESSION",
"pagingMinWindowBufferSize": -1,
"pagingIoBufferSize": -1,
"messagesMaximum": 10000,
"name": "Partition1JMSServer1",
"consumptionPausedAtStartup": "default",
"pagingDirectory": null,
"storeEnabled": true,
"persistentStore": [
"partitions",
"Partition1",
"resourceGroups",
"Partition1ResourceGroup",
"fileStores",
"Partition1FileStore1"
],
"targets": []
}]}

----------------------------------------------------------------------
View the JMS system resources and their children
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
partitions: {
links: [], fields: [ 'name' ],
children: {
resourceGroups: {
links: [], fields: [ 'name' ],
children: {
JMSSystemResources: {
links: [],
children: {
JMSResource: {
links: [], fields: [],
children: {
connectionFactories: {
links: []
},
distributedQueues: {
links: []
},
}
},
subDeployments: {
links: []
}
}
}
}
}
}
}
}
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/search

HTTP/1.1 200 OK

Response Body:
{"partitions": {"items": [{
"name": "Partition1",
"resourceGroups": {"items": [{
"name": "Partition1ResourceGroup",
"JMSSystemResources": {"items": [{
"identity": [
"partitions",
"Partition1",
"resourceGroups",
"Partition1ResourceGroup",
"JMSSystemResources",
"Partition1JMSSystemResource1"
],
"notes": null,
"moduleType": null,
"deploymentPrincipalName": null,
"descriptorFileName": "partitions\/Partition1\/jms\/partition1jmssystemresource1-jms.xml",
"name": "Partition1JMSSystemResource1",
"compatibilityName": null,
"id": 0,
"deploymentOrder": 100,
"dynamicallyCreated": false,
"type": "JMSSystemResource",
"sourcePath": ".\/config\/partitions\/Partition1\/jms\/partition1jmssystemresource1-jms.xml",
"tags": [],
"resource": [
"partitions",
"Partition1",
"resourceGroups",
"Partition1ResourceGroup",
"JMSSystemResources",
"Partition1JMSSystemResource1",
"JMSResource"
],
"targets": [],
"subDeployments": {"items": [{
"identity": [
"partitions",
"Partition1",
"resourceGroups",
"Partition1ResourceGroup",
"JMSSystemResources",
"Partition1JMSSystemResource1",
"subDeployments",
"Partition1JMSSubDeployment1"
],
"notes": null,
"moduleType": null,
"name": "Partition1JMSSubDeployment1",
"compatibilityName": null,
"untargeted": false,
"id": 0,
"dynamicallyCreated": false,
"type": "SubDeployment",
"tags": [],
"targets": [{"identity": [
"partitions",
"Partition1",
"resourceGroups",
"Partition1ResourceGroup",
"JMSServers",
"Partition1JMSServer1"
]}]
}]},
"JMSResource": {"connectionFactories": {"items": [{
"identity": [
"partitions",
"Partition1",
"resourceGroups",
"Partition1ResourceGroup",
"JMSSystemResources",
"Partition1JMSSystemResource1",
"JMSResource",
"connectionFactories",
"Partition1ConnectionFactory1"
],
"notes": null,
"JNDIName": null,
"defaultTargetingEnabled": false,
"name": "Partition1ConnectionFactory1",
"subDeploymentName": "Partition1JMSSubDeployment1",
"id": 0,
"localJNDIName": null
}]}}
}]}
}]}
}]}}

----------------------------------------------------------------------
Search for all of the JMS related runtimes
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
links: [], fields: [ 'name' ],
children: {
partitionRuntimes: {
links: [], fields: [ 'name' ],
children: {
JMSRuntime: {
links: [], fields: [ 'name', 'healthState' ],
children: {
JMSServers: {
links: [], fields: [ 'name', 'healthState' ],
children: {
destinations: {
links: [], fields: [ 'name', 'state' ],
}
}
}
}
}
}
}
}
}
}
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/domainRuntime/search

HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [
{
"name": "Cluster1Server1",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"JMSRuntime": {
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "Cluster1Server1.jms",
"JMSServers": {"items": [{
"healthState": {
"state": "ok",
"subsystemName": "JMSServer.Partition1JMSServer1@Cluster1Server1$Partition1",
"partitionName": null,
"symptoms": []
},
"name": "Partition1JMSServer1@Cluster1Server1",
"destinations": {"items": [{
"state": "started",
"name": "Partition1JMSSystemResource1!Partition1JMSServer1@Cluster1Server1@Partition1UniformDistributedQueue1"
}]}
}]}
}
}]}
},
{
"name": "AdminServer",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"JMSRuntime": {
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "AdminServer.jms",
"JMSServers": {"items": []}
}
}]}
},
{
"name": "Cluster1Server2",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"JMSRuntime": {
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "Cluster1Server2.jms",
"JMSServers": {"items": [{
"healthState": {
"state": "ok",
"subsystemName": "JMSServer.Partition1JMSServer1@Cluster1Server2$Partition1",
"partitionName": null,
"symptoms": []
},
"name": "Partition1JMSServer1@Cluster1Server2",
"destinations": {"items": [{
"state": "started",
"name": "Partition1JMSSystemResource1!Partition1JMSServer1@Cluster1Server2@Partition1UniformDistributedQueue1"
}]}
}]}
}
}]}
}
]}}

Deploying Partition-Scoped Applications

Review an example script that demonstrates how a Deployer deploys partition-scoped applications.

Note:

To view long URLs, use the scroll bar located beneath the section.

----------------------------------------------------------------------
Demonstrate a partition deployer deploying apps
----------------------------------------------------------------------

----------------------------------------------------------------------
Asynchronously deploy a partition-scoped server-side application to the cluster
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
name:       'basicapp',
sourcePath: '/deployments/BasicApp/app/BasicApp.ear',
planPath:   '/deployments/BasicApp/plan/Plan.xml'
}" \
-H "Prefer:respond-async" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/appDeployments

HTTP/1.1 202 Accepted

Location: http://localhost:7001/partitions/Partition1/management/weblogic/latest/domainRuntime/domainPartitionRuntimes/Partition1/deploymentManager/deploymentProgressObjects/basicapp

Response Body:
{
"links": [{
"rel": "job",
"href": "http:\/\/localhost:7001\/partitions\/Partition1\/management\/weblogic\/latest\/domainRuntime\/domainPartitionRuntimes\/Partition1\/deploymentManager\/deploymentProgressObjects\/basicapp"
}],
"identity": [
"domainPartitionRuntimes",
"Partition1",
"deploymentManager",
"deploymentProgressObjects",
"basicapp"
],
"rootExceptions": [],
"deploymentMessages": [],
"name": "basicapp",
"operationType": 3,
"startTimeAsLong": 1507164899620,
"state": "STATE_RUNNING",
"id": "weblogic.deploy.configChangeTask.4",
"type": "DeploymentProgressObject",
"targets": ["Partition1VirtualTarget"],
"applicationName": "basicapp",
"failedTargets": [],
"progress": "processing",
"completed": false,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:54:59.620-04:00"
}

----------------------------------------------------------------------
Get status for job domainRuntime/domainPartitionRuntimes/Partition1/deploymentManager/deploymentProgressObjects/basicapp
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/partitions/Partition1/management/weblogic/latest/domainRuntime/domainPartitionRuntimes/Partition1/deploymentManager/deploymentProgressObjects/basicapp?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"domainPartitionRuntimes",
"Partition1",
"deploymentManager",
"deploymentProgressObjects",
"basicapp"
],
"rootExceptions": [],
"deploymentMessages": [],
"name": "basicapp",
"operationType": 3,
"startTimeAsLong": 1507164899620,
"state": "STATE_RUNNING",
"id": "weblogic.deploy.configChangeTask.4",
"type": "DeploymentProgressObject",
"targets": ["Partition1VirtualTarget"],
"applicationName": "basicapp",
"failedTargets": [],
"progress": "processing",
"completed": false,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:54:59.620-04:00"
}

----------------------------------------------------------------------
Get status for job domainRuntime/domainPartitionRuntimes/Partition1/deploymentManager/deploymentProgressObjects/basicapp
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/partitions/Partition1/management/weblogic/latest/domainRuntime/domainPartitionRuntimes/Partition1/deploymentManager/deploymentProgressObjects/basicapp?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"domainPartitionRuntimes",
"Partition1",
"deploymentManager",
"deploymentProgressObjects",
"basicapp"
],
"rootExceptions": [],
"endTimeAsLong": 1507164901146,
"deploymentMessages": [
"[Deployer:149191]Operation \"deploy\" on application \"basicapp\" is initializing on \"Cluster1Server1\".",
"[Deployer:149191]Operation \"deploy\" on application \"basicapp\" is initializing on \"Cluster1Server2\".",
"[Deployer:149194]Operation \"deploy\" on application \"basicapp\" has succeeded on \"Cluster1Server1\".",
"[Deployer:149194]Operation \"deploy\" on application \"basicapp\" has succeeded on \"Cluster1Server2\"."
],
"name": "basicapp",
"operationType": 3,
"startTimeAsLong": 1507164899620,
"state": "STATE_COMPLETED",
"id": "weblogic.deploy.configChangeTask.4",
"type": "DeploymentProgressObject",
"targets": ["Partition1VirtualTarget"],
"applicationName": "basicapp",
"failedTargets": [],
"progress": "success",
"completed": true,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:54:59.620-04:00",
"endTime": "2017-10-04T20:55:01.146-04:00"
}

----------------------------------------------------------------------
Synchronously upload a partition-scoped application from the client and deploy it to the cluster
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:multipart/form-data \
-F "model={
name: 'fairShare'
}" \
-F "sourcePath=@/deployments/fairShare.war" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/appDeployments

HTTP/1.1 100 Continue HTTP/1.1 201 Created

Location: http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/appDeployments/fairShare

Response Body:
{
"links": [{
"rel": "job",
"href": "http:\/\/localhost:7001\/partitions\/Partition1\/management\/weblogic\/latest\/domainRuntime\/domainPartitionRuntimes\/Partition1\/deploymentManager\/deploymentProgressObjects\/fairShare"
}],
"identity": [
"domainPartitionRuntimes",
"Partition1",
"deploymentManager",
"deploymentProgressObjects",
"fairShare"
],
"rootExceptions": [],
"endTimeAsLong": 1507164924294,
"deploymentMessages": [
"[Deployer:149191]Operation \"deploy\" on application \"fairShare\" is initializing on \"Cluster1Server2\".",
"[Deployer:149191]Operation \"deploy\" on application \"fairShare\" is initializing on \"Cluster1Server1\".",
"[Deployer:149194]Operation \"deploy\" on application \"fairShare\" has succeeded on \"Cluster1Server1\".",
"[Deployer:149194]Operation \"deploy\" on application \"fairShare\" has succeeded on \"Cluster1Server2\"."
],
"name": "fairShare",
"operationType": 3,
"startTimeAsLong": 1507164919506,
"state": "STATE_COMPLETED",
"id": "weblogic.deploy.configChangeTask.5",
"type": "DeploymentProgressObject",
"targets": ["Partition1VirtualTarget"],
"applicationName": "fairShare",
"failedTargets": [],
"progress": "success",
"completed": true,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:55:19.506-04:00",
"endTime": "2017-10-04T20:55:24.294-04:00"
}

----------------------------------------------------------------------
View the new applications' configurations
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/appDeployments/fairShare?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"partitions",
"Partition1",
"resourceGroups",
"Partition1ResourceGroup",
"appDeployments",
"fairShare"
],
"stagingMode": null,
"absoluteSourcePath": "\/domains\/mydomain\/partitions\/Partition1\/system\/servers\/AdminServer\/upload\/fairShare\/app\/fairShare.war",
"notes": null,
"absoluteAltDescriptorPath": null,
"deploymentOrder": 100,
"type": "AppDeployment",
"installDir": null,
"id": 0,
"altDescriptorDir": null,
"dynamicallyCreated": false,
"sourcePath": "partitions\/Partition1\/system\/servers\/AdminServer\/upload\/fairShare\/app\/fairShare.war",
"applicationName": "fairShare",
"absoluteAltDescriptorDir": null,
"moduleType": "war",
"planStagingMode": null,
"cacheInAppDirectory": false,
"absoluteInstallDir": null,
"compatibilityName": null,
"absolutePlanPath": "\/domains\/mydomain\/partitions\/Partition1\/system\/servers\/AdminServer\/upload\/fairShare\/plan\/Plan.xml",
"untargeted": false,
"planDir": "partitions\/Partition1\/system\/servers\/AdminServer\/upload\/fairShare\/plan",
"validateDDSecurityData": false,
"applicationIdentifier": "fairShare",
"tags": [],
"planPath": "Plan.xml",
"versionIdentifier": null,
"deploymentPrincipalName": null,
"absolutePlanDir": "\/domains\/mydomain\/partitions\/Partition1\/system\/servers\/AdminServer\/upload\/fairShare\/plan",
"name": "fairShare",
"parallelDeployModules": false,
"securityDDModel": "DDOnly",
"targets": []
}

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/partitions/Partition1/management/weblogic/latest/edit/partitions/Partition1/resourceGroups/Partition1ResourceGroup/appDeployments/basicapp?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"partitions",
"Partition1",
"resourceGroups",
"Partition1ResourceGroup",
"appDeployments",
"basicapp"
],
"stagingMode": null,
"absoluteSourcePath": "\/deployments\/BasicApp\/app\/BasicApp.ear",
"notes": null,
"absoluteAltDescriptorPath": null,
"deploymentOrder": 100,
"type": "AppDeployment",
"installDir": null,
"id": 0,
"altDescriptorDir": null,
"dynamicallyCreated": false,
"sourcePath": "\/deployments\/BasicApp\/app\/BasicApp.ear",
"applicationName": "basicapp",
"absoluteAltDescriptorDir": null,
"moduleType": "ear",
"planStagingMode": null,
"cacheInAppDirectory": false,
"absoluteInstallDir": null,
"compatibilityName": null,
"absolutePlanPath": "\/deployments\/BasicApp\/plan\/Plan.xml",
"untargeted": false,
"planDir": null,
"validateDDSecurityData": false,
"applicationIdentifier": "basicapp",
"tags": [],
"planPath": "\/deployments\/BasicApp\/plan\/Plan.xml",
"versionIdentifier": null,
"deploymentPrincipalName": null,
"absolutePlanDir": null,
"name": "basicapp",
"parallelDeployModules": false,
"securityDDModel": "DDOnly",
"targets": []
}

----------------------------------------------------------------------
View the new applications' appDeploymentRuntimes
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/partitions/Partition1/management/weblogic/latest/domainRuntime/domainPartitionRuntimes/Partition1/deploymentManager/appDeploymentRuntimes/fairShare?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"domainPartitionRuntimes",
"Partition1",
"deploymentManager",
"appDeploymentRuntimes",
"fairShare"
],
"applicationVersion": null,
"partitionName": "Partition1",
"name": "fairShare",
"type": "AppDeploymentRuntime",
"applicationName": "fairShare",
"modules": ["fairShare"]
}

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/partitions/Partition1/management/weblogic/latest/domainRuntime/domainPartitionRuntimes/Partition1/deploymentManager/appDeploymentRuntimes/basicapp?links=none

HTTP/1.1 200 OK

Response Body:
{
"identity": [
"domainPartitionRuntimes",
"Partition1",
"deploymentManager",
"appDeploymentRuntimes",
"basicapp"
],
"applicationVersion": null,
"partitionName": "Partition1",
"name": "basicapp",
"type": "AppDeploymentRuntime",
"applicationName": "basicapp",
"modules": [
"BasicEJB.jar",
"BasicAuth"
]
}

----------------------------------------------------------------------
Search for all of the new applications' applicationRuntimes
----------------------------------------------------------------------

curl -v \
--user Partition1Deployer:Partition1Deployer123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
links: [], fields: [ 'name' ],
children: {
partitionRuntimes: {
links: [], fields: [ 'name' ],
children: {
applicationRuntimes: {
links: [],
name: [ 'fairShare', 'basicapp' ]
}
}
}
}
}
}
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/domainRuntime/search

HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [
{
"name": "Cluster1Server1",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"applicationRuntimes": {"items": [
{
"identity": [
"partitionRuntimes",
"Partition1",
"applicationRuntimes",
"fairShare"
],
"applicationVersion": null,
"internal": false,
"partitionName": "Partition1",
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "fairShare",
"type": "ApplicationRuntime",
"activeVersionState": 2,
"applicationName": "fairShare"
},
{
"identity": [
"partitionRuntimes",
"Partition1",
"applicationRuntimes",
"basicapp"
],
"applicationVersion": null,
"internal": false,
"partitionName": "Partition1",
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "basicapp",
"type": "ApplicationRuntime",
"activeVersionState": 2,
"applicationName": "basicapp"
}
]}
}]}
},
{
"name": "AdminServer",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"applicationRuntimes": {"items": []}
}]}
},
{
"name": "Cluster1Server2",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"applicationRuntimes": {"items": [
{
"identity": [
"partitionRuntimes",
"Partition1",
"applicationRuntimes",
"fairShare"
],
"applicationVersion": null,
"internal": false,
"partitionName": "Partition1",
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "fairShare",
"type": "ApplicationRuntime",
"activeVersionState": 2,
"applicationName": "fairShare"
},
{
"identity": [
"partitionRuntimes",
"Partition1",
"applicationRuntimes",
"basicapp"
],
"applicationVersion": null,
"internal": false,
"partitionName": "Partition1",
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "basicapp",
"type": "ApplicationRuntime",
"activeVersionState": 2,
"applicationName": "basicapp"
}
]}
}]}
}
]}}

Monitoring Partition Resources

Review an example script that demonstrates how a Monitor monitors the servers, partitions, applications, JMS, and data sources in a partition, including monitoring the resource manager.

For more information about resource management, see Configuring Resource Consumption Management in Using Oracle WebLogic Server Multitenant.

The example script also shows how the partition Monitor searches logs and returns consolidated search results.

Note:

To view long URLs, use the scroll bar located beneath the section.

----------------------------------------------------------------------
Demonstrate a partition monitor monitoring the partition
----------------------------------------------------------------------

----------------------------------------------------------------------
Monitor the servers this partition runs on
----------------------------------------------------------------------

curl -v \
--user Partition1Monitor:Partition1Monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/partitions/Partition1/management/weblogic/latest/domainRuntime/serverRuntimes?links=none

HTTP/1.1 200 OK

Response Body:
{"items": [
{
"identity": [],
"stateVal": 2,
"type": "ServerRuntime",
"weblogicVersion": "WebLogic Server 12.2.1.3.0 Tue Oct  3 04:10:35 PDT 2017 1888999",
"adminServerHost": "localhost",
"restartRequired": false,
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"state": "RUNNING",
"defaultURL": "t3:\/\/localhost:7101",
"adminServerListenPort": 7001,
"adminServerListenPortSecure": false,
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "Cluster1Server1"
},
{
"identity": [],
"stateVal": 2,
"type": "ServerRuntime",
"weblogicVersion": "WebLogic Server 12.2.1.3.0 Tue Oct  3 04:10:35 PDT 2017 1888999",
"adminServerHost": "localhost",
"restartRequired": false,
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"state": "RUNNING",
"defaultURL": "t3:\/\/localhost:7001",
"adminServerListenPort": 7001,
"adminServerListenPortSecure": false,
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "AdminServer"
},
{
"identity": [],
"stateVal": 2,
"type": "ServerRuntime",
"weblogicVersion": "WebLogic Server 12.2.1.3.0 Tue Oct  3 04:10:35 PDT 2017 1888999",
"adminServerHost": "localhost",
"restartRequired": false,
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"state": "RUNNING",
"defaultURL": "t3:\/\/localhost:7102",
"adminServerListenPort": 7001,
"adminServerListenPortSecure": false,
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "Cluster1Server2"
}
]}

----------------------------------------------------------------------
Get a list of the running servers' overall health states
----------------------------------------------------------------------

curl -v \
--user Partition1Monitor:Partition1Monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
mergeCollection: true,
fields: [ { name: 'overallHealthState', values: true } ]
}
}
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/domainRuntime/search

HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [{"overallHealthState": {"values": [
{
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
{
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
{
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
}
]}}]}}

----------------------------------------------------------------------
Monitor the partitions
----------------------------------------------------------------------

curl -v \
--user Partition1Monitor:Partition1Monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
links: [], fields: [ 'name' ],
children: {
partitionRuntimes: {
links: [], fields: [ 'name', 'state', 'overallHealthState', 'subsystemHealthStates' ]
}
}
}
}
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/domainRuntime/search

HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [
{
"name": "Cluster1Server1",
"partitionRuntimes": {"items": [{
"subsystemHealthStates": [
{
"state": "ok",
"subsystemName": "jms-internal-notran-adp-Partition1VirtualTarget_jms-internal-notran-adp(Adapter)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "bea_wls_internal-Partition1VirtualTarget$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "eis\/jms\/internal\/WLSConnectionFactoryJNDINoTX(Adapter Outbound Pool)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "Cluster1Server1.jms",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "Cluster1Server1.saf",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "jms-internal-xa-adp-Partition1VirtualTarget$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "basicapp$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "wls-management-services-Partition1VirtualTarget$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "jms-internal-xa-adp-Partition1VirtualTarget_jms-internal-xa-adp(Adapter)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "jms-internal-notran-adp-Partition1VirtualTarget$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "fairShare$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "PersistentStore._WLS_EJBTIMER_Cluster1Server1",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "JMSServer.Partition1JMSServer1@Cluster1Server1$Partition1",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "eis\/jms\/internal\/WLSConnectionFactoryJNDIXA(Adapter Outbound Pool)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "PersistentStore.Partition1FileStore1@Cluster1Server1$Partition1",
"partitionName": "Partition1",
"symptoms": []
}
],
"overallHealthState": {
"state": "ok",
"subsystemName": "PartitionRuntime.Partition1",
"partitionName": "Partition1",
"symptoms": []
},
"name": "Partition1",
"state": "RUNNING"
}]}
},
{
"name": "AdminServer",
"partitionRuntimes": {"items": [{
"subsystemHealthStates": [
{
"state": "ok",
"subsystemName": "PersistentStore._WLS_EJBTIMER_AdminServer",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "wls-management-services-Partition1-adminVT$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "eis\/jms\/internal\/WLSConnectionFactoryJNDINoTX(Adapter Outbound Pool)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "jms-internal-notran-adp-Partition1-adminVT_jms-internal-notran-adp(Adapter)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "jms-internal-notran-adp-Partition1-adminVT$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "bea_wls_internal-Partition1-adminVT$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "AdminServer.saf",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "AdminServer.jms",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "jms-internal-xa-adp-Partition1-adminVT$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "jms-internal-xa-adp-Partition1-adminVT_jms-internal-xa-adp(Adapter)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "eis\/jms\/internal\/WLSConnectionFactoryJNDIXA(Adapter Outbound Pool)",
"partitionName": "Partition1",
"symptoms": []
}
],
"overallHealthState": {
"state": "ok",
"subsystemName": "PartitionRuntime.Partition1",
"partitionName": "Partition1",
"symptoms": []
},
"name": "Partition1",
"state": "RUNNING"
}]}
},
{
"name": "Cluster1Server2",
"partitionRuntimes": {"items": [{
"subsystemHealthStates": [
{
"state": "ok",
"subsystemName": "jms-internal-notran-adp-Partition1VirtualTarget_jms-internal-notran-adp(Adapter)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "Cluster1Server2.jms",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "JMSServer.Partition1JMSServer1@Cluster1Server2$Partition1",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "Cluster1Server2.saf",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "bea_wls_internal-Partition1VirtualTarget$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "eis\/jms\/internal\/WLSConnectionFactoryJNDINoTX(Adapter Outbound Pool)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "jms-internal-xa-adp-Partition1VirtualTarget$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "basicapp$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "wls-management-services-Partition1VirtualTarget$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "PersistentStore.Partition1FileStore1@Cluster1Server2$Partition1",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "jms-internal-xa-adp-Partition1VirtualTarget_jms-internal-xa-adp(Adapter)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "jms-internal-notran-adp-Partition1VirtualTarget$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "fairShare$Partition1(Application)",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "PersistentStore._WLS_EJBTIMER_Cluster1Server2",
"partitionName": "Partition1",
"symptoms": []
},
{
"state": "ok",
"subsystemName": "eis\/jms\/internal\/WLSConnectionFactoryJNDIXA(Adapter Outbound Pool)",
"partitionName": "Partition1",
"symptoms": []
}
],
"overallHealthState": {
"state": "ok",
"subsystemName": "PartitionRuntime.Partition1",
"partitionName": "Partition1",
"symptoms": []
},
"name": "Partition1",
"state": "RUNNING"
}]}
}
]}}

----------------------------------------------------------------------
Monitor the JDBC system resources
----------------------------------------------------------------------

curl -v \
--user Partition1Monitor:Partition1Monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
links: [], fields: [ 'name' ],
children: {
JDBCServiceRuntime: {
links: [], fields: [ 'name' ],
children: {
JDBCDataSourceRuntimeMBeans : { links: [], excludeFields: [ 'properties' ] }
}
},
partitionRuntimes: {
links: [], fields: [ 'name' ],
children: {
JDBCPartitionRuntime: {
links: [], fields: [ 'name' ],
children: {
JDBCDataSourceRuntimeMBeans : { links: [], excludeFields: [ 'properties' ] }
}
}
}
}
}
}
}
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/domainRuntime/search

HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [
{
"name": "Cluster1Server1",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"JDBCPartitionRuntime": {
"name": "Partition1",
"JDBCDataSourceRuntimeMBeans": {"items": [{
"identity": [
"partitionRuntimes",
"Partition1",
"JDBCPartitionRuntime",
"JDBCDataSourceRuntimeMBeans",
"Partition1JDBCDataSource1"
],
"connectionsTotalCount": 1,
"waitingForConnectionSuccessTotal": 0,
"highestNumUnavailable": 1,
"reserveRequestCount": 1,
"type": "JDBCDataSourceRuntime",
"waitingForConnectionTotal": 0,
"enabled": true,
"currCapacityHighCount": 1,
"resolvedAsNotCommittedTotalCount": 0,
"prepStmtCacheHitCount": 0,
"prepStmtCacheMissCount": 0,
"databaseProductName": "Apache Derby",
"commitOutcomeRetryTotalCount": 0,
"failedRepurposeCount": 0,
"state": "Running",
"moduleId": "Partition1JDBCDataSource1",
"prepStmtCacheAddCount": 0,
"failuresToReconnectCount": 0,
"repurposeCount": 0,
"databaseProductVersion": "10.11.1.1 - (1616546)",
"leakedConnectionCount": 0,
"waitingForConnectionFailureTotal": 0,
"activeConnectionsHighCount": 1,
"connectionDelayTime": 6,
"waitingForConnectionHighCount": 0,
"waitSecondsHighCount": 0,
"versionJDBCDriver": "org.apache.derby.jdbc.ClientXADataSource",
"failedReserveRequestCount": 0,
"prepStmtCacheDeleteCount": 0,
"numAvailable": 1,
"deploymentState": 2,
"unresolvedTotalCount": 0,
"prepStmtCacheAccessCount": 0,
"driverVersion": "10.11.1.1 - (1616546)",
"resolvedAsCommittedTotalCount": 0,
"prepStmtCacheCurrentSize": 0,
"name": "Partition1JDBCDataSource1",
"activeConnectionsCurrentCount": 0,
"currCapacity": 1,
"driverName": "Apache Derby Network Client JDBC Driver",
"activeConnectionsAverageCount": 0,
"numUnavailable": 0,
"waitingForConnectionCurrentCount": 0,
"highestNumAvailable": 1,
"lastTask": null
}]}
}
}]}
},
{
"name": "AdminServer",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"JDBCPartitionRuntime": null
}]}
},
{
"name": "Cluster1Server2",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"JDBCPartitionRuntime": {
"name": "Partition1",
"JDBCDataSourceRuntimeMBeans": {"items": [{
"identity": [
"partitionRuntimes",
"Partition1",
"JDBCPartitionRuntime",
"JDBCDataSourceRuntimeMBeans",
"Partition1JDBCDataSource1"
],
"connectionsTotalCount": 1,
"waitingForConnectionSuccessTotal": 0,
"highestNumUnavailable": 1,
"reserveRequestCount": 2,
"type": "JDBCDataSourceRuntime",
"waitingForConnectionTotal": 0,
"enabled": true,
"currCapacityHighCount": 1,
"resolvedAsNotCommittedTotalCount": 0,
"prepStmtCacheHitCount": 0,
"prepStmtCacheMissCount": 0,
"databaseProductName": "Apache Derby",
"commitOutcomeRetryTotalCount": 0,
"failedRepurposeCount": 0,
"state": "Running",
"moduleId": "Partition1JDBCDataSource1",
"prepStmtCacheAddCount": 0,
"failuresToReconnectCount": 0,
"repurposeCount": 0,
"databaseProductVersion": "10.11.1.1 - (1616546)",
"leakedConnectionCount": 0,
"waitingForConnectionFailureTotal": 0,
"activeConnectionsHighCount": 1,
"connectionDelayTime": 4,
"waitingForConnectionHighCount": 0,
"waitSecondsHighCount": 0,
"versionJDBCDriver": "org.apache.derby.jdbc.ClientXADataSource",
"failedReserveRequestCount": 0,
"prepStmtCacheDeleteCount": 0,
"numAvailable": 1,
"deploymentState": 2,
"unresolvedTotalCount": 0,
"prepStmtCacheAccessCount": 0,
"driverVersion": "10.11.1.1 - (1616546)",
"resolvedAsCommittedTotalCount": 0,
"prepStmtCacheCurrentSize": 0,
"name": "Partition1JDBCDataSource1",
"activeConnectionsCurrentCount": 0,
"currCapacity": 1,
"driverName": "Apache Derby Network Client JDBC Driver",
"activeConnectionsAverageCount": 0,
"numUnavailable": 0,
"waitingForConnectionCurrentCount": 0,
"highestNumAvailable": 1,
"lastTask": null
}]}
}
}]}
}
]}}

----------------------------------------------------------------------
Test a partition level JDBC data source
----------------------------------------------------------------------

curl -v \
--user Partition1Monitor:Partition1Monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/domainRuntime/serverRuntimes/Cluster1Server2/partitionRuntimes/Partition1/JDBCPartitionRuntime/JDBCDataSourceRuntimeMBeans/Partition1JDBCDataSource1/testPool

HTTP/1.1 200 OK

Response Body:
{"return": null}

----------------------------------------------------------------------
Monitor the JMS system resources
----------------------------------------------------------------------

curl -v \
--user Partition1Monitor:Partition1Monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
links: [], fields: [ 'name' ],
children: {
partitionRuntimes: {
links: [], fields: [ 'name' ],
children: {
JMSRuntime: {
links: [],
children: {
JMSServers: {
links: [],
children: {
destinations: {
links: [],
}
}
}
}
}
}
}
}
}
}
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/domainRuntime/search

HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [
{
"name": "Cluster1Server1",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"JMSRuntime": {
"identity": [
"partitionRuntimes",
"Partition1",
"JMSRuntime"
],
"JMSServersHighCount": 1,
"connectionsHighCount": 0,
"connectionsTotalCount": 0,
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "Cluster1Server1.jms",
"JMSServersCurrentCount": 1,
"type": "JMSRuntime",
"JMSServersTotalCount": 1,
"connectionsCurrentCount": 0,
"JMSServers": {"items": [{
"identity": [
"partitionRuntimes",
"Partition1",
"JMSServers",
"Partition1JMSServer1@Cluster1Server1"
],
"messagesReceivedCount": 0,
"bytesThresholdTime": 0,
"bytesHighCount": 0,
"insertionPausedState": "Insertion-Enabled",
"destinationsCurrentCount": 1,
"pagingAllocatedIoBufferBytes": 0,
"type": "JMSServerRuntime",
"messagesPagedInTotalCount": 0,
"consumptionPaused": false,
"bytesPagedInTotalCount": 0,
"pagingPhysicalWriteCount": 0,
"pendingTransactions": null,
"bytesPagedOutTotalCount": 0,
"consumptionPausedState": "Consumption-Enabled",
"sessionPoolsHighCount": 0,
"bytesReceivedCount": 0,
"messagesHighCount": 0,
"productionPausedState": "Production-Enabled",
"pagingAllocatedWindowBufferBytes": 0,
"destinationsTotalCount": 1,
"sessionPoolsTotalCount": 0,
"messagesThresholdTime": 0,
"bytesCurrentCount": 0,
"transactions": null,
"messagesPagedOutTotalCount": 0,
"messagesCurrentCount": 0,
"destinationsHighCount": 1,
"insertionPaused": false,
"healthState": {
"state": "ok",
"subsystemName": "JMSServer.Partition1JMSServer1@Cluster1Server1$Partition1",
"partitionName": null,
"symptoms": []
},
"messagesPageableCurrentCount": 0,
"sessionPoolsCurrentCount": 0,
"name": "Partition1JMSServer1@Cluster1Server1",
"bytesPendingCount": 0,
"productionPaused": false,
"bytesPageableCurrentCount": 0,
"messagesPendingCount": 0,
"destinations": {"items": [{
"identity": [
"partitionRuntimes",
"Partition1",
"JMSServers",
"Partition1JMSServer1@Cluster1Server1",
"destinations",
"Partition1JMSSystemResource1!Partition1JMSServer1@Cluster1Server1@Partition1UniformDistributedQueue1"
],
"messagesReceivedCount": 0,
"bytesThresholdTime": 0,
"bytesHighCount": 0,
"insertionPausedState": "Insertion-Enabled",
"type": "JMSDestinationRuntime",
"consumptionPaused": false,
"messagesDeletedCurrentCount": 0,
"destinationType": "Queue",
"consumptionPausedState": "Consumption-Enabled",
"state": "started",
"bytesReceivedCount": 0,
"messagesHighCount": 0,
"productionPausedState": "Production-Enabled",
"subscriptionMessagesLimit": -1,
"consumersTotalCount": 0,
"consumersHighCount": 0,
"messagesThresholdTime": 0,
"bytesCurrentCount": 0,
"messagesMovedCurrentCount": 0,
"messagesCurrentCount": 0,
"insertionPaused": false,
"name": "Partition1JMSSystemResource1!Partition1JMSServer1@Cluster1Server1@Partition1UniformDistributedQueue1",
"bytesPendingCount": 0,
"productionPaused": false,
"messagesPendingCount": 0,
"consumersCurrentCount": 0
}]}
}]}
}
}]}
},
{
"name": "AdminServer",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"JMSRuntime": {
"identity": [
"partitionRuntimes",
"Partition1",
"JMSRuntime"
],
"JMSServersHighCount": 0,
"connectionsHighCount": 0,
"connectionsTotalCount": 0,
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "AdminServer.jms",
"JMSServersCurrentCount": 0,
"type": "JMSRuntime",
"JMSServersTotalCount": 0,
"connectionsCurrentCount": 0,
"JMSServers": {"items": []}
}
}]}
},
{
"name": "Cluster1Server2",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"JMSRuntime": {
"identity": [
"partitionRuntimes",
"Partition1",
"JMSRuntime"
],
"JMSServersHighCount": 1,
"connectionsHighCount": 0,
"connectionsTotalCount": 0,
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "Cluster1Server2.jms",
"JMSServersCurrentCount": 1,
"type": "JMSRuntime",
"JMSServersTotalCount": 1,
"connectionsCurrentCount": 0,
"JMSServers": {"items": [{
"identity": [
"partitionRuntimes",
"Partition1",
"JMSServers",
"Partition1JMSServer1@Cluster1Server2"
],
"messagesReceivedCount": 0,
"bytesThresholdTime": 0,
"bytesHighCount": 0,
"insertionPausedState": "Insertion-Enabled",
"destinationsCurrentCount": 1,
"pagingAllocatedIoBufferBytes": 0,
"type": "JMSServerRuntime",
"messagesPagedInTotalCount": 0,
"consumptionPaused": false,
"bytesPagedInTotalCount": 0,
"pagingPhysicalWriteCount": 0,
"pendingTransactions": null,
"bytesPagedOutTotalCount": 0,
"consumptionPausedState": "Consumption-Enabled",
"sessionPoolsHighCount": 0,
"bytesReceivedCount": 0,
"messagesHighCount": 0,
"productionPausedState": "Production-Enabled",
"pagingAllocatedWindowBufferBytes": 0,
"destinationsTotalCount": 1,
"sessionPoolsTotalCount": 0,
"messagesThresholdTime": 0,
"bytesCurrentCount": 0,
"transactions": null,
"messagesPagedOutTotalCount": 0,
"messagesCurrentCount": 0,
"destinationsHighCount": 1,
"insertionPaused": false,
"healthState": {
"state": "ok",
"subsystemName": "JMSServer.Partition1JMSServer1@Cluster1Server2$Partition1",
"partitionName": null,
"symptoms": []
},
"messagesPageableCurrentCount": 0,
"sessionPoolsCurrentCount": 0,
"name": "Partition1JMSServer1@Cluster1Server2",
"bytesPendingCount": 0,
"productionPaused": false,
"bytesPageableCurrentCount": 0,
"messagesPendingCount": 0,
"destinations": {"items": [{
"identity": [
"partitionRuntimes",
"Partition1",
"JMSServers",
"Partition1JMSServer1@Cluster1Server2",
"destinations",
"Partition1JMSSystemResource1!Partition1JMSServer1@Cluster1Server2@Partition1UniformDistributedQueue1"
],
"messagesReceivedCount": 0,
"bytesThresholdTime": 0,
"bytesHighCount": 0,
"insertionPausedState": "Insertion-Enabled",
"type": "JMSDestinationRuntime",
"consumptionPaused": false,
"messagesDeletedCurrentCount": 0,
"destinationType": "Queue",
"consumptionPausedState": "Consumption-Enabled",
"state": "started",
"bytesReceivedCount": 0,
"messagesHighCount": 0,
"productionPausedState": "Production-Enabled",
"subscriptionMessagesLimit": -1,
"consumersTotalCount": 0,
"consumersHighCount": 0,
"messagesThresholdTime": 0,
"bytesCurrentCount": 0,
"messagesMovedCurrentCount": 0,
"messagesCurrentCount": 0,
"insertionPaused": false,
"name": "Partition1JMSSystemResource1!Partition1JMSServer1@Cluster1Server2@Partition1UniformDistributedQueue1",
"bytesPendingCount": 0,
"productionPaused": false,
"messagesPendingCount": 0,
"consumersCurrentCount": 0
}]}
}]}
}
}]}
}
]}}

----------------------------------------------------------------------
Monitor the applications
----------------------------------------------------------------------

curl -v \
--user Partition1Monitor:Partition1Monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
links: [], fields: [ 'name' ],
children: {
partitionRuntimes: {
links: [], fields: [ 'name' ],
children: {
applicationRuntimes: {
links: [], fields: [ 'name', 'healthState', 'overallHealthState' ]
}
}
}
}
}
}
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/domainRuntime/search

HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [
{
"name": "Cluster1Server1",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"applicationRuntimes": {"items": [
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "fairShare"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "wls-management-services-Partition1VirtualTarget"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "Partition1JMSSystemResource1"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "basicapp"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "jms-internal-xa-adp-Partition1VirtualTarget"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "Partition1JDBCDataSource1"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "bea_wls_internal-Partition1VirtualTarget"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "jms-internal-notran-adp-Partition1VirtualTarget"
}
]}
}]}
},
{
"name": "AdminServer",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"applicationRuntimes": {"items": [
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "wls-management-services-Partition1-adminVT"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "bea_wls_internal-Partition1-adminVT"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "jms-internal-xa-adp-Partition1-adminVT"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "jms-internal-notran-adp-Partition1-adminVT"
}
]}
}]}
},
{
"name": "Cluster1Server2",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"applicationRuntimes": {"items": [
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "jms-internal-xa-adp-Partition1VirtualTarget"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "Partition1JDBCDataSource1"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "fairShare"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "jms-internal-notran-adp-Partition1VirtualTarget"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "wls-management-services-Partition1VirtualTarget"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "bea_wls_internal-Partition1VirtualTarget"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "basicapp"
},
{
"overallHealthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"healthState": {
"state": "ok",
"subsystemName": null,
"partitionName": null,
"symptoms": []
},
"name": "Partition1JMSSystemResource1"
}
]}
}]}
}
]}}

----------------------------------------------------------------------
Monitor the applications' servlets
----------------------------------------------------------------------

curl -v \
--user Partition1Monitor:Partition1Monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
links: [], fields: [ 'name' ],
children: {
partitionRuntimes: {
links: [], fields: [ 'name' ],
children: {
applicationRuntimes: {
links: [], fields: [ 'name' ],
name: [ 'fairShare', 'basicapp' ],
children: {
componentRuntimes: {
links: [], fields: [ 'name', 'type' ],
children: {
servlets: {
links: [],
fields: [
'name',
'executionTimeHigh',
'executionTimeLow',
'executionTimeAverage',
'invocationTotalCount'
]
}
}
}
}
}
}
}
}
}
}
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/domainRuntime/search

HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [
{
"name": "Cluster1Server1",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"applicationRuntimes": {"items": [
{
"name": "fairShare",
"componentRuntimes": {"items": [{
"type": "WebAppComponentRuntime",
"name": "Partition1VirtualTarget_\/partition1\/fairShare",
"servlets": {"items": [
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "JspServlet",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "FileServlet",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "SimpleFastServlet",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "SimpleSlowServlet",
"executionTimeAverage": 0
}
]}
}]}
},
{
"name": "basicapp",
"componentRuntimes": {"items": [
{
"type": "WebAppComponentRuntime",
"name": "Partition1VirtualTarget_\/partition1\/BasicAuth",
"servlets": {"items": [
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "JspServlet",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "Servlet3",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "Servlet2",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "Servlet1",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "FileServlet",
"executionTimeAverage": 0
}
]}
},
{
"name": "BasicEJB.jar",
"type": "EJBComponentRuntime"
}
]}
}
]}
}]}
},
{
"name": "AdminServer",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"applicationRuntimes": {"items": []}
}]}
},
{
"name": "Cluster1Server2",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"applicationRuntimes": {"items": [
{
"name": "fairShare",
"componentRuntimes": {"items": [{
"type": "WebAppComponentRuntime",
"name": "Partition1VirtualTarget_\/partition1\/fairShare",
"servlets": {"items": [
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "JspServlet",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "FileServlet",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "SimpleFastServlet",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "SimpleSlowServlet",
"executionTimeAverage": 0
}
]}
}]}
},
{
"name": "basicapp",
"componentRuntimes": {"items": [
{
"type": "WebAppComponentRuntime",
"name": "Partition1VirtualTarget_\/partition1\/BasicAuth",
"servlets": {"items": [
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "JspServlet",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "Servlet3",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "Servlet2",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "Servlet1",
"executionTimeAverage": 0
},
{
"executionTimeHigh": 0,
"invocationTotalCount": 0,
"executionTimeLow": 0,
"name": "FileServlet",
"executionTimeAverage": 0
}
]}
},
{
"name": "BasicEJB.jar",
"type": "EJBComponentRuntime"
}
]}
}
]}
}]}
}
]}}

----------------------------------------------------------------------
Get the total number of open sessions across each application's component runtimes across all servers
----------------------------------------------------------------------

curl -v \
--user Partition1Monitor:Partition1Monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
mergeCollection: true,
children: {
partitionRuntimes: {
mergeOn: 'name',
fields: [ { name: 'name', sameValue: true } ],
children: {
applicationRuntimes: {
mergeOn: 'name',
fields: [ { name: 'name', sameValue: true } ],
children: {
componentRuntimes: {
mergeCollection: true,
fields: [ { name: 'openSessionsCurrentCount', total: true } ]
}
}
}
}
}
}
}
}
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/domainRuntime/search

HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [{"partitionRuntimes": {"items": [{
"name": "Partition1",
"applicationRuntimes": {"items": [
{
"name": "fairShare",
"componentRuntimes": {"items": [{"openSessionsCurrentCount": {
"total": 0,
"count": 2
}}]}
},
{
"name": "wls-management-services-Partition1VirtualTarget",
"componentRuntimes": {"items": [{"openSessionsCurrentCount": {
"total": 23,
"count": 2
}}]}
},
{
"name": "Partition1JMSSystemResource1",
"componentRuntimes": {"items": [{}]}
},
{
"name": "basicapp",
"componentRuntimes": {"items": [{"openSessionsCurrentCount": {
"total": 0,
"count": 2
}}]}
},
{
"name": "jms-internal-xa-adp-Partition1VirtualTarget",
"componentRuntimes": {"items": [{}]}
},
{
"name": "Partition1JDBCDataSource1",
"componentRuntimes": {"items": [{}]}
},
{
"name": "bea_wls_internal-Partition1VirtualTarget",
"componentRuntimes": {"items": [{"openSessionsCurrentCount": {
"total": 0,
"count": 2
}}]}
},
{
"name": "jms-internal-notran-adp-Partition1VirtualTarget",
"componentRuntimes": {"items": [{}]}
},
{
"name": "wls-management-services-Partition1-adminVT",
"componentRuntimes": {"items": [{"openSessionsCurrentCount": {
"total": 67,
"count": 1
}}]}
},
{
"name": "bea_wls_internal-Partition1-adminVT",
"componentRuntimes": {"items": [{"openSessionsCurrentCount": {
"total": 0,
"count": 1
}}]}
},
{
"name": "jms-internal-xa-adp-Partition1-adminVT",
"componentRuntimes": {"items": [{}]}
},
{
"name": "jms-internal-notran-adp-Partition1-adminVT",
"componentRuntimes": {"items": [{}]}
}
]}
}]}}]}}

----------------------------------------------------------------------
Get the total number of invocations of the servlets of each component runtime of the fairShare and wls-management-services application across all servers
----------------------------------------------------------------------

curl -v \
--user Partition1Monitor:Partition1Monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
mergeCollection: true,
children: {
partitionRuntimes: {
mergeOn: 'name',
fields: [ { name: 'name', sameValue: true } ],
children: {
applicationRuntimes: {
name: [ 'fairShare', 'wls-management-services-Partition1-adminVT', 'wls-management-services-Partition1VirtualTarget' ],
mergeOn: 'name',
fields: [ { name: 'name', sameValue: true } ],
children: {
componentRuntimes: {
mergeOn: 'moduleId',
fields: [ { name: 'contextRoot', sameValue: true } ],
children: {
servlets: {
mergeCollection: true,
fields: [ { name: 'invocationTotalCount', total: true } ]
}
}
}
}
}
}
}
}
}
}
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/domainRuntime/search

HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [{"partitionRuntimes": {"items": [{
"name": "Partition1",
"applicationRuntimes": {"items": [
{
"name": "fairShare",
"componentRuntimes": {"items": [{
"contextRoot": "\/partition1\/fairShare",
"servlets": {"items": [{"invocationTotalCount": {
"total": 0,
"count": 8
}}]}
}]}
},
{
"name": "wls-management-services-Partition1VirtualTarget",
"componentRuntimes": {"items": [{
"contextRoot": "\/partition1\/management",
"servlets": {"items": [{"invocationTotalCount": {
"total": 23,
"count": 6
}}]}
}]}
},
{
"name": "wls-management-services-Partition1-adminVT",
"componentRuntimes": {"items": [{
"contextRoot": "\/partitions\/Partition1\/management",
"servlets": {"items": [{"invocationTotalCount": {
"total": 67,
"count": 3
}}]}
}]}
}
]}
}]}}]}}

----------------------------------------------------------------------
Get the information displayed by the console's webapp monitoring page
----------------------------------------------------------------------

curl -v \
--user Partition1Monitor:Partition1Monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
mergeCollection: true,
children: {
partitionRuntimes: {
mergeOn: 'name',
children: {
applicationRuntimes: {
mergeOn: 'name',
fields: [
{ name: 'name',     sameValue: true },
{ name: 'internal', sameValue: true }
],
children: {
componentRuntimes: {
mergeOn: 'moduleId',
fields: [
{ name: 'contextRoot',               sameValue: true },
{ name: 'type',                      sameValue: true },
{ name: 'sourceInfo',                sameValue: true },
{ name: 'deploymentState',           values:    true },
{ name: 'openSessionsHighCount',     max:       true },
{ name: 'openSessionsCurrentCount',  total:     true },
{ name: 'sessionsOpenedTotalCount',  total:     true }
],
children: {
servlets: {
mergeCollection: true,
fields: [ { name: 'invocationTotalCount', total: true } ]
}
}
}
}
}
}
}
}
}
}
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/domainRuntime/search

HTTP/1.1 100 Continue HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [{"partitionRuntimes": {"items": [{"applicationRuntimes": {"items": [
{
"internal": false,
"name": "fairShare",
"componentRuntimes": {"items": [{
"type": "WebAppComponentRuntime",
"sourceInfo": "fairShare.war",
"contextRoot": "\/partition1\/fairShare",
"openSessionsCurrentCount": {
"total": 0,
"count": 2
},
"deploymentState": {"values": [
2,
2
]},
"sessionsOpenedTotalCount": {
"total": 0,
"count": 2
},
"openSessionsHighCount": {"max": 0},
"servlets": {"items": [{"invocationTotalCount": {
"total": 0,
"count": 8
}}]}
}]}
},
{
"internal": true,
"name": "wls-management-services-Partition1VirtualTarget",
"componentRuntimes": {"items": [{
"type": "WebAppComponentRuntime",
"sourceInfo": "wls-management-services.war",
"contextRoot": "\/partition1\/management",
"openSessionsCurrentCount": {
"total": 27,
"count": 2
},
"deploymentState": {"values": [
2,
2
]},
"sessionsOpenedTotalCount": {
"total": 27,
"count": 2
},
"openSessionsHighCount": {"max": 14},
"servlets": {"items": [{"invocationTotalCount": {
"total": 25,
"count": 6
}}]}
}]}
},
{
"internal": false,
"name": "Partition1JMSSystemResource1",
"componentRuntimes": {"items": [{
"deploymentState": {"values": [
2,
2
]},
"type": "JMSComponentRuntime"
}]}
},
{
"internal": false,
"name": "basicapp",
"componentRuntimes": {"items": [
{
"type": "WebAppComponentRuntime",
"sourceInfo": "BasicAuth.war",
"contextRoot": "\/partition1\/BasicAuth",
"openSessionsCurrentCount": {
"total": 0,
"count": 2
},
"deploymentState": {"values": [
2,
2
]},
"sessionsOpenedTotalCount": {
"total": 0,
"count": 2
},
"openSessionsHighCount": {"max": 0},
"servlets": {"items": [{"invocationTotalCount": {
"total": 0,
"count": 10
}}]}
},
{
"deploymentState": {"values": [
2,
2
]},
"type": "EJBComponentRuntime"
}
]}
},
{
"internal": true,
"name": "jms-internal-xa-adp-Partition1VirtualTarget",
"componentRuntimes": {"items": [{
"type": "ConnectorComponentRuntime",
"deploymentState": {"values": [
2,
2
]}
}]}
},
{
"internal": false,
"name": "Partition1JDBCDataSource1",
"componentRuntimes": {"items": [{
"type": "JDBCDataSourceRuntime",
"deploymentState": {"values": [
2,
2
]}
}]}
},
{
"internal": true,
"name": "bea_wls_internal-Partition1VirtualTarget",
"componentRuntimes": {"items": [{
"type": "WebAppComponentRuntime",
"sourceInfo": "bea_wls_internal.war",
"contextRoot": "\/partition1\/bea_wls_internal",
"openSessionsCurrentCount": {
"total": 0,
"count": 2
},
"deploymentState": {"values": [
2,
2
]},
"sessionsOpenedTotalCount": {
"total": 0,
"count": 2
},
"openSessionsHighCount": {"max": 0},
"servlets": {"items": [{"invocationTotalCount": {
"total": 0,
"count": 22
}}]}
}]}
},
{
"internal": true,
"name": "jms-internal-notran-adp-Partition1VirtualTarget",
"componentRuntimes": {"items": [{
"type": "ConnectorComponentRuntime",
"deploymentState": {"values": [
2,
2
]}
}]}
},
{
"internal": true,
"name": "wls-management-services-Partition1-adminVT",
"componentRuntimes": {"items": [{
"type": "WebAppComponentRuntime",
"sourceInfo": "wls-management-services.war",
"contextRoot": "\/partitions\/Partition1\/management",
"openSessionsCurrentCount": {
"total": 69,
"count": 1
},
"deploymentState": {"values": [2]},
"sessionsOpenedTotalCount": {
"total": 69,
"count": 1
},
"openSessionsHighCount": {"max": 69},
"servlets": {"items": [{"invocationTotalCount": {
"total": 68,
"count": 3
}}]}
}]}
},
{
"internal": true,
"name": "bea_wls_internal-Partition1-adminVT",
"componentRuntimes": {"items": [{
"type": "WebAppComponentRuntime",
"sourceInfo": "bea_wls_internal.war",
"contextRoot": "\/partitions\/Partition1\/bea_wls_internal",
"openSessionsCurrentCount": {
"total": 0,
"count": 1
},
"deploymentState": {"values": [2]},
"sessionsOpenedTotalCount": {
"total": 0,
"count": 1
},
"openSessionsHighCount": {"max": 0},
"servlets": {"items": [{"invocationTotalCount": {
"total": 0,
"count": 11
}}]}
}]}
},
{
"internal": true,
"name": "jms-internal-xa-adp-Partition1-adminVT",
"componentRuntimes": {"items": [{
"type": "ConnectorComponentRuntime",
"deploymentState": {"values": [2]}
}]}
},
{
"internal": true,
"name": "jms-internal-notran-adp-Partition1-adminVT",
"componentRuntimes": {"items": [{
"type": "ConnectorComponentRuntime",
"deploymentState": {"values": [2]}
}]}
}
]}}]}}]}}

----------------------------------------------------------------------
Monitor the resource manager
----------------------------------------------------------------------

curl -v \
--user Partition1Monitor:Partition1Monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
links: [], fields: [],
children: {
serverRuntimes: {
links: [], fields: [ 'name' ],
children: {
partitionRuntimes: {
links: [], fields: [ 'name' ],
children: {
resourceManagerRuntime: {
links: [],
children: {
resourceRuntimes: {
links: [],
children: {
triggerRuntimes: { links: [] },
fairShareConstraintRuntime:  { links: [] }
}
}
}
}
}
}
}
}
}
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/domainRuntime/search

HTTP/1.1 200 OK

Response Body:
{"serverRuntimes": {"items": [
{
"name": "Cluster1Server1",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"resourceManagerRuntime": {
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime"
],
"name": "Partition1ResourceManager",
"type": "ResourceManagerRuntime",
"resourceRuntimes": {"items": [
{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"FileOpen"
],
"usage": 2,
"name": "FileOpen",
"type": "ResourceRuntime",
"resourceType": "file-open",
"triggerRuntimes": {"items": [{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"FileOpen",
"triggerRuntimes",
"NotifyTrigger"
],
"initiated": false,
"recourseActionEventsHistory": [],
"name": "NotifyTrigger",
"lastTimeExecuted": null,
"type": "TriggerRuntime",
"activated": false
}]},
"fairShareConstraintRuntime": null
},
{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"CpuUtilization"
],
"usage": 2,
"name": "CpuUtilization",
"type": "ResourceRuntime",
"resourceType": "cpu-utilization",
"triggerRuntimes": {"items": [
{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"CpuUtilization",
"triggerRuntimes",
"NotifyTrigger"
],
"initiated": false,
"recourseActionEventsHistory": [],
"name": "NotifyTrigger",
"lastTimeExecuted": null,
"type": "TriggerRuntime",
"activated": false
},
{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"CpuUtilization",
"triggerRuntimes",
"SlowTrigger"
],
"initiated": false,
"recourseActionEventsHistory": [],
"name": "SlowTrigger",
"lastTimeExecuted": null,
"type": "TriggerRuntime",
"activated": false
}
]},
"fairShareConstraintRuntime": null
},
{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"HeapRetained"
],
"usage": 6,
"name": "HeapRetained",
"type": "ResourceRuntime",
"resourceType": "heap-retained",
"triggerRuntimes": {"items": [{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"HeapRetained",
"triggerRuntimes",
"NotifyTrigger"
],
"initiated": false,
"recourseActionEventsHistory": [],
"name": "NotifyTrigger",
"lastTimeExecuted": null,
"type": "TriggerRuntime",
"activated": false
}]},
"fairShareConstraintRuntime": null
}
]}
}
}]}
},
{
"name": "AdminServer",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"resourceManagerRuntime": {
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime"
],
"name": "Partition1ResourceManager",
"type": "ResourceManagerRuntime",
"resourceRuntimes": {"items": [
{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"FileOpen"
],
"usage": 5,
"name": "FileOpen",
"type": "ResourceRuntime",
"resourceType": "file-open",
"triggerRuntimes": {"items": [{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"FileOpen",
"triggerRuntimes",
"NotifyTrigger"
],
"initiated": false,
"recourseActionEventsHistory": [
{
"initiated": true,
"usage": 5,
"executionDate": "2017-10-04T20:54:49.421-04:00",
"action": "notify",
"active": true,
"actionSuccessful": false
},
{
"initiated": false,
"usage": 5,
"executionDate": "2017-10-04T20:54:49.424-04:00",
"action": "notify",
"active": true,
"actionSuccessful": true
},
{
"initiated": true,
"usage": 3,
"executionDate": "2017-10-04T20:54:49.430-04:00",
"action": "notify",
"active": false,
"actionSuccessful": false
},
{
"initiated": false,
"usage": 3,
"executionDate": "2017-10-04T20:54:49.430-04:00",
"action": "notify",
"active": false,
"actionSuccessful": true
},
{
"initiated": true,
"usage": 5,
"executionDate": "2017-10-04T20:54:51.063-04:00",
"action": "notify",
"active": true,
"actionSuccessful": false
},
{
"initiated": false,
"usage": 5,
"executionDate": "2017-10-04T20:54:51.063-04:00",
"action": "notify",
"active": true,
"actionSuccessful": true
},
{
"initiated": true,
"usage": 3,
"executionDate": "2017-10-04T20:54:51.184-04:00",
"action": "notify",
"active": false,
"actionSuccessful": false
},
{
"initiated": false,
"usage": 3,
"executionDate": "2017-10-04T20:54:51.184-04:00",
"action": "notify",
"active": false,
"actionSuccessful": true
},
{
"initiated": true,
"usage": 5,
"executionDate": "2017-10-04T20:54:56.832-04:00",
"action": "notify",
"active": true,
"actionSuccessful": false
},
{
"initiated": false,
"usage": 5,
"executionDate": "2017-10-04T20:54:56.833-04:00",
"action": "notify",
"active": true,
"actionSuccessful": true
},
{
"initiated": true,
"usage": 3,
"executionDate": "2017-10-04T20:54:56.951-04:00",
"action": "notify",
"active": false,
"actionSuccessful": false
},
{
"initiated": false,
"usage": 3,
"executionDate": "2017-10-04T20:54:56.951-04:00",
"action": "notify",
"active": false,
"actionSuccessful": true
},
{
"initiated": true,
"usage": 5,
"executionDate": "2017-10-04T20:54:59.622-04:00",
"action": "notify",
"active": true,
"actionSuccessful": false
},
{
"initiated": false,
"usage": 5,
"executionDate": "2017-10-04T20:54:59.623-04:00",
"action": "notify",
"active": true,
"actionSuccessful": true
},
{
"initiated": true,
"usage": 3,
"executionDate": "2017-10-04T20:54:59.726-04:00",
"action": "notify",
"active": false,
"actionSuccessful": false
},
{
"initiated": false,
"usage": 3,
"executionDate": "2017-10-04T20:54:59.727-04:00",
"action": "notify",
"active": false,
"actionSuccessful": true
},
{
"initiated": true,
"usage": 5,
"executionDate": "2017-10-04T20:55:19.076-04:00",
"action": "notify",
"active": true,
"actionSuccessful": false
},
{
"initiated": false,
"usage": 5,
"executionDate": "2017-10-04T20:55:19.077-04:00",
"action": "notify",
"active": true,
"actionSuccessful": true
}
],
"name": "NotifyTrigger",
"lastTimeExecuted": "2017-10-04T20:55:19.077-04:00",
"type": "TriggerRuntime",
"activated": true
}]},
"fairShareConstraintRuntime": null
},
{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"CpuUtilization"
],
"usage": 4,
"name": "CpuUtilization",
"type": "ResourceRuntime",
"resourceType": "cpu-utilization",
"triggerRuntimes": {"items": [
{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"CpuUtilization",
"triggerRuntimes",
"NotifyTrigger"
],
"initiated": false,
"recourseActionEventsHistory": [],
"name": "NotifyTrigger",
"lastTimeExecuted": null,
"type": "TriggerRuntime",
"activated": false
},
{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"CpuUtilization",
"triggerRuntimes",
"SlowTrigger"
],
"initiated": false,
"recourseActionEventsHistory": [],
"name": "SlowTrigger",
"lastTimeExecuted": null,
"type": "TriggerRuntime",
"activated": false
}
]},
"fairShareConstraintRuntime": null
},
{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"HeapRetained"
],
"usage": 29,
"name": "HeapRetained",
"type": "ResourceRuntime",
"resourceType": "heap-retained",
"triggerRuntimes": {"items": [{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"HeapRetained",
"triggerRuntimes",
"NotifyTrigger"
],
"initiated": false,
"recourseActionEventsHistory": [],
"name": "NotifyTrigger",
"lastTimeExecuted": null,
"type": "TriggerRuntime",
"activated": false
}]},
"fairShareConstraintRuntime": null
}
]}
}
}]}
},
{
"name": "Cluster1Server2",
"partitionRuntimes": {"items": [{
"name": "Partition1",
"resourceManagerRuntime": {
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime"
],
"name": "Partition1ResourceManager",
"type": "ResourceManagerRuntime",
"resourceRuntimes": {"items": [
{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"FileOpen"
],
"usage": 2,
"name": "FileOpen",
"type": "ResourceRuntime",
"resourceType": "file-open",
"triggerRuntimes": {"items": [{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"FileOpen",
"triggerRuntimes",
"NotifyTrigger"
],
"initiated": false,
"recourseActionEventsHistory": [],
"name": "NotifyTrigger",
"lastTimeExecuted": null,
"type": "TriggerRuntime",
"activated": false
}]},
"fairShareConstraintRuntime": null
},
{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"CpuUtilization"
],
"usage": 2,
"name": "CpuUtilization",
"type": "ResourceRuntime",
"resourceType": "cpu-utilization",
"triggerRuntimes": {"items": [
{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"CpuUtilization",
"triggerRuntimes",
"NotifyTrigger"
],
"initiated": false,
"recourseActionEventsHistory": [],
"name": "NotifyTrigger",
"lastTimeExecuted": null,
"type": "TriggerRuntime",
"activated": false
},
{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"CpuUtilization",
"triggerRuntimes",
"SlowTrigger"
],
"initiated": false,
"recourseActionEventsHistory": [],
"name": "SlowTrigger",
"lastTimeExecuted": null,
"type": "TriggerRuntime",
"activated": false
}
]},
"fairShareConstraintRuntime": null
},
{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"HeapRetained"
],
"usage": 6,
"name": "HeapRetained",
"type": "ResourceRuntime",
"resourceType": "heap-retained",
"triggerRuntimes": {"items": [{
"identity": [
"partitionRuntimes",
"Partition1",
"resourceManagerRuntime",
"resourceRuntimes",
"HeapRetained",
"triggerRuntimes",
"NotifyTrigger"
],
"initiated": false,
"recourseActionEventsHistory": [],
"name": "NotifyTrigger",
"lastTimeExecuted": null,
"type": "TriggerRuntime",
"activated": false
}]},
"fairShareConstraintRuntime": null
}
]}
}
}]}
}
]}}

----------------------------------------------------------------------
Search the admin server log as the partition monitor, returning the matching records as json
----------------------------------------------------------------------

curl -v \
--user Partition1Monitor:Partition1Monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
limit: 2,
query: 'SEVERITY = \'Info\''
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/serverRuntime/partitionRuntimes/Partition1/WLDFPartitionRuntime/WLDFPartitionAccessRuntime/WLDFDataAccessRuntimes/ServerLog/search

HTTP/1.1 200 OK

Response Body:
{
"records": [
{
"RECORDID": 1165,
"DATE": "Oct 4, 2017 8:54:03,949 PM EDT",
"SEVERITY": "Info",
"SUBSYSTEM": "Store",
"MACHINE": "machine1",
"SERVER": "AdminServer",
"THREAD": "[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'",
"USERID": "admin",
"TXID": "",
"CONTEXTID": "4691b1d5-efe0-4202-8ae1-d6cb582cf64a-00000068",
"TIMESTAMP": "1507164843949",
"MSGID": "BEA-280008",
"MESSAGE": "Opening the persistent file store \"_WLS_EJBTIMER_AdminServer\" for recovery: directory=\/domains\/mydomain\/partitions\/Partition1\/system\/store\/_WLS_EJBTIMER_AdminServer requestedWritePolicy=\"Direct-Write\" fileLockingEnabled=true driver=\"NIO\".",
"SUPP_ATTRS": "[severity-value: 64] [rid: 0] [partition-id: dd28825b-4c19-4907-b5e7-f1b9c091f6d2] [partition-name: Partition1] ",
"SEVERITY_VALUE": 64,
"PARTITION_ID": "dd28825b-4c19-4907-b5e7-f1b9c091f6d2",
"PARTITION_NAME": "Partition1",
"RID": "0"
},
{
"RECORDID": 1167,
"DATE": "Oct 4, 2017 8:54:04,006 PM EDT",
"SEVERITY": "Info",
"SUBSYSTEM": "Store",
"MACHINE": "machine1",
"SERVER": "AdminServer",
"THREAD": "[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'",
"USERID": "admin",
"TXID": "",
"CONTEXTID": "4691b1d5-efe0-4202-8ae1-d6cb582cf64a-00000068",
"TIMESTAMP": "1507164844006",
"MSGID": "BEA-280009",
"MESSAGE": "The persistent file store \"_WLS_EJBTIMER_AdminServer\" (a61d1cf3-c586-4ffe-8b8c-9b1b2ea6e931) has been opened: blockSize=512 actualWritePolicy=\"Direct-Write(single-handle-buffered)\" explicitIOEnforced=false records=0.",
"SUPP_ATTRS": "[severity-value: 64] [rid: 0] [partition-id: dd28825b-4c19-4907-b5e7-f1b9c091f6d2] [partition-name: Partition1] ",
"SEVERITY_VALUE": 64,
"PARTITION_ID": "dd28825b-4c19-4907-b5e7-f1b9c091f6d2",
"PARTITION_NAME": "Partition1",
"RID": "0"
}],
"nextRecordId": 1168
}

----------------------------------------------------------------------
Continue searching a log. This example uses the POST method to continue searching for records in the admin server log as the partition monitor.
----------------------------------------------------------------------

curl -v \
--user Partition1Monitor:Partition1Monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
limit: 2,
fromId: 1168,
query: 'SEVERITY = \'Info\''
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/serverRuntime/partitionRuntimes/Partition1/WLDFPartitionRuntime/WLDFPartitionAccessRuntime/WLDFDataAccessRuntimes/ServerLog/search

HTTP/1.1 200 OK

Response Body:
{
"records": [
{
"RECORDID": 1168,
"DATE": "Oct 4, 2017 8:54:04,046 PM EDT",
"SEVERITY": "Info",
"SUBSYSTEM": "JMS",
"MACHINE": "machine1",
"SERVER": "AdminServer",
"THREAD": "[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'",
"USERID": "admin",
"TXID": "",
"CONTEXTID": "4691b1d5-efe0-4202-8ae1-d6cb582cf64a-00000068",
"TIMESTAMP": "1507164844046",
"MSGID": "BEA-040528",
"MESSAGE": "Start JMS service for partition [Partition1]",
"SUPP_ATTRS": "[severity-value: 64] [rid: 0] [partition-id: dd28825b-4c19-4907-b5e7-f1b9c091f6d2] [partition-name: Partition1] ",
"SEVERITY_VALUE": 64,
"PARTITION_ID": "dd28825b-4c19-4907-b5e7-f1b9c091f6d2",
"PARTITION_NAME": "Partition1",
"RID": "0"
},
{
"RECORDID": 1169,
"DATE": "Oct 4, 2017 8:54:04,064 PM EDT",
"SEVERITY": "Info",
"SUBSYSTEM": "JMS",
"MACHINE": "machine1",
"SERVER": "AdminServer",
"THREAD": "[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'",
"USERID": "admin",
"TXID": "",
"CONTEXTID": "4691b1d5-efe0-4202-8ae1-d6cb582cf64a-00000068",
"TIMESTAMP": "1507164844064",
"MSGID": "BEA-040305",
"MESSAGE": "JMS service is initialized and in standby mode.",
"SUPP_ATTRS": "[severity-value: 64] [rid: 0] [partition-id: dd28825b-4c19-4907-b5e7-f1b9c091f6d2] [partition-name: Partition1] ",
"SEVERITY_VALUE": 64,
"PARTITION_ID": "dd28825b-4c19-4907-b5e7-f1b9c091f6d2",
"PARTITION_NAME": "Partition1",
"RID": "0"
}],
"nextRecordId": 1170
}

----------------------------------------------------------------------
Search the admin server log as the partition monitor, returning the matching records as text
----------------------------------------------------------------------

curl -v \
--user Partition1Monitor:Partition1Monitor123 \
-H X-Requested-By:MyClient \
-H Accept:text/plain \
-H Content-Type:application/json \
-d "{
limit: 2,
query: 'SEVERITY = \'Info\' AND USERID = \'admin\'',
lastMinutes: 60
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/serverRuntime/partitionRuntimes/Partition1/WLDFPartitionRuntime/WLDFPartitionAccessRuntime/WLDFDataAccessRuntimes/ServerLog/search

HTTP/1.1 200 OK

Response Body:
####<Oct 4, 2017 8:54:03,949 PM EDT> <Info> <Store> <machine1> <AdminServer> <[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <admin> <> <4691b1d5-efe0-4202-8ae1-d6cb582cf64a-00000068> <1507164843949> <[severity-value: 64] [rid: 0] [partition-id: dd28825b-4c19-4907-b5e7-f1b9c091f6d2] [partition-name: Partition1] > <BEA-280008> <Opening the persistent file store "_WLS_EJBTIMER_AdminServer" for recovery: directory=/domains/mydomain/partitions/Partition1/system/store/_WLS_EJBTIMER_AdminServer requestedWritePolicy="Direct-Write" fileLockingEnabled=true driver="NIO".>
####<Oct 4, 2017 8:54:04,006 PM EDT> <Info> <Store> <machine1> <AdminServer> <[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <admin> <> <4691b1d5-efe0-4202-8ae1-d6cb582cf64a-00000068> <1507164844006> <[severity-value: 64] [rid: 0] [partition-id: dd28825b-4c19-4907-b5e7-f1b9c091f6d2] [partition-name: Partition1] > <BEA-280009> <The persistent file store "_WLS_EJBTIMER_AdminServer" (a61d1cf3-c586-4ffe-8b8c-9b1b2ea6e931) has been opened: blockSize=512 actualWritePolicy="Direct-Write(single-handle-buffered)" explicitIOEnforced=false records=0.>
nextRecordId=1168

----------------------------------------------------------------------
Continue searching a log. This example uses the POST method to continue searching for records in the admin server log as the partition monitor.
----------------------------------------------------------------------

curl -v \
--user Partition1Monitor:Partition1Monitor123 \
-H X-Requested-By:MyClient \
-H Accept:text/plain \
-H Content-Type:application/json \
-d "{
limit: 2,
fromId: 1168,
query: 'SEVERITY = \'Info\' AND USERID = \'admin\'',
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/serverRuntime/partitionRuntimes/Partition1/WLDFPartitionRuntime/WLDFPartitionAccessRuntime/WLDFDataAccessRuntimes/ServerLog/search

HTTP/1.1 200 OK

Response Body:
####<Oct 4, 2017 8:54:04,046 PM EDT> <Info> <JMS> <machine1> <AdminServer> <[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <admin> <> <4691b1d5-efe0-4202-8ae1-d6cb582cf64a-00000068> <1507164844046> <[severity-value: 64] [rid: 0] [partition-id: dd28825b-4c19-4907-b5e7-f1b9c091f6d2] [partition-name: Partition1] > <BEA-040528> <Start JMS service for partition [Partition1]>
####<Oct 4, 2017 8:54:04,064 PM EDT> <Info> <JMS> <machine1> <AdminServer> <[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <admin> <> <4691b1d5-efe0-4202-8ae1-d6cb582cf64a-00000068> <1507164844064> <[severity-value: 64] [rid: 0] [partition-id: dd28825b-4c19-4907-b5e7-f1b9c091f6d2] [partition-name: Partition1] > <BEA-040305> <JMS service is initialized and in standby mode.>
nextRecordId=1170

----------------------------------------------------------------------
Capture a diagnostics image. Prevents capturing further images for the configured default lockout period. Note: only an admin is allowed to capture an image.
----------------------------------------------------------------------

curl -v \
--user Partition1Admin:Partition1Admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/serverRuntime/partitionRuntimes/Partition1/WLDFPartitionRuntime/WLDFPartitionImageRuntime/capturedImages

HTTP/1.1 201 Created

Location: http://localhost:7001/partitions/Partition1/management/weblogic/latest/serverRuntime/partitionRuntimes/Partition1/WLDFPartitionRuntime/WLDFPartitionImageRuntime/capturedImages/diagnostic_image__Partition1_dd28825b-4c19-4907-b5e7-f1b9c091f6d2_AdminServer_2017_10_04_20_55_48.zip

Response Body:
{
"links": [{
"rel": "job",
"href": "http:\/\/localhost:7001\/partitions\/Partition1\/management\/weblogic\/latest\/serverRuntime\/partitionRuntimes\/Partition1\/WLDFPartitionRuntime\/WLDFPartitionImageRuntime\/imageCaptureTasks\/DiagnosticImageCaptureTaskRuntime_2"
}],
"identity": [
"partitionRuntimes",
"Partition1",
"WLDFPartitionRuntime",
"WLDFPartitionImageRuntime",
"imageCaptureTasks",
"DiagnosticImageCaptureTaskRuntime_2"
],
"running": false,
"systemTask": false,
"endTimeAsLong": 1507164948120,
"imageFileName": "diagnostic_image__Partition1_dd28825b-4c19-4907-b5e7-f1b9c091f6d2_AdminServer_2017_10_04_20_55_48.zip",
"name": "DiagnosticImageCaptureTaskRuntime_2",
"progress": "success",
"description": "diagnostic_image__Partition1_dd28825b-4c19-4907-b5e7-f1b9c091f6d2_AdminServer_2017_10_04_20_55_48.zip",
"taskError": null,
"startTimeAsLong": 1507164948021,
"type": "WLDFImageCreationTaskRuntime",
"taskStatus": "Completed",
"parentTask": null,
"completed": true,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:55:48.021-04:00",
"endTime": "2017-10-04T20:55:48.120-04:00"
}

----------------------------------------------------------------------
List the captured diagnostics images.
----------------------------------------------------------------------

curl -v \
--user Partition1Monitor:Partition1Monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/partitions/Partition1/management/weblogic/latest/serverRuntime/partitionRuntimes/Partition1/WLDFPartitionRuntime/WLDFPartitionImageRuntime/capturedImages?links=none

HTTP/1.1 200 OK

Response Body:
{"items": [{"name": "diagnostic_image__Partition1_dd28825b-4c19-4907-b5e7-f1b9c091f6d2_AdminServer_2017_10_04_20_55_48.zip"}]}

----------------------------------------------------------------------
Download a captured diagnostics image.
----------------------------------------------------------------------

curl -v \
--user Partition1Monitor:Partition1Monitor123 \
-H X-Requested-By:MyClient \
-H Accept:application/octet-stream \
-o diagnostic_image__Partition1_dd28825b-4c19-4907-b5e7-f1b9c091f6d2_AdminServer_2017_10_04_20_55_48.zip \
-X GET http://localhost:7001/partitions/Partition1/management/weblogic/latest/serverRuntime/partitionRuntimes/Partition1/WLDFPartitionRuntime/WLDFPartitionImageRuntime/capturedImages/diagnostic_image__Partition1_dd28825b-4c19-4907-b5e7-f1b9c091f6d2_AdminServer_2017_10_04_20_55_48.zip/contents

HTTP/1.1 200 OK

Response Body:

wc -c diagnostic_image__Partition1_dd28825b-4c19-4907-b5e7-f1b9c091f6d2_AdminServer_2017_10_04_20_55_48.zip
18582 diagnostic_image__Partition1_dd28825b-4c19-4907-b5e7-f1b9c091f6d2_AdminServer_2017_10_04_20_55_48.zip

----------------------------------------------------------------------
Remove all of the captured images. Note: only an admin is allowed to remove captured images.
----------------------------------------------------------------------

curl -v \
--user Partition1Admin:Partition1Admin123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
age: ''
}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/serverRuntime/partitionRuntimes/Partition1/WLDFPartitionRuntime/WLDFPartitionImageRuntime/purgeCapturedImages

HTTP/1.1 200 OK

Response Body:
{}

Starting and Stopping Partition-Scoped Applications

Review an example script that demonstrates how an Operator starts and stops partition-scoped applications.

Note:

To view long URLs, use the scroll bar located beneath the section.

----------------------------------------------------------------------
Demonstrate a partition operator starting and stopping a partitioned app
----------------------------------------------------------------------

----------------------------------------------------------------------
Get the app's state on one of the servers in the cluster
----------------------------------------------------------------------

curl -v \
--user Partition1Operator:Partition1Operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{ target='Cluster1Server1' }" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/domainRuntime/domainPartitionRuntimes/Partition1/deploymentManager/appDeploymentRuntimes/fairShare/getState

HTTP/1.1 200 OK

Response Body:
{"return": "STATE_ACTIVE"}

----------------------------------------------------------------------
Synchronously stop the app
----------------------------------------------------------------------

curl -v \
--user Partition1Operator:Partition1Operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/domainRuntime/domainPartitionRuntimes/Partition1/deploymentManager/appDeploymentRuntimes/fairShare/stop

HTTP/1.1 200 OK

Response Body:
{
"links": [{
"rel": "job",
"href": "http:\/\/localhost:7001\/partitions\/Partition1\/management\/weblogic\/latest\/domainRuntime\/domainPartitionRuntimes\/Partition1\/deploymentManager\/deploymentProgressObjects\/fairShare"
}],
"identity": [
"domainPartitionRuntimes",
"Partition1",
"deploymentManager",
"deploymentProgressObjects",
"fairShare"
],
"rootExceptions": [],
"endTimeAsLong": 1507164951520,
"deploymentMessages": [
"[Deployer:149192]Operation \"stop\" on application \"fairShare\" is in progress on \"Cluster1Server1\".",
"[Deployer:149192]Operation \"stop\" on application \"fairShare\" is in progress on \"Cluster1Server2\".",
"[Deployer:149194]Operation \"stop\" on application \"fairShare\" has succeeded on \"Cluster1Server1\".",
"[Deployer:149194]Operation \"stop\" on application \"fairShare\" has succeeded on \"Cluster1Server2\"."
],
"name": "fairShare",
"operationType": 2,
"startTimeAsLong": 1507164951453,
"state": "STATE_COMPLETED",
"id": "6",
"type": "DeploymentProgressObject",
"targets": ["Partition1VirtualTarget"],
"applicationName": "fairShare",
"failedTargets": [],
"progress": "success",
"completed": true,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:55:51.453-04:00",
"endTime": "2017-10-04T20:55:51.520-04:00"
}

----------------------------------------------------------------------
Get the app's state on one of the servers in the cluster
----------------------------------------------------------------------

curl -v \
--user Partition1Operator:Partition1Operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{ target='Cluster1Server1' }" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/domainRuntime/domainPartitionRuntimes/Partition1/deploymentManager/appDeploymentRuntimes/fairShare/getState

HTTP/1.1 200 OK

Response Body:
{"return": "STATE_PREPARED"}

----------------------------------------------------------------------
Synchronously start the app
----------------------------------------------------------------------

curl -v \
--user Partition1Operator:Partition1Operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{}" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/domainRuntime/domainPartitionRuntimes/Partition1/deploymentManager/appDeploymentRuntimes/fairShare/start

HTTP/1.1 200 OK

Response Body:
{
"links": [{
"rel": "job",
"href": "http:\/\/localhost:7001\/partitions\/Partition1\/management\/weblogic\/latest\/domainRuntime\/domainPartitionRuntimes\/Partition1\/deploymentManager\/deploymentProgressObjects\/fairShare"
}],
"identity": [
"domainPartitionRuntimes",
"Partition1",
"deploymentManager",
"deploymentProgressObjects",
"fairShare"
],
"rootExceptions": [],
"endTimeAsLong": 1507164952364,
"deploymentMessages": [
"[Deployer:149192]Operation \"start\" on application \"fairShare\" is in progress on \"Cluster1Server1\".",
"[Deployer:149192]Operation \"start\" on application \"fairShare\" is in progress on \"Cluster1Server2\".",
"[Deployer:149194]Operation \"start\" on application \"fairShare\" has succeeded on \"Cluster1Server1\".",
"[Deployer:149194]Operation \"start\" on application \"fairShare\" has succeeded on \"Cluster1Server2\"."
],
"name": "fairShare",
"operationType": 1,
"startTimeAsLong": 1507164952223,
"state": "STATE_COMPLETED",
"id": "7",
"type": "DeploymentProgressObject",
"targets": ["Partition1VirtualTarget"],
"applicationName": "fairShare",
"failedTargets": [],
"progress": "success",
"completed": true,
"intervalToPoll": 1000,
"startTime": "2017-10-04T20:55:52.223-04:00",
"endTime": "2017-10-04T20:55:52.364-04:00"
}

----------------------------------------------------------------------
Get the app's state on one of the servers in the cluster
----------------------------------------------------------------------

curl -v \
--user Partition1Operator:Partition1Operator123 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{ target='Cluster1Server1' }" \
-X POST http://localhost:7001/partitions/Partition1/management/weblogic/latest/domainRuntime/domainPartitionRuntimes/Partition1/deploymentManager/appDeploymentRuntimes/fairShare/getState

HTTP/1.1 200 OK

Response Body:
{"return": "STATE_ACTIVE"}

Oracle Legal Notices

Copyright Notice

Copyright © 1994-2018, Oracle and/or its affiliates. All rights reserved.

License Restrictions Warranty/Consequential Damages Disclaimer

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

Warranty Disclaimer

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

Restricted Rights Notice

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

Hazardous Applications Notice

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Trademark Notice

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

Third-Party Content, Products, and Services Disclaimer

This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.

Pre-General Availability Draft Documentation Notice

If this document is in public or private pre-General Availability status:

This documentation is in pre-General Availability status and is intended for demonstration and preliminary use only. It may not be specific to the hardware on which you are using the software. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to this documentation and will not be responsible for any loss, costs, or damages incurred due to the use of this documentation.

Private Pre-General Availability Draft Documentation Notice

If this document is in private pre-General Availability status:

The information contained in this document is for informational sharing purposes only and should be considered in your capacity as a customer advisory board member or pursuant to your pre-General Availability trial agreement only. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described in this document remains at the sole discretion of Oracle.

This document in any form, software or printed matter, contains proprietary information that is the exclusive property of Oracle. Your access to and use of this confidential material is subject to the terms and conditions of your Oracle Master Agreement, Oracle License and Services Agreement, Oracle PartnerNetwork Agreement, Oracle distribution agreement, or other license agreement which has been executed by you and Oracle and with which you agree to comply. This document and information contained herein may not be disclosed, copied, reproduced, or distributed to anyone outside Oracle without prior written consent of Oracle. This document is not part of your license agreement nor can it be incorporated into any contractual agreement with Oracle or its subsidiaries or affiliates.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.