Buggy code:
private static final SimpleAttributeDefinition HOUR = new org . jboss . as . controller . SimpleAttributeDefinitionBuilder ( "hour" , org . jboss . dmr . ModelType . STRING , true ) . setStorageRuntime ( ) . build ( ) ; private static final SimpleAttributeDefinition MINUTE = new org . jboss . as . controller . SimpleAttributeDefinitionBuilder ( "minute" , org . jboss . dmr . ModelType . STRING , true ) . setStorageRuntime ( ) . build ( ) ; private static final SimpleAttributeDefinition SECOND = new org . jboss . as . controller . SimpleAttributeDefinitionBuilder ( "second" , org . jboss . dmr . ModelType . STRING , true ) . setStorageRuntime ( ) . build ( ) ; private static final SimpleAttributeDefinition MONTH = new org . jboss . as . controller . SimpleAttributeDefinitionBuilder ( "month" , org . jboss . dmr . ModelType . STRING , true ) . setStorageRuntime ( ) . build ( ) ; private static final SimpleAttributeDefinition YEAR = new org . jboss . as . controller . SimpleAttributeDefinitionBuilder ( "year" , org . jboss . dmr . ModelType . STRING , true ) . setStorageRuntime ( ) . build ( ) ; private static final SimpleAttributeDefinition TIMEZONE = new org . jboss . as . controller . SimpleAttributeDefinitionBuilder ( "timezone" , org . jboss . dmr . ModelType . STRING , true ) . setStorageRuntime ( ) . build ( ) ; private static final SimpleAttributeDefinition START = new org . jboss . as . controller . SimpleAttributeDefinitionBuilder ( "start" , org . jboss . dmr . ModelType . LONG , true ) . setStorageRuntime ( ) . build ( ) ; private static final SimpleAttributeDefinition END = new org . jboss . as . controller . SimpleAttributeDefinitionBuilder ( "end" , org . jboss . dmr . ModelType . LONG , true ) . setStorageRuntime ( ) . build ( ) ; public static final ObjectListAttributeDefinition SCHEDULE = Builder . of ( "schedule" , ObjectTypeAttributeDefinition . Builder . of ( "schedule" , TimerResourceDefinition . YEAR , TimerResourceDefinition . MONTH , TimerResourceDefinition . DAY_OF_MONTH , TimerResourceDefinition . DAY_OF_WEEK , TimerResourceDefinition . HOUR , TimerResourceDefinition . MINUTE , TimerResourceDefinition . SECOND , TimerResourceDefinition . TIMEZONE , TimerResourceDefinition . START , TimerResourceDefinition . END ) . build ( ) ) . build ( ) ; private static final SimpleAttributeDefinition INFO = new org . jboss . as . controller . SimpleAttributeDefinitionBuilder ( "info" , org . jboss . dmr . ModelType . STRING , true ) . setStorageRuntime ( ) . build ( ) ; private static final SimpleAttributeDefinition PRIMARY_KEY = new org . jboss . as . controller . SimpleAttributeDefinitionBuilder ( "primary-key" , org . jboss . dmr . ModelType . STRING , true ) . setStorageRuntime ( ) . build ( ) ; private static final OperationDefinition SUSPEND = new org . jboss . as . controller . SimpleOperationDefinitionBuilder ( "suspend" , TimerResourceDefinition . RESOURCE_DESCRIPTION_RESOLVER ) . withFlag ( RUNTIME_ONLY ) . build ( ) ; private static final OperationDefinition ACTIVATE = new org . jboss . as . controller . SimpleOperationDefinitionBuilder ( "activate" , TimerResourceDefinition . RESOURCE_DESCRIPTION_RESOLVER ) . withFlag ( RUNTIME_ONLY ) . build ( ) ; private static final OperationDefinition CANCEL = new org . jboss . as . controller . SimpleOperationDefinitionBuilder ( "cancel" , TimerResourceDefinition . RESOURCE_DESCRIPTION_RESOLVER ) . withFlag ( RUNTIME_ONLY ) . build ( ) ; private static final OperationDefinition TRIGGER = new org . jboss . as . controller . SimpleOperationDefinitionBuilder ( "trigger" , TimerResourceDefinition . RESOURCE_DESCRIPTION_RESOLVER ) . withFlag ( RUNTIME_ONLY ) . build ( ) ; private final AbstractEJBComponentRuntimeHandler < T > parentHandler ; TimerResourceDefinition ( AbstractEJBComponentRuntimeHandler < T > parentHandler ) { } @ Override public void registerChildren ( ManagementResourceRegistration resourceRegistration ) { } @ Override public void registerOperations ( ManagementResourceRegistration resourceRegistration ) { super . registerOperations ( resourceRegistration ) ; resourceRegistration . registerOperationHandler ( TimerResourceDefinition . SUSPEND , new AbstractTimerHandler ( ) { @ Override void executeRuntime ( OperationContext context , ModelNode operation ) throws OperationFailedException { final TimerImpl timer = getTimer ( context , operation ) ; timer . suspend ( ) ; context . completeStep ( new OperationContext . RollbackHandler ( ) { @ Override public void handleRollback ( OperationContext context , ModelNode operation ) { timer . scheduleTimeout ( true ) ; } } ) ; } } ) ; resourceRegistration . registerOperationHandler ( TimerResourceDefinition . ACTIVATE , new AbstractTimerHandler ( ) { @ Override void executeRuntime ( OperationContext context , ModelNode operation ) throws OperationFailedException { final TimerImpl timer = getTimer ( context , operation ) ; if ( ! ( timer . isActive ( ) ) ) { timer . scheduleTimeout ( true ) ; context . completeStep ( new OperationContext . RollbackHandler ( ) { @ Override public void handleRollback ( OperationContext context , ModelNode operation ) { timer . suspend ( ) ; } } ) ; } else { <START_BUG> throw ROOT_LOGGER . timerIsActive ( timer . getId ( ) ) ; <END_BUG> } } } ) ; resourceRegistration . registerOperationHandler ( TimerResourceDefinition . CANCEL , new AbstractTimerHandler ( ) { @ Override void executeRuntime ( OperationContext context , ModelNode operation ) throws OperationFailedException { final TimerImpl timer = getTimer ( context , operation ) ; timer . cancel ( ) ; context . completeStep ( NOOP_ROLLBACK_HANDLER ) ; } } ) ; resourceRegistration . registerOperationHandler ( TimerResourceDefinition . TRIGGER , new AbstractTimerHandler ( ) { @ Override void executeRuntime ( OperationContext context , ModelNode operation ) throws OperationFailedException { final TimerImpl timer = getTimer ( context , operation ) ; timer . invoke ( ) ; context . completeStep ( NOOP_ROLLBACK_HANDLER ) ; } } ) ; } @ Override public void registerAttributes ( ManagementResourceRegistration resourceRegistration ) { }

Fix:
throw ROOT_LOGGER . timerIsActive ( timer ) ;