Search in sources :

Example 6 with ResourceAdapterDeployment

use of org.jboss.as.connector.metadata.deployment.ResourceAdapterDeployment in project wildfly by wildfly.

the class PooledConnectionFactoryStatisticsService method start.

@Override
public void start(StartContext context) throws StartException {
    ROOT_LOGGER.debugf("start PooledConnectionFactoryStatisticsService");
    synchronized (POOL_STATISTICS) {
        ResourceAdapterDeployment raDeployment = injectedRADeployment.getValue();
        CommonDeployment deployment = raDeployment.getDeployment();
        StatisticsPlugin poolStats = deployment.getConnectionManagers()[0].getPool().getStatistics();
        poolStats.setEnabled(statsEnabled);
        int poolStatsSize = poolStats.getNames().size();
        if (poolStatsSize > 0) {
            if (registration != null) {
                if (poolStatsSize > 0) {
                    if (registration.getSubModel(PathAddress.pathAddress(POOL_STATISTICS)) == null) {
                        // TODO WFLY-5285 get rid of redundant .setRuntimeOnly once WFCORE-959 is integrated
                        ManagementResourceRegistration poolRegistration = registration.registerSubModel(new StatisticsResourceDefinition(POOL_STATISTICS, DataSourcesSubsystemProviders.RESOURCE_NAME, poolStats));
                        poolRegistration.setRuntimeOnly(true);
                    }
                }
            }
        }
    }
}
Also used : ResourceAdapterDeployment(org.jboss.as.connector.metadata.deployment.ResourceAdapterDeployment) CommonDeployment(org.jboss.jca.deployers.common.CommonDeployment) StatisticsResourceDefinition(org.jboss.as.connector.dynamicresource.StatisticsResourceDefinition) StatisticsPlugin(org.jboss.jca.core.spi.statistics.StatisticsPlugin) ManagementResourceRegistration(org.jboss.as.controller.registry.ManagementResourceRegistration)

Example 7 with ResourceAdapterDeployment

use of org.jboss.as.connector.metadata.deployment.ResourceAdapterDeployment in project wildfly by wildfly.

the class ParsedRaDeploymentProcessor method process.

