Buggy code:
public class DistributedWorkManagerAdd extends AbstractAddStepHandler { public static final DistributedWorkManagerAdd INSTANCE = new DistributedWorkManagerAdd ( ) ; @ Override protected void populateModel ( final ModelNode operation , final ModelNode model ) throws OperationFailedException { } @ Override protected void performRuntime ( final OperationContext context , final ModelNode operation , final ModelNode model , final ServiceVerificationHandler verificationHandler , final List < ServiceController < ? > > newControllers ) throws OperationFailedException { String name = NAME . getAttribute ( ) . resolveModelAttribute ( context , model ) . asString ( ) ; String policy = POLICY . getAttribute ( ) . resolveModelAttribute ( context , model ) . asString ( ) ; String selector = SELECTOR . getAttribute ( ) . resolveModelAttribute ( context , model ) . asString ( ) ; ServiceTarget serviceTarget = context . getServiceTarget ( ) ; NamedDistributedWorkManager namedDistributedWorkManager = new NamedDistributedWorkManager ( name ) ; if ( ( policy != null ) && ( ! ( policy . trim ( ) . isEmpty ( ) ) ) ) { switch ( PolicyValue . valueOf ( policy ) ) { case NEVER : { namedDistributedWorkManager . setPolicy ( new Never ( ) ) ; break ; } case ALWAYS : { namedDistributedWorkManager . setPolicy ( new Always ( ) ) ; break ; } case WATERMARK : { namedDistributedWorkManager . setPolicy ( new WaterMark ( ) ) ; break ; } default : throw ROOT_LOGGER . unsupportedPolicy ( policy ) ; } Injection injector = new Injection ( ) ; for ( Map . Entry < String , String > entry : ( ( PropertiesAttributeDefinition ) ( POLICY_OPTIONS . getAttribute ( ) ) ) . unwrap ( context , model ) . entrySet ( ) ) { try { injector . inject ( namedDistributedWorkManager . getPolicy ( ) , entry . getKey ( ) , entry . getValue ( ) ) ; } catch ( Exception e ) { ROOT_LOGGER . unsupportedPolicyOption ( entry . getKey ( ) ) ; } } } else { namedDistributedWorkManager . setPolicy ( new WaterMark ( ) ) ; } if ( ( selector != null ) && ( ! ( selector . trim ( ) . isEmpty ( ) ) ) ) { switch ( SelectorValue . valueOf ( selector ) ) { case FIRST_AVAILABLE : { namedDistributedWorkManager . setSelector ( new FirstAvailable ( ) ) ; break ; } case MAX_FREE_THREADS : { namedDistributedWorkManager . setSelector ( new MaxFreeThreads ( ) ) ; break ; } case PING_TIME : { namedDistributedWorkManager . setSelector ( new PingTime ( ) ) ; break ; } default : throw ROOT_LOGGER . unsupportedSelector ( selector ) ; } Injection injector = new Injection ( ) ; for ( Map . Entry < String , String > entry : ( ( PropertiesAttributeDefinition ) ( SELECTOR_OPTIONS . getAttribute ( ) ) ) . unwrap ( context , model ) . entrySet ( ) ) { try { injector . inject ( namedDistributedWorkManager . getSelector ( ) , entry . getKey ( ) , entry . getValue ( ) ) ; } catch ( Exception e ) { ROOT_LOGGER . unsupportedSelectorOption ( entry . getKey ( ) ) ; } } } else { namedDistributedWorkManager . setSelector ( new PingTime ( ) ) ; } String jgroupsStack = ( model . hasDefined ( TRANSPORT_JGROPUS_STACK . getAttribute ( ) . getName ( ) ) ) ? TRANSPORT_JGROPUS_STACK . getAttribute ( ) . resolveModelAttribute ( context , model ) . asString ( ) : "udp" ; <START_BUG> String channelName = TRANSPORT_JGROPUS_CHANNEL . getAttribute ( ) . resolveModelAttribute ( context , model ) . asString ( ) ; <END_BUG> Long requestTimeout = TRANSPORT_REQUEST_TIMEOUT . getAttribute ( ) . resolveModelAttribute ( context , model ) . asLong ( ) ; DistributedWorkManagerService wmService = new DistributedWorkManagerService ( namedDistributedWorkManager , channelName , requestTimeout ) ; ServiceBuilder builder = serviceTarget . addService ( WORKMANAGER_SERVICE . append ( name ) , wmService ) ; builder . addDependency ( JBOSS . append ( "jgroups" ) . append ( "stack" ) . append ( jgroupsStack ) , ChannelFactory . class , wmService . getJGroupsChannelFactoryInjector ( ) ) ; builder . addDependency ( OPTIONAL , EXECUTOR . append ( Constants . WORKMANAGER_LONG_RUNNING ) . append ( name ) , Executor . class , wmService . getExecutorLongInjector ( ) ) ; builder . addDependency ( EXECUTOR . append ( Constants . WORKMANAGER_SHORT_RUNNING ) . append ( name ) , Executor . class , wmService . getExecutorShortInjector ( ) ) ; builder . addDependency ( JBOSS_TXN_XA_TERMINATOR , JBossXATerminator . class , wmService . getXaTerminatorInjector ( ) ) . addListener ( verificationHandler ) . setInitialMode ( ACTIVE ) . install ( ) ; } }

Fix:
String channelName = TRANSPORT_JGROPUS_CLUSTER . getAttribute ( ) . resolveModelAttribute ( context , model ) . asString ( ) ;