1

有什么方法可以知道适配器是在 MobileFirst Development Server 中运行还是已部署到完整的服务器?

- 更新 -

具体来说,我想从适配器的代码本身中找出适配器是在开发人员的机器中执行还是在 WAS/Tomcat/non-development 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);
}
4

1 回答 1

2

更新:使用 6.3(或更早版本)的 Studio MoblieFirst Development Server 时,所有适配器请求都通过一个开发 servlet。请求 URL 将包含一个/dev/http://serverIp:10080/my-project-name/dev/invoke?adapter=my-adapter-name&procedure=my-procedure-name。请参阅此处:MobileFirst Server 生产服务器的端点

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


请参阅以下用户文档主题:用于检查服务器运行状况的活力查询

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

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

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

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

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

于 2015-03-12T19:21:24.417 回答