<?xml version="1.0"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<mbeans-descriptors>
  <mbean
    name="ClusterSingleSignOn"
    description="A Valve that supports a 'single signon' user experience on a whole cluster"
    domain="Catalina"
    group="Valve"
    type="org.apache.catalina.ha.authenticator.ClusterSingleSignOn">
    <attribute
      name="asyncSupported"
      description="Does this valve support async reporting?"
      is="true"
      type="boolean"/>
    <attribute
      name="className"
      description="Fully qualified class name of the managed object"
      type="java.lang.String"
      writeable="false"/>
    <attribute
      name="requireReauthentication"
      description="Should we attempt to reauthenticate each request against the security Realm?"
      type="boolean"/>
    <attribute
      name="cookieDomain"
      description="(Optiona) Domain to be used by sso cookies"
      type="java.lang.String"/>
    <attribute
      name="mapSendOptions"
      description="mapSendOptions"
      type="int"
      writeable="false"/>
    <attribute
      name="rpcTimeout"
      description="Timeout for RPC messages, how long we will wait for a reply"
      type="long"/>
    <attribute
      name="terminateOnStartFailure"
      description="Flag for whether to terminate this map that failed to start."
      type="boolean"/>
  </mbean>
</mbeans-descriptors>
