# ServerLifeCycleRuntimeMBean

Overview | Related MBeans | Attributes | Operations

## Overview

Provides methods that transition servers from one state to another. This class is instantiated only on the Administration Server, but you can use it to transition the states of Managed Servers as well as Administration Servers.

You cannot use it to start an Administration Server, and if you want to use it to start Managed Servers, you must first set up a Node Manager on each Managed Server's host machine.

If you want to use the methods that transition a server into the `ADMIN` state, you must first set up an administration channel for that server.

Security roles | The following roles have read, write, and invoke permission for all non-encrypted attributes and operations in this MBean: Operator
Fully Qualified Interface Name | If you use the `getMBeanInfo` operation in MBeanTypeServiceMBean, supply the following value as this MBean's fully qualified interface name: `weblogic.management.runtime.ServerLifeCycleRuntimeMBean`
Factory Methods | No factory methods. Instances of this MBean are created automatically.
Access Points | You can access this MBean from the following MBean attributes:
DomainRuntimeMBean.ServerLifeCycleRuntimes |

## Related MBeans

This section describes attributes that provide access to other MBeans. For more information about the MBean hierarchy, refer to WebLogic Server MBean Data Model.

Tasks |

### Tasks

Get preexisting Server Lifecycle Tasks

Factory Methods | No explicit creator method. The child shares the lifecycle of its parent.
Privileges | Read only
Type | ServerLifeCycleTaskRuntimeMBean[]
Relationship type: | Containment.

## Attributes

This section describes the following attributes:

Name NodeManagerRestartCount Parent | State Type

### Name

The name of this configuration. WebLogic Server uses an MBean to implement and persist the configuration.

Privileges | Read only
Type | java.lang.String

### NodeManagerRestartCount

Number of times the server has been restarted using the NodeManager since creation. The first start does not count. The count is valid only if the NodeManager is used to start and restart the server everytime.

Privileges | Read only
Type | int

### Parent

Return the immediate parent for this MBean

Privileges | Read/Write
Type |

### State

The current state of the server.

Server states are described in weblogic.management.runtime.ServerStates.

Privileges | Read only
Type | java.lang.String

### Type

Returns the type of the MBean.

Privileges | Read only
Type | java.lang.String

## Operations

This section describes the following operations:

forceShutdown forceSuspend resume shutdown shutdown | start suspend suspend

### forceShutdown

Immediately transitions a server to the `SHUTDOWN` state. The server immediately terminates all current work, moves through the `SHUTTING_DOWN` state, and ends in the `SHUTDOWN` state.

You can forcefully shut down a server from any state except `UNKNOWN`.

Operation Name | `"forceShutdown"`
Parameters | `null`
Signature | `null`
Returns | `ServerLifeCycleTaskRuntimeMBean`
Exceptions | `weblogic.server.ServerLifecycleException`

### forceSuspend

Transitions the server from RUNNING to ADMIN state forcefully cancelling inflight work.

Work that cannot be cancelled is dropped. Applications are brought into the admin mode forcefully.

Operation Name | `"forceSuspend"`
Parameters | `null`
Signature | `null`
Returns | `ServerLifeCycleTaskRuntimeMBean`
Exceptions | `weblogic.server.ServerLifecycleException` ServerLifecycleException server failed to force suspend. A {@link #forceShutdown()} operation can be invoked.

### resume

Transitions the server from `ADMIN` to `RUNNING` state.

Operation Name | `"resume"`
Parameters | `null`
Signature | `null`
Returns | `ServerLifeCycleTaskRuntimeMBean`
Exceptions | `weblogic.server.ServerLifecycleException`

### shutdown

Gracefully transitions a server to the `SHUTDOWN` state. The server completes all current work before it shuts down.

Operation Name | `"shutdown"`
Parameters | `null`
Signature | `null`
Returns | `ServerLifeCycleTaskRuntimeMBean`
Exceptions | `weblogic.server.ServerLifecycleException`

### shutdown

Gracefully shutdown the server after handling inflight work. The following inflight work is handled :

- Pending transaction's and TLOG checkpoint

- Pending HTTP sessions

- Pending JMS work

- Pending work in the Work Managers

- RMI requests with tx context or administrator calls

Operation Name | `"shutdown"`
Parameters | `Object [] { timeout, ignoreSessions }` where: `timeout` is an object of type `java.lang.Integer` that specifies: Number of seconds to wait before aborting inflight work and force shutting down the server. `ignoreSessions` is an object of type `java.lang.Boolean` that specifies: Set to `true` to ignore pending HTTP sessions during inflight work handling.
Signature | `String [] { "java.lang.Integer", "java.lang.Boolean" }`
Returns | `ServerLifeCycleTaskRuntimeMBean`
Exceptions | `weblogic.server.ServerLifecycleException`

### start

Uses the Node Manager to start a Managed Server.

Operation Name | `"start"`
Parameters | `null`
Signature | `null`
Returns | `ServerLifeCycleTaskRuntimeMBean`
Exceptions | `weblogic.server.ServerLifecycleException`

### suspend

Transitions the server from `RUNNING` to `ADMIN` state gracefully.

Applications are in admin mode. Inflight work is completed.

Operation Name | `"suspend"`
Parameters | `Object [] { timeout, ignoreSessions }` where: `timeout` is an object of type `java.lang.Integer` that specifies: Seconds to wait for server to transition gracefully. The server calls forceSuspend() after timeout. `ignoreSessions` is an object of type `java.lang.Boolean` that specifies: drop inflight HTTP sessions during graceful suspend
Signature | `String [] { "java.lang.Integer", "java.lang.Boolean" }`
Returns | `ServerLifeCycleTaskRuntimeMBean`
Exceptions | `weblogic.server.ServerLifecycleException` ServerLifecycleException server failed to suspend gracefully. A {@link #forceSuspend()} or a {@link #forceShutdown()} operation can be invoked.

### suspend

Gracefully suspends server to `ADMIN` state. New requests are rejected and inflight work is allowed to complete.

For more information, see:

- suspend(int, boolean)

Operation Name | `"suspend"`
Parameters | `null`
Signature | `null`
Returns | `ServerLifeCycleTaskRuntimeMBean`
Exceptions | `weblogic.server.ServerLifecycleException`