如何知道适配器是否在MobileFirst Development Server上运行

时间:2015-03-12 19:16:31

标签: ibm-mobilefirst mobilefirst-adapters mobilefirst-server

有没有办法知道适配器是否在MobileFirst Development Server中运行,或者它是否已部署到完整服务器?

- 更新 -

具体来说,我想从适配器的代码本身找出,如果适配器是在开发人员的机器上执行的,或者是在WAS / Tomcat /非开发Liberty Profile中执行

我想知道这一点,以便能够保留一些用于测试的无保护的适配器程序;这个测试程序看起来与此类似

function testThisAdapter() {
    if (isDevelopmentServer()) {
        return doMyTestStuff();
    } else {
        return {isSuccess: false, errors: ['nice try']};
    }
}

- 更新 -

我正在使用Idan的回答

function isDevelopmentServer() {
    var clientRequest = WL.Server.getClientRequest();
    var url = clientRequest.getRequestURI();
    var pattern = /\/dev\/invoke/;
    return pattern.test(url);
}

1 个答案:

答案 0 :(得分:2)

更新:使用6.3(或更早版本)Studio MoblieFirst Development Server时,所有适配器请求都通过开发servlet。请求网址中包含 / dev / http://serverIp:10080/my-project-name/dev/invoke?adapter=my-adapter-name&procedure=my-procedure-name。见这里:Endpoints of the MobileFirst Server production server

这是我所知道的唯一区分因素。我不确定您是否可以在适配器代码中使用它。也许在客户端,如果您以某种方式设法检索此URL或验证其存在,那么您可以为该应用程序设计适当的逻辑。


请参阅以下用户文档主题:Vitality queries for checking server health

  

使用IBM®Worklight®活力查询来运行您的健康状况检查   服务器,并确定服务器的活力状态。

     

您通常使用来自负载的IBM Worklight活力查询   平衡器或来自监控应用程序(例如Patrol)。

     

对于特定的服务器,您可以为整个服务器运行活力查询   适配器,特定应用程序或组合。下列   表格显示了一些活力查询的例子。

对于适配器,查询将为:http://<server>:<port>/<publicWorkLightContext>/ws/rest/vitality?app=MyApp&adapter=MyAdapter

用户文档主题包含更多信息和示例。