[ 
https://issues.apache.org/jira/browse/GRIFFIN-200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16629642#comment-16629642
 ] 

William Guo commented on GRIFFIN-200:
-------------------------------------

Agree with griffin users do need to integrate with griffin jobs.
but what kind of integration model should we use, we should think twice.

One proposal is spring integration model.

One disadvantage of run time class loader reflection is that 
there will be some compile time dependencies between griffin and customers 
logic, 
which might inject some griffin agreements into customer's code, not acceptable 
for them.



> Lifecycle hooks support
> -----------------------
>
>                 Key: GRIFFIN-200
>                 URL: https://issues.apache.org/jira/browse/GRIFFIN-200
>             Project: Griffin (Incubating)
>          Issue Type: New Feature
>            Reporter: Nikolay Sokolov
>            Assignee: William Guo
>            Priority: Minor
>
> In some environments, users might want to perform certain actions 
> before/after job is created, before/after job is activated, before/after job 
> is deleted, and so on.
> To fullfill that need, some hook plugin mechanism can be provided, similar to 
> what Hive is doing. User would place respective jar files into Service module 
> classpath at deployment time, and would specify class names using some 
> annotation or using property listing class names (particular mechanism is yet 
> to be determined).
> Proposed signature:
> {code:none}
> public interface JobLifecycleHook {
>     void beforeAddJob(AbstractJob js) throws Exception;
>     void afterAddJob(AbstractJob js) throws Exception;
>     void beforeOnAction(AbstractJob job, String action) throws Exception;
>     void afterOnAction(AbstractJob job, String action) throws Exception;
>     void beforeDeleteJob(AbstractJob job) throws Exception;
>     void afterDeleteJob(AbstractJob job) throws Exception;
> }
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to