ConfigurationMBean
, DescriptorBean
, javax.management.DynamicMBean
, javax.management.MBeanRegistration
, javax.management.NotificationBroadcaster
, SettableBean
, SingletonServiceBaseMBean
, TargetMBean
, WebLogicMBean
JTAMigratableTargetMBean
public interface MigratableTargetMBean extends SingletonServiceBaseMBean, TargetMBean
TargetMBean
,
SingletonServiceBaseMBean
Modifier and Type | Field | Description |
---|---|---|
static java.lang.String |
DEFAULT_MIGRATABLETARGET_SUFFIX |
|
static java.lang.String |
EXACTLY_ONCE |
|
static java.lang.String |
FAILURE_RECOVERY |
|
static java.lang.String |
NONE |
|
static java.lang.String |
SHUTDOWN_RECOVERY |
DEFAULT_EMPTY_BYTE_ARRAY
Modifier and Type | Method | Description |
---|---|---|
boolean |
addConstrainedCandidateServer(ServerMBean constrainedCandidateServer) |
|
ServerMBean[] |
getAllCandidateServers() |
The list of servers that are candidates to host the migratable
services deployed to this migratable target.
|
ClusterMBean |
getCluster() |
Returns the cluster this singleton service is associated
with.
|
ServerMBean[] |
getConstrainedCandidateServers() |
The (user-restricted) list of servers that can host the migratable services deployed
to this migratable target.
|
java.lang.String |
getMigrationPolicy() |
Defines the type of migration policy to use for the services hosted by this migratable target.
|
int |
getNumberOfRestartAttempts() |
Specifies how many restart attempts to make before migrating the failed service.
|
java.lang.String |
getPostScript() |
Specifies the path to the post-migration script to run after a migratable target is fully
deactivated.
|
java.lang.String |
getPreScript() |
Specifies the path to the pre-migration script to run before
a migratable target is actually activated.
|
boolean |
getRestartOnFailure() |
Specifies whether or not a failed service will first be deactivated and reactivated in place,
instead of being migrated.
|
int |
getSecondsBetweenRestarts() |
Specifies how many seconds to wait in between attempts to restart the failed service.
|
boolean |
isNonLocalPostAllowed() |
Specifies whether or not the post-deactivation script is allowed to run on a different machine.
|
boolean |
isPostScriptFailureFatal() |
Specifies whether or not a failure during execution of the post-deactivation script is fatal to the migration.
|
boolean |
removeConstrainedCandidateServer(ServerMBean constrainedCandidateServer) |
|
void |
setAllCandidateServers(ServerMBean[] servers) |
|
void |
setCluster(ClusterMBean cluster) |
Set the cluster this singleton service is associated with.
|
void |
setConstrainedCandidateServers(ServerMBean[] constrainedCandidateServers) |
All constrained candiate servers must belong to the same
cluster.
|
void |
setMigrationPolicy(java.lang.String migrationPolicyName) |
Sets the value of the MigrationPolicy attribute.
|
void |
setNonLocalPostAllowed(boolean allowNonLocalPost) |
Sets the value of the NonLocalPostAllowed attribute.
|
void |
setNumberOfRestartAttempts(int restartAttempts) |
Sets the value of the NumberOfRestartAttempts attribute.
|
void |
setPostScript(java.lang.String filePath) |
Sets the value of the PostScript attribute.
|
void |
setPostScriptFailureFatal(boolean isFatal) |
Sets the value of the PostScriptFailureFatal attribute.
|
void |
setPreScript(java.lang.String filePath) |
Sets the value of the PreScript attribute.
|
void |
setRestartOnFailure(boolean restartOnFailure) |
Sets the value of the RestartOnFailure attribute.
|
void |
setSecondsBetweenRestarts(int seconds) |
Sets the value of the SecondsBetweenRestarts attribute.
|
void |
setUserPreferredServer(ServerMBean t) |
freezeCurrentValue, getId, getInheritedProperties, getName, getNotes, isDynamicallyCreated, isInherited, isSet, restoreDefaultValue, setComments, setDefaultedMBean, setName, setNotes, setPersistenceEnabled, unSet
addPropertyChangeListener, createChildCopyIncludingObsolete, getParentBean, isEditable, removePropertyChangeListener
getAttribute, getAttributes, invoke, setAttribute, setAttributes
postDeregister, postRegister, preDeregister, preRegister
addNotificationListener, getNotificationInfo, removeNotificationListener
getAdditionalMigrationAttempts, getHostingServer, getMillisToSleepBetweenAttempts, getUserPreferredServer, setAdditionalMigrationAttempts, setMillisToSleepBetweenAttempts
getMBeanInfo, getObjectName, getParent, getType, isCachingDisabled, isRegistered, setParent
static final java.lang.String DEFAULT_MIGRATABLETARGET_SUFFIX
static final java.lang.String NONE
static final java.lang.String EXACTLY_ONCE
static final java.lang.String FAILURE_RECOVERY
static final java.lang.String SHUTDOWN_RECOVERY
ServerMBean[] getConstrainedCandidateServers()
The (user-restricted) list of servers that can host the migratable services deployed to this migratable target. The migratable service will not be allowed to migrate to a server that is not in the returned list of servers.
For example, this feature may be used to configure two servers that have access to a dual-ported ported disk. All servers in this list must be part of the cluster that is associated with the migratable target.
void setConstrainedCandidateServers(ServerMBean[] constrainedCandidateServers) throws javax.management.InvalidAttributeValueException
All constrained candiate servers must belong to the same cluster.
constrainedCandidateServers
- The new constrainedCandidateServers valuejavax.management.InvalidAttributeValueException
boolean addConstrainedCandidateServer(ServerMBean constrainedCandidateServer) throws javax.management.InvalidAttributeValueException
constrainedCandidateServer
- The feature to be added to the ConstrainedCandidateServer attributejavax.management.InvalidAttributeValueException
boolean removeConstrainedCandidateServer(ServerMBean constrainedCandidateServer) throws javax.management.InvalidAttributeValueException
constrainedCandidateServer
- javax.management.InvalidAttributeValueException
void setUserPreferredServer(ServerMBean t)
setUserPreferredServer
in interface SingletonServiceBaseMBean
t
- The new userPreferredServer valueClusterMBean getCluster()
Returns the cluster this singleton service is associated with.
void setCluster(ClusterMBean cluster)
Set the cluster this singleton service is associated with.
cluster
- The new cluster valueServerMBean[] getAllCandidateServers()
The list of servers that are candidates to host the migratable services deployed to this migratable target. If the constrainedCandidateServers list is empty, all servers in the cluster are returned. If the constrainedCandidateServers list is not empty, only those servers will be returned. The user-preferred server will be the first element in the list.
void setAllCandidateServers(ServerMBean[] servers)
servers
- The new allCandidateServers valuejava.lang.String getMigrationPolicy()
Defines the type of migration policy to use for the services hosted by this migratable target. Valid options are:
Manual Service Migration Only
Indicates that no automatic migration of services hosted by this
migratable target will occur.Auto-Migrate Exactly-Once Services
Indicates that if at least one Managed Server in the candidate
server list is running, the services hosted by this migratable target will be active somewhere in the cluster
if servers should fail or are administratively shut down (either gracefully or forcibly).
For example, it is a recommended best practice to use this policy when a migratable target hosts a path service,
so if its preferred server fails or is shut down, the path service will automatically migrate to another candidate
server, and so will always be active in the cluster.
Notes
This value can lead to target grouping on a server member. For example, if you have five exactly-once
migratable targets and only one Managed Server is started in the cluster, then all five targets will be activated on
that server.
This policy does not apply for JTA service migration.
Auto-Migrate Failure-Recovery Services
Indicates that the services hosted by this migratable target
will only start if the migratable target's User Preferred Server (UPS) is started. If an administrator manually shuts
down the UPS, either gracefully or forcibly, then a failure-recovery service will not migrate. However, if the UPS
fails due to an internal error, then the service will be migrated to another candidate server. If such a candidate
server is unavailable (due to either a manual shutdown or an internal failure), then the migration framework
will first attempt to reactivate the service on its UPS server. If the UPS server is not available at that time,
then the service will be migrated to another candidate server.setUserPreferredServer(weblogic.management.configuration.ServerMBean)
void setMigrationPolicy(java.lang.String migrationPolicyName)
migrationPolicyName
- the name of the auto migration policy chosen for this targetgetMigrationPolicy()
java.lang.String getPreScript()
Specifies the path to the pre-migration script to run before
a migratable target is actually activated. The script must be in the
MIDDLEWARE_HOME/user_projects/domains/mydomain/bin/service_migration
directory.
Before the migratable target is activated, if there is a script specified, and Node Manager is available, then the script will run. Specifying a script without an available Node Manager will result in an error upon migration.
If the script fails or cannot be found, migration will not proceed on the current server, and will be tried on the next suitable server. This could be the next server in the candidate server list, or in the cluster, if there is no candidate server list.
void setPreScript(java.lang.String filePath)
filePath
- file name and relative path for pre scriptgetPreScript()
java.lang.String getPostScript()
Specifies the path to the post-migration script to run after a migratable target is fully
deactivated. The script must be in the
MIDDLEWARE_HOME/user_projects/domains/mydomain/bin/service_migration
directory.
After the migratable target is deactivated, if there is a script specified, and Node Manager is available, then the script will run. Specifying a script without an available Node Manager will result in an error upon migration.
void setPostScript(java.lang.String filePath)
filePath
- file name and relative path for post scriptgetPostScript()
boolean isPostScriptFailureFatal()
Specifies whether or not a failure during execution of the post-deactivation script is fatal to the migration.
If it is fatal, the migratable target will not be automatically migrated until an administrator manually migrates it to a server, thus reactivating it.
Note: Enabling this value will result in weakening the exactly-once guarantee. It is provided to prevent more dangerous data corruption if the post-deactivation script fails. Also if this value is enabled, then the script may be called more than once by the migration framework after the Migratable Target is deactivated or the server or machine hosting the Migratable Target crashed or is network partitioned. The script is expected not to return different exit values when invoked multiple times in such scenarios.
void setPostScriptFailureFatal(boolean isFatal)
isFatal
- indicating if the failure of a post-deactiation script is fatal to the migration or notisPostScriptFailureFatal()
boolean isNonLocalPostAllowed()
Specifies whether or not the post-deactivation script is allowed to run on a different machine.
Normally, when auto migration occurs, the post-deactivation script will be run on the service's current location, and the pre-activation script on the service's new location. If the current location is unreachable for some reason, this value will be checked to see if it is safe to run it on the service's new machine.
This is useful if the post-deactivation script controls access to a networked resource and does not need any data from the current machine.
void setNonLocalPostAllowed(boolean allowNonLocalPost)
allowNonLocalPost
- indicating whether to run the post-deactivation script on a different machine if the former host machine is not reachableisNonLocalPostAllowed()
boolean getRestartOnFailure()
Specifies whether or not a failed service will first be deactivated and reactivated in place, instead of being migrated.
The number of restart attempts is controlled by getNumberOfRestartAttempts()
.
Once these restart attempts are exhausted, the service will migrate.
A restarting migratable target will deactivate all services on it in order, then reactivate them all.
void setRestartOnFailure(boolean restartOnFailure)
restartOnFailure
- getRestartOnFailure()
int getSecondsBetweenRestarts()
Specifies how many seconds to wait in between attempts to restart the failed service.
void setSecondsBetweenRestarts(int seconds)
seconds
- to pause between migratable target restart attemptsgetSecondsBetweenRestarts()
int getNumberOfRestartAttempts()
Specifies how many restart attempts to make before migrating the failed service.
Note that these are consecutive attempts. If the value is set to 6, and the service restart fails 5 times before succeeding, but then fails again later, it will not instantly migrate. Each failure gets its own count of restart attempts.
A value of 0 is identical to setting getRestartOnFailure()
to false. A value of -1 indicates the service
should never be migrated; instead, it will be restarted until it either works or the server shuts down.
void setNumberOfRestartAttempts(int restartAttempts)
restartAttempts
- getNumberOfRestartAttempts()