[ 
https://issues.apache.org/jira/browse/ISIS-1960?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andi Huber updated ISIS-1960:
-----------------------------
    Fix Version/s:     (was: 2.0.0-M2)
                   2.0.0

> Action background execution: provide built-in default implementation
> --------------------------------------------------------------------
>
>                 Key: ISIS-1960
>                 URL: https://issues.apache.org/jira/browse/ISIS-1960
>             Project: Isis
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Andi Huber
>            Assignee: Andi Huber
>            Priority: Major
>             Fix For: 2.0.0
>
>
> We want this code to run out-of the box (without the need for developers to 
> provide their own implementation of *BackgroundCommandService*) ...
> {code:java}
> @Inject BackgroundService backgroundService;
> @Inject RepositoryService repositoryService;
> @Inject MessageService messageService;
> @Action
> public SimpleObject runInBackground(){
>     backgroundService.execute(this).backgroundTask();
>     return this;
> }
>     
> @Programmatic
> public void backgroundTask(){
>     messageService.informUser("backgroundTask started");      
>     try {
>         Thread.sleep(8000); // wait 8s
>     } catch (InterruptedException e) {
>         e.printStackTrace();
>     } 
>       
>     val dummy = new SimpleObject();
>     dummy.setName("Dummy");
>       
>     repositoryService.persist(dummy);
>       
>     messageService.informUser("backgroundTask finished");     
> }
> {code}
> We solve this using a default ExecutorService to run Action invocations in 
> the background.



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

Reply via email to