Skip to content

Commit

Permalink
WFLY-2403 Cannot disable a Datasource or XADatasource in standalone m…
Browse files Browse the repository at this point in the history
…ode. It's back to enabled state after server reload.
  • Loading branch information
Stefano Maestri committed Oct 29, 2013
1 parent ed8cc6d commit eb72f08
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 32 deletions.
Expand Up @@ -278,8 +278,6 @@ public void validateResolvedParameter(String parameterName, ModelNode value) thr
.setAllowNull(true)
.build();

static final SimpleAttributeDefinition[] READONLY_XA_DATASOURCE_ATTRIBUTE = new SimpleAttributeDefinition[]{ENABLED};
static final SimpleAttributeDefinition[] READONLY_DATASOURCE_ATTRIBUTE = new SimpleAttributeDefinition[]{ENABLED};

static SimpleAttributeDefinition JTA = new SimpleAttributeDefinition(JTA_NAME, DataSource.Attribute.JTA.getLocalName(), new ModelNode().set(Defaults.JTA), ModelType.BOOLEAN, true, true, MeasurementUnit.NONE);

Expand Down Expand Up @@ -432,7 +430,7 @@ public void validateResolvedParameter(String parameterName, ModelNode value) thr
org.jboss.as.connector.subsystems.common.pool.Constants.BACKGROUNDVALIDATION,
org.jboss.as.connector.subsystems.common.pool.Constants.USE_FAST_FAIL,
VALIDATE_ON_MATCH, SPY,
USE_CCM};
USE_CCM, ENABLED};

static final PropertiesAttributeDefinition[] DATASOURCE_PROPERTIES_ATTRIBUTES = new PropertiesAttributeDefinition[]{
REAUTHPLUGIN_PROPERTIES,
Expand Down Expand Up @@ -501,7 +499,7 @@ public void validateResolvedParameter(String parameterName, ModelNode value) thr
org.jboss.as.connector.subsystems.common.pool.Constants.BACKGROUNDVALIDATION,
org.jboss.as.connector.subsystems.common.pool.Constants.USE_FAST_FAIL,
VALIDATE_ON_MATCH, XA_RESOURCE_TIMEOUT,
SPY, USE_CCM,
SPY, USE_CCM, ENABLED,
RECOVERY_USERNAME, RECOVERY_PASSWORD,
RECOVERY_SECURITY_DOMAIN, RECOVER_PLUGIN_CLASSNAME,
NO_RECOVERY, URL_PROPERTY};
Expand Down
Expand Up @@ -36,7 +36,6 @@
import static org.jboss.as.connector.subsystems.datasources.Constants.FLUSH_GRACEFULLY_CONNECTION;
import static org.jboss.as.connector.subsystems.datasources.Constants.FLUSH_IDLE_CONNECTION;
import static org.jboss.as.connector.subsystems.datasources.Constants.FLUSH_INVALID_CONNECTION;
import static org.jboss.as.connector.subsystems.datasources.Constants.READONLY_DATASOURCE_ATTRIBUTE;
import static org.jboss.as.connector.subsystems.datasources.Constants.TEST_CONNECTION;
import static org.jboss.as.connector.subsystems.datasources.Constants.URL_DELIMITER;

