JHipster:长期运行的REST服务

时间:2017-12-18 12:42:49

标签: jhipster

我使用JHipster创建了一个微服务应用程序。我的一个微服务有一个REST API,需要很长时间才能将资源返回给角度客户端。因此,角度客户端不会等待响应并且什么也不做。

是否有一个属性可以设置在角度侧或服务器端以增加超时,以便前端"实体" $ resource调用等待后端REST服务返回数据?

更新以提供其他信息: 在我的REST方法中,我注释掉了从数据库中获取数据的实际DB调用。我添加了5秒的睡眠,然后将虚拟物体发送回角度前端。如果睡眠<= 4秒,那么我在前端接收虚拟数据。如果它超过4秒,那么前端只是没有收到任何东西(或者不等待REST响应)......

不确定是否有任何设置告诉angular等待REST服务无论如何响应...... ??

这是我的REST方法......

@GetMapping("/history-report-mms")
@Timed
public List<HashMap<String, Object>> getAllHistoryReportMMS() {
    log.debug("REST request to get all HistoryReportMMS");
    try {
        Thread.sleep(4000);
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    List<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
    HashMap<String, Object> map = new HashMap<String, Object>();
    map.put("foo", "bar");
    list.add(map);        
    return list;
    //return historyReportMMSService.findAll();
}

这是我的前端代码......

(function(){     &#39;使用严格的&#39;;

angular
    .module('mmsFrontEndGatewayApp')
    .controller('HistoryReportMMSController', HistoryReportMMSController);

HistoryReportMMSController.$inject = ['HistoryReportMMS', 'HistoryReportMMSSearch'];

function HistoryReportMMSController(HistoryReportMMS, HistoryReportMMSSearch) {

    var vm = this;

    vm.historyReportMMS = [];
    vm.clear = clear;
    vm.search = search;
    vm.loadAll = loadAll;

    loadAll();

    function loadAll() {
        HistoryReportMMS.query(function(result) {
            vm.historyReportMMS = result;
            vm.searchQuery = null;
        });
    }

    function search() {
        if (!vm.searchQuery) {
            return vm.loadAll();
        }
        HistoryReportMMSSearch.query({query: vm.searchQuery}, function(result) {
            vm.historyReportMMS = result;
            vm.currentSearch = vm.searchQuery;
        });
    }

    function clear() {
        vm.searchQuery = null;
        loadAll();
    }    }})();

0 个答案:

没有答案