container/resource/src/main/java/org/mobicents/slee/container/management/ResourceManagementImpl.java
public void installResourceAdaptorType(
			ResourceAdaptorTypeComponent component) throws DeploymentException {
		if (logger.isDebugEnabled()) {
			logger.debug("Installing " + component);

		}
		// generate code for aci factory
		new ResourceAdaptorTypeClassCodeGenerator().process(component);
		// create instance of aci factory and store it in the
		// component
		if (component.getActivityContextInterfaceFactoryConcreteClass() != null) {
			try {
				Constructor<?> constructor = component
						.getActivityContextInterfaceFactoryConcreteClass()
						.getConstructor(
								new Class[] { SleeContainer.class,
										ResourceAdaptorTypeID.class });
				Object aciFactory = constructor.newInstance(new Object[] {
						sleeContainer, component.getResourceAdaptorTypeID() });
				component.setActivityContextInterfaceFactory(aciFactory);
			} catch (Throwable e) {
				throw new SLEEException(
						"unable to create ra type aci factory instance", e);
			}
		}
		final ResourceAdaptorTypeID resourceAdaptorTypeID = component.getResourceAdaptorTypeID();
		entitiesPerType.put(
				resourceAdaptorTypeID,
				new HashSet<ResourceAdaptorEntity>());
		TransactionalAction action = new TransactionalAction() {
			public void execute() {
				entitiesPerType.remove(resourceAdaptorTypeID);
				
			}
		};
		sleeContainer.getTransactionManager().getTransactionContext().getAfterRollbackActions().add(action);				
	}
public void installResourceAdaptorType(
			ResourceAdaptorTypeComponent component) throws DeploymentException {
		if (logger.isDebugEnabled()) {
			logger.debug("Installing " + component);

		}
		// generate code for aci factory
		new ResourceAdaptorTypeClassCodeGenerator().process(component);
		// create instance of aci factory and store it in the
		// component
		if (component.getActivityContextInterfaceFactoryConcreteClass() != null) {
			try {
				Constructor<?> constructor = component
						.getActivityContextInterfaceFactoryConcreteClass()
						.getConstructor(
								new Class[] { SleeContainer.class,
										ResourceAdaptorTypeID.class });
				Object aciFactory = constructor.newInstance(new Object[] {
						sleeContainer, component.getResourceAdaptorTypeID() });
				component.setActivityContextInterfaceFactory(aciFactory);
			} catch (Throwable e) {
				throw new SLEEException(
						"unable to create ra type aci factory instance", e);
			}
		}
		final ResourceAdaptorTypeID resourceAdaptorTypeID = component.getResourceAdaptorTypeID();
		entitiesPerType.put(
				resourceAdaptorTypeID,
				new HashSet<ResourceAdaptorEntity>());
		TransactionalAction action = new TransactionalAction() {
			public void execute() {
				entitiesPerType.remove(resourceAdaptorTypeID);
				
			}
		};
		sleeContainer.getTransactionManager().getTransactionContext().getAfterRollbackActions().add(action);				
	}
public void installResourceAdaptorType ( ResourceAdaptorTypeComponent component ) throws DeploymentException { if ( logger . isDebugEnabled ( ) ) { logger . debug ( "Installing " + component ) ; } // generate code for aci factory new ResourceAdaptorTypeClassCodeGenerator ( ) . process ( component ) ; // create instance of aci factory and store it in the // component if ( component . getActivityContextInterfaceFactoryConcreteClass ( ) != null ) { try { Constructor < ? > constructor = component . getActivityContextInterfaceFactoryConcreteClass ( ) . getConstructor ( new Class [ ] { SleeContainer . class , ResourceAdaptorTypeID . class } ) ; Object aciFactory = constructor . newInstance ( new Object [ ] { sleeContainer , component . getResourceAdaptorTypeID ( ) } ) ; component . setActivityContextInterfaceFactory ( aciFactory ) ; } catch ( Throwable e ) { throw new SLEEException ( "unable to create ra type aci factory instance" , e ) ; } } final ResourceAdaptorTypeID resourceAdaptorTypeID = component . getResourceAdaptorTypeID ( ) ; entitiesPerType . put ( resourceAdaptorTypeID , new HashSet < ResourceAdaptorEntity > ( ) ) ; TransactionalAction action = new TransactionalAction ( ) { public void execute ( ) { entitiesPerType . remove ( resourceAdaptorTypeID ) ; } } ; sleeContainer . getTransactionManager ( ) . getTransactionContext ( ) . getAfterRollbackActions ( ) . add ( action ) ; }
Installs the specified {@link ResourceAdaptorTypeComponent} in the container
@param component
@throws DeploymentException
Installs the specified {