java restful_Java EE中的RESTful计时器
生活随笔
收集整理的這篇文章主要介紹了
java restful_Java EE中的RESTful计时器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
java restful
在這篇文章中...。
- EJB計時器旋風之旅
- 通過帶有示例實現的簡單REST接口即時使用EJB計時器
更新(2015年7月14日)
該應用程序的前端現在可以在OpenShift上使用 。 由于我是前端新手,因此我在其他來源的幫助下組裝了此HTML5 + AngularJS應用程序:)因此,它可能有些笨拙。 在我嘗試改善此問題的同時,請多包涵!
在用戶界面中,您可以:
- 查看所有活動計時器
- 創建一個計時器
- 取消計時器
更新(2015年7月14日)
如果您需要自動創建計時器,則EJB @Schedule注釋會派上用場。 可以使用類似cron的表達式來配??置適當的時間表。 如果您需要更多的靈活性,可以使用舊的TimerService來作為一種魅力。
快速背景
- 在EJB 2.1中引入了TimerService接口[是的.. J2EE天! ;-)]
- 用于以編程方式創建Timer對象
- 用于與TimedObject接口[EJB 3.0之前的版本]的實現配合使用,以用作計時器觸發器的回調
- 從EJB 3.0開始, @ Timeout批注用于標記(無狀態/單例/消息驅動)Bean中的方法,以充當EBJ容器中的計時器回調的接收者。
- EJB 3.1中引入了ScheduleExpression ,使事情得到了進一步的改善,它允許細粒度的計時器調度–這與@Schedule在程序上等效
EJB Timer相關組件(快速參考)
- @時間表
- @時間表
- 計時器服務
- 計時器
- 定時對象
- @超時
- 計時器句柄
- ScheduleExpression
RESTful計時器
可以輕松地公開一個簡單的RESTful接口,以與EJB Timers一起使用。 創建計時器,獲取計時器詳細信息以及取消計時器等操作可以即時執行。
這個Github項目提供了一個簡單的實現。 這是一個基于Netbeans的簡單Java EE 7 Maven項目。 您應該能夠輕松進行設置。
這是要點
- POST請求以計劃計時器(代表計劃配置的JSON / XML有效負載) @POST @Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) public Response schedule(@HeaderParam("name") final String timerName, final ScheduleConfiguration config) {auditScheduler.schedule(from(config), new TimerConfig(timerName, config.isPersistent()));return Response.created(UriBuilder.fromResource(AuditSchedulerResource.class).path(timerName).build(timerName)).build(); }
- 獲取所有活動計時器及其各自的詳細信息(JSON / XML表示形式) @GET @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) public Response getAllTimers() {List<String> ejbTimers = auditScheduler.getAllTimers();List<ScheduledTimerInfo> timers = ejbTimers.stream().map((id) -> auditScheduler.getTimerInfo(id)).collect(Collectors.toList());GenericEntity<List<ScheduledTimerInfo>> entities = new GenericEntity<List<ScheduledTimerInfo>>(timers) {};return Response.ok(entities).build(); }
- 獲取特定計時器的信息(JSON / XML表示形式) @GET @Path("{id}") @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) public Response getTimerInfo(@PathParam("id") String name) {ScheduledTimerInfo info = auditScheduler.getTimerInfo(name);return Response.ok(info).build(); }
- 刪除(取消)現有計時器 @DELETE @Path("{id}") public void cancel(@PathParam("id") String name) {auditScheduler.cancel(name); }
- 使用帶有JAXB注釋的POJO表示調度程序配置和詳細信息
- 利用Java EE 7中的默認JSON支持
WADL應該講故事:
干杯!
翻譯自: https://www.javacodegeeks.com/2015/07/restful-timers-in-java-ee.html
java restful
總結
以上是生活随笔為你收集整理的java restful_Java EE中的RESTful计时器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为智慧屏和电视有什么区别(华为智慧屏电
- 下一篇: java高级教程_高级Java教程