如何知道适配器在 MobileFirst Development Server 上是否为 运行
How to know if an adapter is running on MobileFirst Development Server
有什么方法可以知道适配器是 运行 在 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);
}
更新:使用 6.3(或更早版本)Studio MoblieFirst 开发服务器时,所有适配器请求都通过开发 servlet。请求 URL 将在其中包含一个 /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
Use IBM® Worklight® vitality queries to run a health check of your
server, and determine the vitality status of your server.
You generally use the IBM Worklight vitality queries from a load
balancer or from a monitoring app (for example, Patrol).
You can run vitality queries for the server as a whole, for a specific
adapter, for a specific app, or for a combination of. The following
table shows some examples of vitality queries.
对于适配器,查询将是:http://<server>:<port>/<publicWorkLightContext>/ws/rest/vitality?app=MyApp&adapter=MyAdapter
用户文档主题包含更多信息和示例。
有什么方法可以知道适配器是 运行 在 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);
}
更新:使用 6.3(或更早版本)Studio MoblieFirst 开发服务器时,所有适配器请求都通过开发 servlet。请求 URL 将在其中包含一个 /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
Use IBM® Worklight® vitality queries to run a health check of your server, and determine the vitality status of your server.
You generally use the IBM Worklight vitality queries from a load balancer or from a monitoring app (for example, Patrol).
You can run vitality queries for the server as a whole, for a specific adapter, for a specific app, or for a combination of. The following table shows some examples of vitality queries.
对于适配器,查询将是:http://<server>:<port>/<publicWorkLightContext>/ws/rest/vitality?app=MyApp&adapter=MyAdapter
用户文档主题包含更多信息和示例。