add alarm event listener
refactoring and fix function instruction bug which use same function instance handle difference instructions, also use spring manager instruction related beans