我有一个Java Web应用程序,可以将某些内容保存到数据库中,我想知道处理订单的实例。快速google和SO搜索在回答我的问题时并不富有成效:
是否存在环境变量或我的应用程序可用于收集实例编号以保持持久性的内容?
答案 0 :(得分:1)
我认为通过“什么实例”你的意思是你有多个Java应用程序实例,并且你想知道多个实例中的哪些实际上向数据库发出了请求。
Google搜索“Cloud Foundry Instance环境变量”会将我引导至this first result。您可以看到列出的变量之一是CF_INSTANCE_INDEX
。这些文档适用于Pivotal托管的Cloud Foundry服务,我猜OSS文档的搜索引擎优化程度较差,但他们also document this。
请注意,应用程序实例是短暂的。实例#0可能由于多种原因而被终止并重新启动(通常是因为您的应用程序崩溃,或者底层应用程序执行软件/操作系统正在以滚动部署方式升级,因此您的实例将被透明地移动以避免停机),在这种情况下,新实例#0显然是一个完全不同的进程,可能在另一台机器上,在不同的数据中心运行。
答案 1 :(得分:1)
从日志中,您可以看到APP实例
2015-11-13T11:44:42.000+00:00 [App/0] OUT 11:44:42.675 [main] INFO blah blah
2015-11-13T11:45:42.000+00:00 [App/1] OUT 11:45:42.676 [main] INFO blah2
此处App / 0是实例0& App / 1是实例1。
或者如果您想要访问代码中的实例,
注意env var, CF_INSTANCE _ *
例如; CF_INSTANCE_INDEX,CF_INSTANCE_IP,CF_INSTANCE_PORT等