Buggy code:
public abstract class AbstractResourceAdapterDeploymentService { protected ResourceAdapterDeployment value ; protected final InjectedValue < MetadataRepository > mdr = new InjectedValue < MetadataRepository > ( ) ; protected final InjectedValue < ResourceAdapterRepository > raRepository = new InjectedValue < ResourceAdapterRepository > ( ) ; protected final InjectedValue < ResourceAdapterDeploymentRegistry > registry = new InjectedValue < ResourceAdapterDeploymentRegistry > ( ) ; protected final InjectedValue < ManagementRepository > managementRepository = new InjectedValue < ManagementRepository > ( ) ; protected final InjectedValue < JcaSubsystemConfiguration > config = new InjectedValue < JcaSubsystemConfiguration > ( ) ; protected final InjectedValue < TransactionIntegration > txInt = new InjectedValue < TransactionIntegration > ( ) ; protected final InjectedValue < SubjectFactory > subjectFactory = new InjectedValue < SubjectFactory > ( ) ; protected final InjectedValue < CachedConnectionManager > ccmValue = new InjectedValue < CachedConnectionManager > ( ) ; public ResourceAdapterDeployment getValue ( ) { } public void stop ( StopContext context ) { } public Injector < MetadataRepository > getMdrInjector ( ) { } public Injector < ResourceAdapterRepository > getRaRepositoryInjector ( ) { } public Injector < ManagementRepository > getManagementRepositoryInjector ( ) { } public Injector < ResourceAdapterDeploymentRegistry > getRegistryInjector ( ) { } public InjectedValue < JcaSubsystemConfiguration > getConfig ( ) { } public InjectedValue < TransactionIntegration > getTxIntegration ( ) { } public Injector < TransactionIntegration > getTxIntegrationInjector ( ) { } public Injector < JcaSubsystemConfiguration > getConfigInjector ( ) { } public Injector < SubjectFactory > getSubjectFactoryInjector ( ) { } public Injector < CachedConnectionManager > getCcmInjector ( ) { } protected abstract class AbstractAS7RaDeployer extends AbstractResourceAdapterDeployer { protected final ServiceTarget serviceTarget ; protected final URL url ; protected final String deploymentName ; protected final File root ; protected final ClassLoader cl ; protected final Connector cmd ; protected AbstractAS7RaDeployer ( ServiceTarget serviceTarget , URL url , String deploymentName , File root , ClassLoader cl , Connector cmd ) { } public abstract CommonDeployment doDeploy ( ) throws Throwable { } @ Override public String [ ] bindConnectionFactory ( URL url , String deployment , Object cf ) throws Throwable { } @ Override public String [ ] bindConnectionFactory ( URL url , String deployment , Object cf , final String jndi ) throws Throwable { mdr . getValue ( ) . registerJndiMapping ( url . toExternalForm ( ) , cf . getClass ( ) . getName ( ) , jndi ) ; ConnectorLogger . DEPLOYMENT_CONNECTOR_LOGGER . registeredConnectionFactory ( jndi ) ; final ConnectionFactoryService connectionFactoryService = new ConnectionFactoryService ( cf ) ; final ServiceName connectionFactoryServiceName = SERVICE_NAME_BASE . append ( jndi ) ; serviceTarget . addService ( connectionFactoryServiceName , connectionFactoryService ) . setInitialMode ( ACTIVE ) . install ( ) ; final ConnectionFactoryReferenceFactoryService referenceFactoryService = new ConnectionFactoryReferenceFactoryService ( ) ; final ServiceName referenceFactoryServiceName = ConnectionFactoryReferenceFactoryService . SERVICE_NAME_BASE . append ( jndi ) ; serviceTarget . addService ( referenceFactoryServiceName , referenceFactoryService ) . addDependency ( connectionFactoryServiceName , Object . class , referenceFactoryService . getDataSourceInjector ( ) ) . setInitialMode ( ACTIVE ) . install ( ) ; final ContextNames . BindInfo bindInfo = ContextNames . bindInfoFor ( jndi ) ; final BinderService binderService = new BinderService ( bindInfo . getBindName ( ) ) ; <START_BUG> serviceTarget . addService ( bindInfo . getBinderServiceName ( ) , binderService ) . addDependency ( referenceFactoryServiceName , ManagedReferenceFactory . class , binderService . getManagedObjectInjector ( ) ) . addDependency ( bindInfo . getParentContextServiceName ( ) , ServiceBasedNamingStore . class , binderService . getNamingStoreInjector ( ) ) . addDependency ( RESOURCE_ADAPTER_SERVICE_PREFIX . append ( deploymentName ) ) . addListener ( new org . jboss . msc . service . AbstractServiceListener < Object > ( ) { <END_BUG> public void transition ( final ServiceController < ? extends Object > controller , final ServiceController . Transition transition ) { switch ( transition ) { case STARTING_to_UP : { ConnectorLogger . DEPLOYMENT_CONNECTOR_LOGGER . boundJca ( "ConnectionFactory" , jndi ) ; break ; } case STOPPING_to_DOWN : { ConnectorLogger . DEPLOYMENT_CONNECTOR_LOGGER . unboundJca ( "ConnectionFactory" , jndi ) ; break ; } case REMOVING_to_REMOVED : { ConnectorLogger . DEPLOYMENT_CONNECTOR_LOGGER . debugf ( "Removed<seq2seq4repair_space>JCA<seq2seq4repair_space>ConnectionFactory<seq2seq4repair_space>[%s]" , jndi ) ; } } } } ) . setInitialMode ( ACTIVE ) . install ( ) ; return new String [ ] { jndi } ; } @ Override public String [ ] bindAdminObject ( URL url , String deployment , Object ao ) throws Throwable { } @ Override public String [ ] bindAdminObject ( URL url , String deployment , Object ao , final String jndi ) throws Throwable { } @ Override protected abstract boolean checkActivation ( Connector cmd , IronJacamar ijmd ) { } @ Override protected boolean checkConfigurationIsValid ( ) { } @ Override protected PrintWriter getLogPrintWriter ( ) { } @ Override protected File getReportDirectory ( ) { } @ Override protected TransactionManager getTransactionManager ( ) { } @ Override public Object initAndInject ( String className , List < ? extends ConfigProperty > configs , ClassLoader cl ) throws DeployException { } @ Override protected void registerResourceAdapterToMDR ( URL url , File file , Connector connector , IronJacamar ij ) throws AlreadyExistsException { } @ Override protected String registerResourceAdapterToResourceAdapterRepository ( ResourceAdapter instance ) { } @ Override protected SubjectFactory getSubjectFactory ( String securityDomain ) throws DeployException { } @ Override protected TransactionIntegration getTransactionIntegration ( ) { } @ Override protected CachedConnectionManager getCachedConnectionManager ( ) { } @ Override protected String buildJndiName ( String rawJndiName , Boolean javaContext ) { } } private static final AbstractResourceAdapterDeploymentService . SetContextLoaderAction CLEAR_ACTION = new AbstractResourceAdapterDeploymentService . SetContextLoaderAction ( null ) ; private static class SetContextLoaderAction implements PrivilegedAction < Void > { private final ClassLoader classLoader ; public SetContextLoaderAction ( final ClassLoader classLoader ) { } public Void run ( ) { } } }

Fix:
serviceTarget . addService ( bindInfo . getBinderServiceName ( ) , binderService ) . addDependency ( referenceFactoryServiceName , ManagedReferenceFactory . class , binderService . getManagedObjectInjector ( ) ) . addDependency ( bindInfo . getParentContextServiceName ( ) , ServiceBasedNamingStore . class , binderService . getNamingStoreInjector ( ) ) . addDependency ( RESOURCE_ADAPTER_DEPLOYER_SERVICE_PREFIX . append ( deploymentName ) ) . addListener ( new org . jboss . msc . service . AbstractServiceListener < Object > ( ) {