2014-10-30 27 views
0

到目前爲止,我一直在研究一個java web應用程序,它使用像應用程序容器一樣的spring和像構建工具一樣的maven。現在我正在設計一個新的圖層批次,它應該從Web應用程序提取一些耗時的方法到批次圖層。問題是,直到批處理層和調度程序未準備好時,我必須允許從Web應用程序調用這些重寫的過程。爲web應用程序打包批處理

我的想法是,開始在一個單獨的項目(使用jar包裝)寫一些批處理,並添加它像我的web應用程序的依賴項。

例如我的web應用程序的POM將是:

..... 
<dependencies> 

    .... 
    <dependency> 
     <groupId>com.myCompany</groupId> 
     <artifactId>MyBatchProject</artifactId> 
     <version>1.0.0</version> 
    </dependency> 
    .... 
</dependencies> 
..... 

我批項目將包含作業1,作業2 ECC和從我的web應用程序,我將有:

@Controller 
    public class JobLauncherController { 

    @Autowired 
    JobLauncher jobLauncher; 

    @Autowired 
    Job job; 

    @RequestMapping("/jobLauncher.html") 
    public void handle() throws Exception{ 
     jobLauncher.run(job, new JobParameters()); 
    } 
} 

你能給我一些關於這個的建議?對我的問題來說,這可能是一個好策略嗎?

回答

0

你所描述的對我來說很有意義。實際上,我們已經使用Spring Batch Admin(http://docs.spring.io/spring-batch-admin/)爲您完成了這個任務。 Spring Batch Admin是一個通過Web應用程序啓動作業的框架。它目前提供了一個用戶界面以及一系列REST端點,您可以調用它們來啓動您的工作。它也可嵌入到現有的Web應用程序中。