/*
* JBoss, Home of Professional Open Source.
* Copyright 2010, Red Hat, Inc., and individual contributors
* as indicated by the @author tags. See the copyright.txt file in the
* distribution for a full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.as.messaging;
import static org.jboss.as.controller.SimpleAttributeDefinitionBuilder.create;
import static org.jboss.as.controller.client.helpers.MeasurementUnit.BYTES;
import static org.jboss.as.controller.client.helpers.MeasurementUnit.DAYS;
import static org.jboss.as.controller.client.helpers.MeasurementUnit.MILLISECONDS;
import static org.jboss.as.controller.client.helpers.MeasurementUnit.PERCENTAGE;
import static org.jboss.as.controller.registry.AttributeAccess.Flag.RESTART_ALL_SERVICES;
import static org.jboss.as.messaging.AttributeMarshallers.NOOP_MARSHALLER;
import static org.jboss.as.messaging.MessagingExtension.VERSION_1_2_0;
import static org.jboss.as.messaging.jms.Validators.noDuplicateElements;
import static org.jboss.dmr.ModelType.BOOLEAN;
import static org.jboss.dmr.ModelType.DOUBLE;
import static org.jboss.dmr.ModelType.INT;
import static org.jboss.dmr.ModelType.LONG;
import org.jboss.as.controller.AttributeDefinition;
import org.jboss.as.controller.ModelVersion;
import org.jboss.as.controller.PrimitiveListAttributeDefinition;
import org.jboss.as.controller.SimpleAttributeDefinition;
import org.jboss.as.controller.access.constraint.SensitivityClassification;
import org.jboss.as.controller.access.management.SensitiveTargetAccessConstraintDefinition;
import org.jboss.as.controller.descriptions.ModelDescriptionConstants;
import org.jboss.as.controller.operations.validation.EnumValidator;
import org.jboss.as.controller.operations.validation.IntRangeValidator;
import org.jboss.as.controller.operations.validation.StringLengthValidator;
import org.jboss.dmr.ModelNode;
import org.jboss.dmr.ModelType;
/**
* @author Emanuel Muckenhuber
* @author <a href="mailto:andy.taylor@jboss.com">Andy Taylor</a>
* @author Brian Stansberry (c) 2011 Red Hat Inc.
*/
@SuppressWarnings("deprecation")
public interface CommonAttributes {
String DISCOVERY_GROUP_NAME = "discovery-group-name";
String ENTRIES = "entries";
SensitivityClassification MESSAGING_MANAGEMENT =
new SensitivityClassification(MessagingExtension.SUBSYSTEM_NAME, "messaging-management", false, false, true);
SensitiveTargetAccessConstraintDefinition MESSAGING_MANAGEMENT_DEF = new SensitiveTargetAccessConstraintDefinition(MESSAGING_MANAGEMENT);
SensitivityClassification MESSAGING_SECURITY =
new SensitivityClassification(MessagingExtension.SUBSYSTEM_NAME, "messaging-security", false, false, true);
SensitiveTargetAccessConstraintDefinition MESSAGING_SECURITY_DEF = new SensitiveTargetAccessConstraintDefinition(MESSAGING_SECURITY);
SimpleAttributeDefinition ALLOW_FAILBACK = create("allow-failback", BOOLEAN)
.setDefaultValue(new ModelNode(true))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition ASYNC_CONNECTION_EXECUTION_ENABLED = create( "async-connection-execution-enabled", BOOLEAN)
.setDefaultValue(new ModelNode(true))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition BACKUP = create("backup", BOOLEAN)
.setDefaultValue(new ModelNode(false))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
AttributeDefinition CALL_TIMEOUT = create("call-timeout", LONG)
.setDefaultValue(new ModelNode(30000L))
.setMeasurementUnit(MILLISECONDS)
.setRequired(false)
.setAllowExpression(true)
.build();
SimpleAttributeDefinition CALL_FAILOVER_TIMEOUT = create("call-failover-timeout",LONG)
.setDefaultValue(new ModelNode(-1L))
.setRequired(false)
.setAllowExpression(true)
.setMeasurementUnit(MILLISECONDS)
.build();
SimpleAttributeDefinition CHECK_PERIOD = create("check-period", LONG)
.setDefaultValue(new ModelNode(30000L))
.setRequired(false)
.setAllowExpression(true)
.setMeasurementUnit(MILLISECONDS)
.setFlags(RESTART_ALL_SERVICES)
.build();
SimpleAttributeDefinition CLIENT_ID = create("client-id", ModelType.STRING)
.setRequired(false)
.setAllowExpression(true)
.build();
SimpleAttributeDefinition CHECK_FOR_LIVE_SERVER = create("check-for-live-server", BOOLEAN)
.setDefaultValue(new ModelNode(false))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition CLUSTERED = create("clustered", BOOLEAN)
.setRequired(false)
.setDefaultValue(new ModelNode(false))
.setDeprecated(VERSION_1_2_0)
.setRestartAllServices()
.build();
SimpleAttributeDefinition CLUSTER_PASSWORD = create("cluster-password", ModelType.STRING)
.setDefaultValue(new ModelNode("CHANGE ME!!"))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.addAccessConstraint(SensitiveTargetAccessConstraintDefinition.CREDENTIAL)
.addAccessConstraint(MESSAGING_SECURITY_DEF)
.build();
SimpleAttributeDefinition CLUSTER_USER = create("cluster-user", ModelType.STRING)
.setDefaultValue(new ModelNode("HORNETQ.CLUSTER.ADMIN.USER"))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.addAccessConstraint(SensitiveTargetAccessConstraintDefinition.CREDENTIAL)
.addAccessConstraint(MESSAGING_SECURITY_DEF)
.build();
SimpleAttributeDefinition BRIDGE_CONFIRMATION_WINDOW_SIZE = create("confirmation-window-size", INT)
.setDefaultValue(new ModelNode(1024 * 1024))
.setMeasurementUnit(BYTES)
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition CONNECTION_TTL = create("connection-ttl", LONG)
.setDefaultValue(new ModelNode().set(60000L))
.setRequired(false)
.setAllowExpression(true)
.setMeasurementUnit(MILLISECONDS)
.setRestartAllServices()
.build();
SimpleAttributeDefinition CONNECTION_TTL_OVERRIDE = create("connection-ttl-override", LONG)
.setDefaultValue(new ModelNode(-1L))
.setMeasurementUnit(MILLISECONDS)
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition CREATE_BINDINGS_DIR = create("create-bindings-dir", BOOLEAN)
.setDefaultValue(new ModelNode(true))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition CREATE_JOURNAL_DIR = create("create-journal-dir", BOOLEAN)
.setDefaultValue(new ModelNode(true))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition DEAD_LETTER_ADDRESS = create("dead-letter-address", ModelType.STRING)
.setRequired(false)
.setAllowExpression(true)
.build();
PrimitiveListAttributeDefinition DESTINATION_ENTRIES = PrimitiveListAttributeDefinition.Builder.of(ENTRIES, ModelType.STRING)
.setRequired(true)
.setListValidator(noDuplicateElements(new StringLengthValidator(1, false, true)))
.setAllowExpression(true)
.setAttributeMarshaller(new AttributeMarshallers.JndiEntriesAttributeMarshaller(true))
.setRestartAllServices()
.build();
SimpleAttributeDefinition DURABLE = create("durable", BOOLEAN)
.setDefaultValue(new ModelNode().set(true))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition FACTORY_CLASS = create("factory-class", ModelType.STRING)
.setAllowExpression(false)
.setRestartAllServices()
.build();
SimpleAttributeDefinition EXPIRY_ADDRESS = create("expiry-address", ModelType.STRING)
.setRequired(false)
.setAllowExpression(true)
.build();
SimpleAttributeDefinition FAILBACK_DELAY = create("failback-delay", LONG)
.setDefaultValue(new ModelNode(5000L))
.setMeasurementUnit(MILLISECONDS)
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition FAILOVER_ON_SERVER_SHUTDOWN = create("failover-on-server-shutdown", ModelType.BOOLEAN)
.setRequired(false)
.setDeprecated(VERSION_1_2_0)
.build();
SimpleAttributeDefinition FAILOVER_ON_SHUTDOWN = create("failover-on-shutdown", BOOLEAN)
// TODO should be ConfigurationImpl.DEFAULT_FAILOVER_ON_SERVER_SHUTDOWN but field is private
.setDefaultValue(new ModelNode(false))
.setRequired(false)
.setAllowExpression(true)
.build();
SimpleAttributeDefinition FILTER = create("filter", ModelType.STRING)
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
// do not allow expressions on deprecated attribute
@Deprecated
SimpleAttributeDefinition GROUP_ADDRESS = create("group-address", ModelType.STRING)
.setRequired(false)
.setAlternatives("socket-binding", "jgroups-stack", "jgroups-channel")
.setDeprecated(VERSION_1_2_0)
.setFlags(RESTART_ALL_SERVICES)
.addAccessConstraint(SensitiveTargetAccessConstraintDefinition.SOCKET_CONFIG)
.build();
// do not allow expressions on deprecated attribute
@Deprecated
SimpleAttributeDefinition GROUP_PORT = create("group-port", INT)
.setRequired(false)
.setAlternatives("socket-binding", "jgroups-stack", "jgroups-channel")
.setDeprecated(VERSION_1_2_0)
.setFlags(RESTART_ALL_SERVICES)
.addAccessConstraint(SensitiveTargetAccessConstraintDefinition.SOCKET_CONFIG)
.build();
SimpleAttributeDefinition HA = create("ha", BOOLEAN)
.setDefaultValue(new ModelNode(false))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition ID_CACHE_SIZE = create("id-cache-size", INT)
.setDefaultValue(new ModelNode(20000))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition JMX_DOMAIN = create("jmx-domain", ModelType.STRING)
.setDefaultValue(new ModelNode("org.hornetq"))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.addAccessConstraint(MESSAGING_MANAGEMENT_DEF)
.build();
SimpleAttributeDefinition JMX_MANAGEMENT_ENABLED = create("jmx-management-enabled", BOOLEAN)
.setDefaultValue(new ModelNode(false))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.addAccessConstraint(MESSAGING_MANAGEMENT_DEF)
.build();
// no default values, depends on whether NIO or AIO is used.
SimpleAttributeDefinition JOURNAL_BUFFER_SIZE = create("journal-buffer-size", LONG)
.setMeasurementUnit(BYTES)
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
// no default values, depends on whether NIO or AIO is used.
SimpleAttributeDefinition JOURNAL_BUFFER_TIMEOUT = create("journal-buffer-timeout", LONG)
.setMeasurementUnit(MILLISECONDS)
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition JOURNAL_COMPACT_MIN_FILES = create("journal-compact-min-files", INT)
.setDefaultValue(new ModelNode(10))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition JOURNAL_COMPACT_PERCENTAGE = create("journal-compact-percentage", INT)
.setDefaultValue(new ModelNode(30))
.setMeasurementUnit(PERCENTAGE)
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition JOURNAL_FILE_SIZE = create("journal-file-size", LONG)
.setDefaultValue(new ModelNode(10485760))
.setMeasurementUnit(BYTES)
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
// no default values, depends on whether NIO or AIO is used.
SimpleAttributeDefinition JOURNAL_MAX_IO = create("journal-max-io", INT)
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition JOURNAL_MIN_FILES = create("journal-min-files", INT)
.setDefaultValue(new ModelNode(2))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition JOURNAL_SYNC_NON_TRANSACTIONAL = create("journal-sync-non-transactional", BOOLEAN)
.setDefaultValue(new ModelNode(true))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition JOURNAL_SYNC_TRANSACTIONAL = create("journal-sync-transactional", BOOLEAN)
.setDefaultValue(new ModelNode(true))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition JOURNAL_TYPE = create("journal-type", ModelType.STRING)
.setDefaultValue(new ModelNode(JournalType.ASYNCIO.toString()))
.setRequired(false)
.setAllowExpression(true)
.setValidator(new EnumValidator<>(JournalType.class, true, true))
.setRestartAllServices()
.build();
AttributeDefinition LIVE_CONNECTOR_REF = create("live-connector-ref", ModelType.STRING)
.setRequired(false)
.setDeprecated(VERSION_1_2_0)
.setRestartAllServices()
.setAttributeMarshaller(NOOP_MARSHALLER)
.build();
// do not allow expressions on deprecated attribute
@Deprecated
SimpleAttributeDefinition LOCAL_BIND_ADDRESS = create("local-bind-address", ModelType.STRING)
.setRequired(false)
.setAlternatives("socket-binding", "jgroups-stack", "jgroups-channel")
.setDeprecated(VERSION_1_2_0)
.setFlags(RESTART_ALL_SERVICES)
.addAccessConstraint(SensitiveTargetAccessConstraintDefinition.SOCKET_CONFIG)
.build();
// do not allow expressions on deprecated attribute
@Deprecated
SimpleAttributeDefinition LOCAL_BIND_PORT = create("local-bind-port", INT)
.setDefaultValue(new ModelNode().set(-1))
.setRequired(false)
.setAlternatives("socket-binding", "jgroups-stack", "jgroups-channel")
.setDeprecated(VERSION_1_2_0)
.setFlags(RESTART_ALL_SERVICES)
.addAccessConstraint(SensitiveTargetAccessConstraintDefinition.SOCKET_CONFIG)
.build();
SimpleAttributeDefinition JGROUPS_STACK = create("jgroups-stack", ModelType.STRING)
.setRequired(false)
.setAllowExpression(true)
.setAlternatives("socket-binding",
"group-address", "group-port",
"local-bind-address", "local-bind-port")
.setRestartAllServices()
.build();
SimpleAttributeDefinition JGROUPS_CHANNEL = create("jgroups-channel", ModelType.STRING)
.setRequired(false)
.setAllowExpression(true)
.setAlternatives("socket-binding",
"group-address", "group-port",
"local-bind-address", "local-bind-port")
.setRestartAllServices()
.build();
SimpleAttributeDefinition LOG_JOURNAL_WRITE_RATE = create("log-journal-write-rate", BOOLEAN)
.setDefaultValue(new ModelNode(false))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition MANAGEMENT_ADDRESS = create("management-address", ModelType.STRING)
.setDefaultValue(new ModelNode("jms.queue.hornetq.management"))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.addAccessConstraint(MESSAGING_MANAGEMENT_DEF)
.build();
SimpleAttributeDefinition MANAGEMENT_NOTIFICATION_ADDRESS = create("management-notification-address", ModelType.STRING)
.setDefaultValue(new ModelNode("hornetq.notifications"))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.addAccessConstraint(MESSAGING_MANAGEMENT_DEF)
.build();
AttributeDefinition MAX_RETRY_INTERVAL = create("max-retry-interval", LONG)
.setDefaultValue(new ModelNode(2000L))
.setMeasurementUnit(MILLISECONDS)
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
AttributeDefinition MAX_SAVED_REPLICATED_JOURNAL_SIZE = create("max-saved-replicated-journal-size", INT)
.setDefaultValue(new ModelNode(2))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition MEMORY_MEASURE_INTERVAL = create("memory-measure-interval", LONG)
.setDefaultValue(new ModelNode(-1L))
.setMeasurementUnit(MILLISECONDS)
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition MEMORY_WARNING_THRESHOLD = create("memory-warning-threshold", INT)
.setDefaultValue(new ModelNode(25))
.setMeasurementUnit(PERCENTAGE)
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition STATISTICS_ENABLED = create(ModelDescriptionConstants.STATISTICS_ENABLED, BOOLEAN)
.setDefaultValue(new ModelNode(false))
.setRequired(false)
.setAllowExpression(true)
.build();
SimpleAttributeDefinition MESSAGE_COUNTER_ENABLED = create("message-counter-enabled", BOOLEAN)
.setDefaultValue(new ModelNode(false))
.setRequired(false)
.setAllowExpression(true)
.setDeprecated(ModelVersion.create(2))
.build();
SimpleAttributeDefinition MESSAGE_COUNTER_MAX_DAY_HISTORY = create("message-counter-max-day-history", INT)
.setDefaultValue(new ModelNode(10))
.setMeasurementUnit(DAYS)
.setRequired(false)
.setAllowExpression(true)
.build();
SimpleAttributeDefinition MESSAGE_COUNTER_SAMPLE_PERIOD = create("message-counter-sample-period", LONG)
.setDefaultValue(new ModelNode(10000L))
.setMeasurementUnit(MILLISECONDS)
.setRequired(false)
.setAllowExpression(true)
.build();
SimpleAttributeDefinition MESSAGE_EXPIRY_SCAN_PERIOD = create("message-expiry-scan-period", LONG)
.setDefaultValue(new ModelNode(30000L))
.setMeasurementUnit(MILLISECONDS)
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition MESSAGE_EXPIRY_THREAD_PRIORITY = create("message-expiry-thread-priority", INT)
.setDefaultValue(new ModelNode(3))
.setRequired(false)
.setAllowExpression(true)
.setValidator(new IntRangeValidator(Thread.MIN_PRIORITY, Thread.MAX_PRIORITY, true, true))
.setRestartAllServices()
.build();
AttributeDefinition MIN_LARGE_MESSAGE_SIZE = create("min-large-message-size", INT)
.setDefaultValue(new ModelNode(102400))
.setMeasurementUnit(BYTES)
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
AttributeDefinition BACKUP_GROUP_NAME = create("backup-group-name", ModelType.STRING)
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition OVERRIDE_IN_VM_SECURITY = create("override-in-vm-security", BOOLEAN)
.setDefaultValue(new ModelNode(true))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition PAGE_MAX_CONCURRENT_IO = create("page-max-concurrent-io", INT)
.setDefaultValue(new ModelNode(5))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition PERF_BLAST_PAGES = create("perf-blast-pages", INT)
.setDefaultValue(new ModelNode(-1))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition PERSIST_DELIVERY_COUNT_BEFORE_DELIVERY = create("persist-delivery-count-before-delivery", BOOLEAN)
.setDefaultValue(new ModelNode(false))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition PERSISTENCE_ENABLED = create("persistence-enabled", BOOLEAN)
.setDefaultValue(new ModelNode(true))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition PERSIST_ID_CACHE = create("persist-id-cache", BOOLEAN)
.setDefaultValue(new ModelNode(true))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
@Deprecated
PrimitiveListAttributeDefinition REMOTING_INTERCEPTORS = new PrimitiveListAttributeDefinition.Builder("remoting-interceptors", ModelType.STRING)
.setDeprecated(VERSION_1_2_0)
.setRequired(false)
.setAllowExpression(false)
.setMinSize(1)
.setMaxSize(Integer.MAX_VALUE)
.setRestartAllServices()
.setElementValidator(new StringLengthValidator(1, false, true))
.setAttributeMarshaller(AttributeMarshallers.INTERCEPTOR_MARSHALLER)
.build();
PrimitiveListAttributeDefinition REMOTING_INCOMING_INTERCEPTORS = new PrimitiveListAttributeDefinition.Builder("remoting-incoming-interceptors", ModelType.STRING)
.setRequired(false)
.setAllowExpression(false)
.setMinSize(1)
.setMaxSize(Integer.MAX_VALUE)
.setRestartAllServices()
.setElementValidator(new StringLengthValidator(1, false, true))
.setAttributeMarshaller(AttributeMarshallers.INTERCEPTOR_MARSHALLER)
.build();
PrimitiveListAttributeDefinition REMOTING_OUTGOING_INTERCEPTORS = new PrimitiveListAttributeDefinition.Builder("remoting-outgoing-interceptors", ModelType.STRING)
.setRequired(false)
.setAllowExpression(false)
.setMinSize(1)
.setMaxSize(Integer.MAX_VALUE)
.setRestartAllServices()
.setElementValidator(new StringLengthValidator(1, false, true))
.setAttributeMarshaller(AttributeMarshallers.INTERCEPTOR_MARSHALLER)
.build();
SimpleAttributeDefinition REPLICATION_CLUSTERNAME = create("replication-clustername", ModelType.STRING)
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
AttributeDefinition RETRY_INTERVAL = create("retry-interval", LONG)
.setDefaultValue(new ModelNode(2000L))
.setMeasurementUnit(MILLISECONDS)
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
AttributeDefinition RETRY_INTERVAL_MULTIPLIER = create("retry-interval-multiplier", DOUBLE)
.setDefaultValue(new ModelNode(1.0))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition RUN_SYNC_SPEED_TEST = create("run-sync-speed-test", BOOLEAN)
.setDefaultValue(new ModelNode(false))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
AttributeDefinition SCHEDULED_THREAD_POOL_MAX_SIZE = create("scheduled-thread-pool-max-size", INT)
.setDefaultValue(new ModelNode().set(5))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition SECURITY_DOMAIN = create("security-domain", ModelType.STRING)
.setDefaultValue(new ModelNode("other"))
.setRequired(false)
.setAllowExpression(false) // references the security domain service name
.setRestartAllServices()
.addAccessConstraint(SensitiveTargetAccessConstraintDefinition.SECURITY_DOMAIN_REF)
.addAccessConstraint(MESSAGING_SECURITY_DEF)
.build();
SimpleAttributeDefinition SECURITY_ENABLED = create("security-enabled", BOOLEAN)
.setDefaultValue(new ModelNode(true))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.addAccessConstraint(MESSAGING_SECURITY_DEF)
.build();
SimpleAttributeDefinition SECURITY_INVALIDATION_INTERVAL = create("security-invalidation-interval", LONG)
.setDefaultValue(new ModelNode(10000L))
.setMeasurementUnit(MILLISECONDS)
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.addAccessConstraint(MESSAGING_SECURITY_DEF)
.build();
SimpleAttributeDefinition SELECTOR = create("selector", ModelType.STRING)
.setRequired(false)
.setAllowExpression(true)
.setAttributeMarshaller(AttributeMarshallers.SELECTOR_MARSHALLER)
.setRestartAllServices()
.build();
SimpleAttributeDefinition SERVER_DUMP_INTERVAL = create("server-dump-interval", LONG)
.setDefaultValue(new ModelNode(-1L))
.setMeasurementUnit(MILLISECONDS)
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition SHARED_STORE = create("shared-store", BOOLEAN)
.setDefaultValue(new ModelNode(true))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition SOCKET_BINDING = create("socket-binding", ModelType.STRING)
.setRequired(false)
.setAlternatives(GROUP_ADDRESS.getName(),
GROUP_PORT.getName(),
LOCAL_BIND_ADDRESS.getName(),
LOCAL_BIND_PORT.getName(),
JGROUPS_STACK.getName(),
JGROUPS_CHANNEL.getName())
.setRestartAllServices()
.addAccessConstraint(SensitiveTargetAccessConstraintDefinition.SOCKET_BINDING_REF)
.build();
AttributeDefinition THREAD_POOL_MAX_SIZE = create("thread-pool-max-size", INT)
.setDefaultValue(new ModelNode().set(30))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition TRANSACTION_TIMEOUT = create("transaction-timeout", LONG)
.setDefaultValue(new ModelNode(300000L))
.setMeasurementUnit(MILLISECONDS)
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition TRANSACTION_TIMEOUT_SCAN_PERIOD = create("transaction-timeout-scan-period", LONG)
.setDefaultValue(new ModelNode(1000L))
.setMeasurementUnit(MILLISECONDS)
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
SimpleAttributeDefinition TRANSFORMER_CLASS_NAME = create("transformer-class-name", ModelType.STRING)
.setRequired(false)
.setAllowExpression(false)
.setRestartAllServices()
.build();
SimpleAttributeDefinition WILD_CARD_ROUTING_ENABLED = create("wild-card-routing-enabled", BOOLEAN)
.setDefaultValue(new ModelNode(true))
.setRequired(false)
.setAllowExpression(true)
.setRestartAllServices()
.build();
String ACCEPTOR = "acceptor";
String ACCEPTORS = "acceptors";
String ADDRESS = "address";
String ADDRESS_SETTING = "address-setting";
String ADDRESS_SETTINGS = "address-settings";
String BINDINGS_DIRECTORY = "bindings-directory";
String BRIDGE = "bridge";
String BRIDGES = "bridges";
String BROADCAST_GROUP = "broadcast-group";
String BROADCAST_GROUPS = "broadcast-groups";
String CLASS_NAME = "class-name";
String CLUSTER_CONNECTION = "cluster-connection";
String CLUSTER_CONNECTIONS = "cluster-connections";
String CONNECTION_FACTORY = "connection-factory";
String CONNECTOR = "connector";
String CONNECTORS = "connectors";
String CONNECTOR_NAME = "connector-name";
String CONNECTOR_REF_STRING = "connector-ref";
String CONNECTOR_SERVICE = "connector-service";
String CONNECTOR_SERVICES = "connector-services";
String CORE_QUEUE = "core-queue";
String CORE_QUEUES = "core-queues";
String DEFAULT = "default";
String DESTINATION = "destination";
String DISCOVERY_GROUP = "discovery-group";
String DISCOVERY_GROUPS = "discovery-groups";
String DISCOVERY_GROUP_REF = "discovery-group-ref";
String DIVERT = "divert";
String DIVERTS = "diverts";
String ENTRY = "entry";
String FILE_DEPLOYMENT_ENABLED = "file-deployment-enabled";
String GROUPING_HANDLER = "grouping-handler";
String HTTP_ACCEPTOR = "http-acceptor";
String HTTP_CONNECTOR = "http-connector";
String HTTP_LISTENER = "http-listener";
String IN_VM_ACCEPTOR = "in-vm-acceptor";
String IN_VM_CONNECTOR = "in-vm-connector";
String JMS_BRIDGE = "jms-bridge";
String JMS_CONNECTION_FACTORIES = "jms-connection-factories";
String JMS_DESTINATIONS = "jms-destinations";
String JMS_QUEUE = "jms-queue";
String JMS_TOPIC = "jms-topic";
String JOURNAL_DIRECTORY = "journal-directory";
String KEY = "key";
String INBOUND_CONFIG = "inbound-config";
String LARGE_MESSAGES_DIRECTORY = "large-messages-directory";
String LOCAL = "local";
String MATCH = "match";
String MODE = "mode";
String NAME = "name";
String NETTY_ACCEPTOR = "netty-acceptor";
String NETTY_CONNECTOR = "netty-connector";
String PAGING_DIRECTORY = "paging-directory";
String PARAM = "param";
String PERMISSION_ELEMENT_NAME = "permission";
String POOLED_CONNECTION_FACTORY = "pooled-connection-factory";
String QUEUE = "queue";
String QUEUE_NAME = "queue-name";
String REMOTE_ACCEPTOR = "remote-acceptor";
String REMOTE_CONNECTOR = "remote-connector";
String ROLE = "role";
String ROLES_ATTR_NAME = "roles";
String SECURITY_ROLE = "security-role";
String SECURITY_SETTING = "security-setting";
String SECURITY_SETTINGS = "security-settings";
String HORNETQ_SERVER = "hornetq-server";
String STATIC_CONNECTORS = "static-connectors";
String STRING = "string";
String SUBSYSTEM = "subsystem";
String TYPE_ATTR_NAME = "type";
AttributeDefinition[] SIMPLE_ROOT_RESOURCE_ATTRIBUTES = { CLUSTERED, PERSISTENCE_ENABLED, SCHEDULED_THREAD_POOL_MAX_SIZE,
THREAD_POOL_MAX_SIZE, SECURITY_DOMAIN, SECURITY_ENABLED, SECURITY_INVALIDATION_INTERVAL, OVERRIDE_IN_VM_SECURITY, WILD_CARD_ROUTING_ENABLED,
MANAGEMENT_ADDRESS, MANAGEMENT_NOTIFICATION_ADDRESS, CLUSTER_USER, CLUSTER_PASSWORD, JMX_MANAGEMENT_ENABLED,
JMX_DOMAIN, STATISTICS_ENABLED, MESSAGE_COUNTER_ENABLED, MESSAGE_COUNTER_SAMPLE_PERIOD, MESSAGE_COUNTER_MAX_DAY_HISTORY,
CONNECTION_TTL_OVERRIDE, ASYNC_CONNECTION_EXECUTION_ENABLED, TRANSACTION_TIMEOUT, TRANSACTION_TIMEOUT_SCAN_PERIOD,
MESSAGE_EXPIRY_SCAN_PERIOD, MESSAGE_EXPIRY_THREAD_PRIORITY, ID_CACHE_SIZE, PERSIST_ID_CACHE,
REMOTING_INTERCEPTORS, REMOTING_INCOMING_INTERCEPTORS, REMOTING_OUTGOING_INTERCEPTORS,
BACKUP, ALLOW_FAILBACK, FAILBACK_DELAY, FAILOVER_ON_SHUTDOWN, SHARED_STORE, PERSIST_DELIVERY_COUNT_BEFORE_DELIVERY,
PAGE_MAX_CONCURRENT_IO, CREATE_BINDINGS_DIR, CREATE_JOURNAL_DIR, JOURNAL_TYPE, JOURNAL_BUFFER_TIMEOUT,
JOURNAL_BUFFER_SIZE, JOURNAL_SYNC_TRANSACTIONAL, JOURNAL_SYNC_NON_TRANSACTIONAL, LOG_JOURNAL_WRITE_RATE,
JOURNAL_FILE_SIZE, JOURNAL_MIN_FILES, JOURNAL_COMPACT_PERCENTAGE, JOURNAL_COMPACT_MIN_FILES, JOURNAL_MAX_IO,
MAX_SAVED_REPLICATED_JOURNAL_SIZE, PERF_BLAST_PAGES, RUN_SYNC_SPEED_TEST, SERVER_DUMP_INTERVAL, MEMORY_WARNING_THRESHOLD, MEMORY_MEASURE_INTERVAL,
CHECK_FOR_LIVE_SERVER, BACKUP_GROUP_NAME, REPLICATION_CLUSTERNAME };
// copied from HornetQ to avoid import HornetQ artifacts just to define attribute constants and enum validator
enum JournalType
{
NIO, ASYNCIO;
}
}