tomcat - Obtener el nombre de la instancia en ColdFusion 10
coldfusion-10 (3)
Esto debería funcionar:
<cfset inetAddressObj = createObject("java", "java.net.InetAddress") />
<cfset machineName = inetAddressObj.localhost.getCanonicalHostName() />
¿Cómo puedo obtener el nombre de la instancia de ColdFusion ("cfusion", por ejemplo) en ColdFusion 10 ?
Antes de 10 puedes hacerlo usando el objeto jrun java:
<cfobject action="create" type="java" class="jrunx.kernel.JRun" name="jr">
#jr.getServerName()#
Pero como Jrun ha sido reemplazado por Tomcat, necesito encontrar una nueva forma de obtener el nombre de la instancia.
Sé que se puede hacer utilizando la API de administrador, pero eso no funciona para mí debido a problemas de seguridad.
mira en el alcance del servidor. Hay un valor en server.coldfusion.rootdir. En CF10 este es el directorio de la instancia. Entonces, para la instancia "cfusion" en mi Mac, por ejemplo, este valor es / Applications / ColdFusion10 / cfusion. Puede tomar el último namd de directorio en la ruta y ese es el nombre de la instancia. No es exactamente elegante, pero puede conseguirte lo que necesitas.
Hay un componente de "tiempo de ejecución" en la API de administración en CF10. Puede obtener el nombre de la instancia con este fragmento de código:
var runtime = createObject("component", "CFIDE.adminapi.runtime");
instance = runtime.getInstanceName();
Esto debería devolver el mismo valor que getServerName()
utilizado en el componente jrunx.kernel.JRun
.