public static ServiceBuilder<ResourceAdapterDeployment> process(final ConnectorXmlDescriptor connectorXmlDescriptor, final IronJacamarXmlDescriptor ironJacamarXmlDescriptor, final ClassLoader classLoader, final ServiceTarget serviceTarget, final Map<ResourceRoot, Index> annotationIndexes, final ServiceName duServiceName, final ManagementResourceRegistration registration, Resource deploymentResource) throws DeploymentUnitProcessingException {
    Connector cmd = connectorXmlDescriptor != null ? connectorXmlDescriptor.getConnector() : null;
    final Activation activation = ironJacamarXmlDescriptor != null ? ironJacamarXmlDescriptor.getIronJacamar() : null;
    try {
        // Annotation merging
        Annotations annotator = new Annotations();
        if (annotationIndexes != null && annotationIndexes.size() > 0) {
            DEPLOYMENT_CONNECTOR_LOGGER.debugf("ParsedRaDeploymentProcessor: Found %d annotationIndexes", annotationIndexes.size());
            for (Index index : annotationIndexes.values()) {
                // Don't apply any empty indexes, as IronJacamar doesn't like that atm.
                if (index.getKnownClasses() != null && index.getKnownClasses().size() > 0) {
                    AnnotationRepository repository = new JandexAnnotationRepositoryImpl(index, classLoader);
                    cmd = annotator.merge(cmd, repository, classLoader);
                    DEPLOYMENT_CONNECTOR_LOGGER.debugf("ParsedRaDeploymentProcessor: CMD=%s", cmd);
                }
            }
        }
        if (annotationIndexes == null || annotationIndexes.size() == 0)
            DEPLOYMENT_CONNECTOR_LOGGER.debugf("ParsedRaDeploymentProcessor: Found 0 annotationIndexes");
        // FIXME: when the connector is null the Iron Jacamar data is ignored
        if (cmd != null) {
            // Validate metadata
            cmd.validate();
            // Merge metadata
            cmd = (new Merger()).mergeConnectorWithCommonIronJacamar(activation, cmd);
        }
        TransactionSupportEnum transactionSupport = TransactionSupportEnum.NoTransaction;
        if (cmd != null && cmd.getResourceadapter() != null && cmd.getResourceadapter().getOutboundResourceadapter() != null) {
            transactionSupport = cmd.getResourceadapter().getOutboundResourceadapter().getTransactionSupport();
        }
        if (activation != null && activation.getTransactionSupport() != null) {
            transactionSupport = activation.getTransactionSupport();
        }
        final ServiceName deployerServiceName = ConnectorServices.RESOURCE_ADAPTER_DEPLOYER_SERVICE_PREFIX.append(connectorXmlDescriptor.getDeploymentName());
        final ResourceAdapterDeploymentService raDeploymentService = new ResourceAdapterDeploymentService(connectorXmlDescriptor, cmd, activation, classLoader, deployerServiceName, duServiceName, registration, deploymentResource);
        // Create the service
        ServiceBuilder<ResourceAdapterDeployment> builder = Services.addServerExecutorDependency(serviceTarget.addService(deployerServiceName, raDeploymentService), raDeploymentService.getExecutorServiceInjector(), false).addDependency(ConnectorServices.IRONJACAMAR_MDR, AS7MetadataRepository.class, raDeploymentService.getMdrInjector()).addDependency(ConnectorServices.RA_REPOSITORY_SERVICE, ResourceAdapterRepository.class, raDeploymentService.getRaRepositoryInjector()).addDependency(ConnectorServices.MANAGEMENT_REPOSITORY_SERVICE, ManagementRepository.class, raDeploymentService.getManagementRepositoryInjector()).addDependency(ConnectorServices.RESOURCE_ADAPTER_REGISTRY_SERVICE, ResourceAdapterDeploymentRegistry.class, raDeploymentService.getRegistryInjector()).addDependency(ConnectorServices.TRANSACTION_INTEGRATION_SERVICE, TransactionIntegration.class, raDeploymentService.getTxIntegrationInjector()).addDependency(ConnectorServices.CONNECTOR_CONFIG_SERVICE, JcaSubsystemConfiguration.class, raDeploymentService.getConfigInjector()).addDependency(ConnectorServices.IDLE_REMOVER_SERVICE).addDependency(ConnectorServices.CONNECTION_VALIDATOR_SERVICE).addDependency(NamingService.SERVICE_NAME);
        if (transactionSupport == null || transactionSupport.equals(TransactionSupportEnum.NoTransaction)) {
            builder.addDependency(ConnectorServices.NON_TX_CCM_SERVICE, CachedConnectionManager.class, raDeploymentService.getCcmInjector());
        } else {
            builder.addDependency(ConnectorServices.CCM_SERVICE, CachedConnectionManager.class, raDeploymentService.getCcmInjector());
        }
        if (activation != null && ActivationSecurityUtil.isLegacySecurityRequired(activation)) {
            builder.addDependency(SubjectFactoryService.SERVICE_NAME, SubjectFactory.class, raDeploymentService.getSubjectFactoryInjector()).addDependency(SimpleSecurityManagerService.SERVICE_NAME, ServerSecurityManager.class, raDeploymentService.getServerSecurityManager());
        }
        return builder;
    } catch (Throwable t) {
        throw new DeploymentUnitProcessingException(t);
    }
}
Also used : JandexAnnotationRepositoryImpl(org.jboss.as.connector.annotations.repository.jandex.JandexAnnotationRepositoryImpl) ResourceAdapterDeployment(org.jboss.as.connector.metadata.deployment.ResourceAdapterDeployment) DeploymentUnitProcessingException(org.jboss.as.server.deployment.DeploymentUnitProcessingException) Connector(org.jboss.jca.common.api.metadata.spec.Connector) SubjectFactory(org.jboss.security.SubjectFactory) JcaSubsystemConfiguration(org.jboss.as.connector.subsystems.jca.JcaSubsystemConfiguration) Activation(org.jboss.jca.common.api.metadata.resourceadapter.Activation) Index(org.jboss.jandex.Index) ResourceAdapterDeploymentService(org.jboss.as.connector.services.resourceadapters.deployment.ResourceAdapterDeploymentService) Annotations(org.jboss.jca.common.annotations.Annotations) Merger(org.jboss.jca.common.metadata.merge.Merger) ServiceName(org.jboss.msc.service.ServiceName) AnnotationRepository(org.jboss.jca.common.spi.annotations.repository.AnnotationRepository) ResourceAdapterRepository(org.jboss.jca.core.spi.rar.ResourceAdapterRepository) TransactionSupportEnum(org.jboss.jca.common.api.metadata.common.TransactionSupportEnum) ResourceAdapterDeploymentRegistry(org.jboss.as.connector.services.resourceadapters.deployment.registry.ResourceAdapterDeploymentRegistry)

Aggregations

ResourceAdapterDeployment (org.jboss.as.connector.metadata.deployment.ResourceAdapterDeployment)7 ServiceName (org.jboss.msc.service.ServiceName)4 File (java.io.File)3 AS7MetadataRepository (org.jboss.as.connector.services.mdr.AS7MetadataRepository)3 Activation (org.jboss.jca.common.api.metadata.resourceadapter.Activation)3 Connector (org.jboss.jca.common.api.metadata.spec.Connector)3 URL (java.net.URL)2 Map (java.util.Map)2 ResourceAdapterService (org.jboss.as.connector.services.resourceadapters.ResourceAdapterService)2 TransactionSupportEnum (org.jboss.jca.common.api.metadata.common.TransactionSupportEnum)2 Merger (org.jboss.jca.common.metadata.merge.Merger)2 CachedConnectionManager (org.jboss.jca.core.api.connectionmanager.ccm.CachedConnectionManager)2 ManagementRepository (org.jboss.jca.core.api.management.ManagementRepository)2 TransactionIntegration (org.jboss.jca.core.spi.transaction.TransactionIntegration)2 InputStream (java.io.InputStream)1 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 Locale (java.util.Locale)1 BroadcastEndpointFactory (org.apache.activemq.artemis.api.core.BroadcastEndpointFactory)1 ChannelBroadcastEndpointFactory (org.apache.activemq.artemis.api.core.ChannelBroadcastEndpointFactory)1