如何在群集服务器环境中引用Coldfusion实例

时间:2015-05-18 17:28:44

标签: coldfusion instance

如果服务器上有多个Coldfusion实例,则在群集服务器环境中,您如何引用它?例如,如果我们有多个服务器,并且我们想要找出我们使用Web调用的服务器,我们可以使用#CGI.Server_Name#,它将提供我们正在服务的服务器的IP地址。我要问的是我们如何在给定服务器上分辨出我们所处的Coldfusion实例。

1 个答案:

答案 0 :(得分:2)

我使用的两种方法是在响应中包含HTTP标头,或者输出服务器名称的HTML注释,以便您可以使用调试工具查看它。

不,关于实例的具体问题,您还没有说过您正在使用的CF引擎,所以我不能保证此代码适用于所有版本,但这是我过去在基于JRun的Adobe ColdFusion版本中使用的:

instanceName = createObject("java", "jrunx.kernel.JRun").getServerName();

这个shuold适用于较新的,基于Tomcat的CF版本(10 +)

instanceName = createobject("component","CFIDE.adminapi.runtime").getinstancename();

这是我在Railo / Lucee上使用的

instanceName = getRailoId().server.id;
instanceName = getLuceeId().server.id;

要作为注释输出,请在布局顶部添加类似的内容。注意,这只能用于返回HTML的响应,而不是JS。例如。

<!-- CF Instance: #instanceName# -->

或者像这样添加HTTP标头:

<cfheader name="CF-Instance" value="#instanceName#">