2323import act .app .App ;
2424import act .app .AppHolderBase ;
2525import act .app .event .AppEventId ;
26+ import act .job .bytecode .JobAnnoInfo ;
2627import act .job .bytecode .ReflectedJobInvoker ;
2728import act .job .meta .JobClassMetaInfo ;
2829import act .job .meta .JobMethodMetaInfo ;
29- import org .osgl .$ ;
3030import org .osgl .logging .LogManager ;
3131import org .osgl .logging .Logger ;
3232import org .osgl .util .E ;
@@ -46,52 +46,44 @@ public JobAnnotationProcessor(App app) {
4646 manager = app .jobManager ();
4747 }
4848
49- public void register (final JobMethodMetaInfo method , final Class <? extends Annotation > anno , final Object v ) {
49+ public void register (final JobMethodMetaInfo method , final Class <? extends Annotation > anno , final JobAnnoInfo info ) {
5050 if (LOGGER .isTraceEnabled ()) {
51- LOGGER .trace ("register job[%s] on anno[%s] with arg[%s]" , method , anno , v );
51+ LOGGER .trace ("register job[%s] on anno[%s] with arg[%s]" , method , anno , info );
5252 }
5353 if (isAbstract (method )) {
5454 app ().jobManager ().on (AppEventId .SINGLETON_PROVISIONED , new Runnable () {
5555 @ Override
5656 public void run () {
5757 List <JobMethodMetaInfo > list = method .extendedJobMethodMetaInfoList (app ());
5858 for (JobMethodMetaInfo subMethodInfo : list ) {
59- register (subMethodInfo , anno , v );
59+ register (subMethodInfo , anno , info );
6060 }
6161 }
6262 });
6363 return ;
6464 }
6565 Job job = createMethodJob (method );
66+ String value = info .value ;
6667 if (Cron .class .isAssignableFrom (anno )) {
67- registerCron (job , evaluateExpression (v . toString () , anno ));
68+ registerCron (job , evaluateExpression (value , anno ));
6869 } else if (AlongWith .class .isAssignableFrom (anno )) {
69- registerAlongWith (job , v . toString () );
70+ registerAlongWith (job , value );
7071 } else if (Every .class .isAssignableFrom (anno )) {
71- registerEvery (job , evaluateExpression (v . toString () , anno ));
72+ registerEvery (job , evaluateExpression (value , anno ));
7273 } else if (FixedDelay .class .isAssignableFrom (anno )) {
73- registerFixedDelay (job , evaluateExpression (v . toString () , anno ));
74+ registerFixedDelay (job , evaluateExpression (value , anno ));
7475 } else if (InvokeAfter .class .isAssignableFrom (anno )) {
75- registerInvokeAfter (job , v . toString () );
76+ registerInvokeAfter (job , value );
7677 } else if (InvokeBefore .class .isAssignableFrom (anno )) {
77- registerInvokeBefore (job , v . toString () );
78+ registerInvokeBefore (job , value );
7879 } else if (OnAppStart .class .isAssignableFrom (anno )) {
79- boolean async = null == v ? false : ( Boolean ) v ;
80+ boolean async = info . async ;
8081 registerOnAppStart (job , async );
8182 } else if (OnAppStop .class .isAssignableFrom (anno )) {
82- boolean async = null == v ? false : ( Boolean ) v ;
83+ boolean async = info . async ;
8384 registerOnAppStop (job , async );
8485 } else if (OnAppEvent .class .isAssignableFrom (anno )) {
85- boolean async = false ;
86- AppEventId appEventId ;
87- if (v instanceof $ .T2 ) {
88- $ .T2 <AppEventId , Boolean > t2 = $ .cast (v );
89- appEventId = t2 ._1 ;
90- async = t2 ._2 ;
91- } else {
92- appEventId = $ .cast (v );
93- }
94- registerOnAppEvent (job , appEventId , async );
86+ registerOnAppEvent (job , info .appEventId , info .async );
9587 } else {
9688 throw E .unsupport ("Unknown job annotation class: %s" , anno .getName ());
9789 }
0 commit comments