Expand All @@ -46,7 +45,6 @@
import org.jboss.as.connector.subsystems.common.pool.PoolOperations;
import org.jboss.as.controller.PathElement;
import org.jboss.as.controller.PropertiesAttributeDefinition;
import org.jboss.as.controller.ReloadRequiredWriteAttributeHandler;
import org.jboss.as.controller.SimpleAttributeDefinition;
import org.jboss.as.controller.SimpleAttributeDefinitionBuilder;
import org.jboss.as.controller.SimpleResourceDefinition;
Expand Down Expand Up @@ -130,9 +128,7 @@ public void registerAttributes(ManagementResourceRegistration resourceRegistrati
}
}
}
for (SimpleAttributeDefinition attribute : READONLY_DATASOURCE_ATTRIBUTE) {
resourceRegistration.registerReadWriteAttribute(attribute, null, new ReloadRequiredWriteAttributeHandler(attribute));
}



}
Expand Down
Expand Up @@ -90,6 +90,8 @@ private void handleDatasourceAttribute(final String attributeName, final Operati
setBooleanIfNotNull(context, dataSource.isUseJavaContext());
} else if (attributeName.equals(Constants.JTA.getName())) {
setBooleanIfNotNull(context, dataSource.isJTA());
} else if (attributeName.equals(Constants.ENABLED.getName())) {
setBooleanIfNotNull(context, dataSource.isEnabled());
} else if (attributeName.equals(org.jboss.as.connector.subsystems.common.pool.Constants.MAX_POOL_SIZE.getName())) {
if (dataSource.getPool() == null) {
return;
Expand Down
Expand Up @@ -80,6 +80,8 @@ private void handleDatasourceAttribute(final String attributeName, final Operati
setStringIfNotNull(context, dataSource.getUrlSelectorStrategyClassName());
} else if (attributeName.equals(Constants.USE_JAVA_CONTEXT.getName())) {
setBooleanIfNotNull(context, dataSource.isUseJavaContext());
} else if (attributeName.equals(Constants.ENABLED.getName())) {
setBooleanIfNotNull(context, dataSource.isEnabled());
} else if (attributeName.equals(org.jboss.as.connector.subsystems.common.pool.Constants.MAX_POOL_SIZE.getName())) {
if (dataSource.getXaPool() == null) {
return;
Expand Down
Expand Up @@ -24,25 +24,6 @@

package org.jboss.as.connector.subsystems.datasources;

import org.jboss.as.connector.subsystems.common.pool.PoolConfigurationRWHandler;
import org.jboss.as.connector.subsystems.common.pool.PoolOperations;
import org.jboss.as.controller.PathElement;
import org.jboss.as.controller.PropertiesAttributeDefinition;
import org.jboss.as.controller.ReloadRequiredWriteAttributeHandler;
import org.jboss.as.controller.SimpleAttributeDefinition;
import org.jboss.as.controller.SimpleAttributeDefinitionBuilder;
import org.jboss.as.controller.SimpleResourceDefinition;
import org.jboss.as.controller.access.constraint.ApplicationTypeConfig;
import org.jboss.as.controller.access.management.AccessConstraintDefinition;
import org.jboss.as.controller.access.management.ApplicationTypeAccessConstraintDefinition;
import org.jboss.as.controller.registry.AttributeAccess;
import org.jboss.as.controller.registry.ManagementResourceRegistration;
import org.jboss.as.controller.transform.description.DiscardAttributeChecker;
import org.jboss.as.controller.transform.description.RejectAttributeChecker;
import org.jboss.as.controller.transform.description.ResourceTransformationDescriptionBuilder;

import java.util.List;

import static org.jboss.as.connector.subsystems.datasources.Constants.CONNECTION_LISTENER_CLASS;
import static org.jboss.as.connector.subsystems.datasources.Constants.CONNECTION_LISTENER_PROPERTIES;
import static org.jboss.as.connector.subsystems.datasources.Constants.DATASOURCE_DISABLE;
Expand All @@ -53,14 +34,31 @@
import static org.jboss.as.connector.subsystems.datasources.Constants.FLUSH_GRACEFULLY_CONNECTION;
import static org.jboss.as.connector.subsystems.datasources.Constants.FLUSH_IDLE_CONNECTION;
import static org.jboss.as.connector.subsystems.datasources.Constants.FLUSH_INVALID_CONNECTION;
import static org.jboss.as.connector.subsystems.datasources.Constants.READONLY_XA_DATASOURCE_ATTRIBUTE;
import static org.jboss.as.connector.subsystems.datasources.Constants.TEST_CONNECTION;
import static org.jboss.as.connector.subsystems.datasources.Constants.URL_DELIMITER;
import static org.jboss.as.connector.subsystems.datasources.Constants.URL_PROPERTY;
import static org.jboss.as.connector.subsystems.datasources.Constants.XA_DATASOURCE;
import static org.jboss.as.connector.subsystems.datasources.Constants.XA_DATASOURCE_ATTRIBUTE;
import static org.jboss.as.connector.subsystems.datasources.Constants.XA_DATASOURCE_PROPERTIES_ATTRIBUTES;

import java.util.List;

import org.jboss.as.connector.subsystems.common.pool.PoolConfigurationRWHandler;
import org.jboss.as.connector.subsystems.common.pool.PoolOperations;
import org.jboss.as.controller.PathElement;
import org.jboss.as.controller.PropertiesAttributeDefinition;
import org.jboss.as.controller.SimpleAttributeDefinition;
import org.jboss.as.controller.SimpleAttributeDefinitionBuilder;
import org.jboss.as.controller.SimpleResourceDefinition;
import org.jboss.as.controller.access.constraint.ApplicationTypeConfig;
import org.jboss.as.controller.access.management.AccessConstraintDefinition;
import org.jboss.as.controller.access.management.ApplicationTypeAccessConstraintDefinition;
import org.jboss.as.controller.registry.AttributeAccess;
import org.jboss.as.controller.registry.ManagementResourceRegistration;
import org.jboss.as.controller.transform.description.DiscardAttributeChecker;
import org.jboss.as.controller.transform.description.RejectAttributeChecker;
import org.jboss.as.controller.transform.description.ResourceTransformationDescriptionBuilder;

/**
* @author Stefano Maestri
*/
Expand Down Expand Up @@ -131,10 +129,7 @@ public void registerAttributes(ManagementResourceRegistration resourceRegistrati
}
}
}
for (SimpleAttributeDefinition attribute : READONLY_XA_DATASOURCE_ATTRIBUTE) {
resourceRegistration.registerReadWriteAttribute(attribute, null, new ReloadRequiredWriteAttributeHandler(attribute));

}

}

Expand Down

0 comments on commit eb72f08

Please sign in to comment.