如何在集群中获得处理本次请求的web容器的端口号?

系统四台机器,每台机器部署四个Tomcat Web容器。现需要根据端口号随机切换到映射的数据源,若一台机器一个Tomcat则用IP识别,可现在一台机器四个Tomcat,因此还需要获得Web容器的端口号。
那么:在Web服务器集群中,一个Spring任务该如何获取Web容器的端口号呢?
设置需要的Key,本系统使用Tomcat Web服务器,操作如下。
编辑文件${tomact-dir}/bin/catalina.bat,添加以下内容即可:

set JAVA_OPTS=-D<key>="<value>",如:set JAVA_OPTS=-Dreyo.localPort="3400"

然后在程序System.getProperty("reyo.localPort")即可获取处理该次请求的Tomcat端口号。

 1 import java.net.InetAddress;
 2 import java.net.UnknownHostException;
 3
 4 public class SystemProperties {
 5
 6     public static InetAddress getInetAddress() {
 7         try {
 8             return InetAddress.getLocalHost();
 9         } catch (UnknownHostException e) {
10             System.out.println("unknown host!");
11         }
12         return null;
13     }
14
15     public static String getHostIp(InetAddress netAddress) {
16         if (null == netAddress) {
17             return null;
18         }
19         String ip = netAddress.getHostAddress(); // get the ip address
20         return ip;
21     }
22
23     public static String getHostName(InetAddress netAddress) {
24         if (null == netAddress) {
25             return null;
26         }
27         String name = netAddress.getHostName(); // get the host address
28         return name;
29     }
30
31     public static String getPort(){
32         return System.getProperty("reyo.localPort");
33     }
34
35     public static void main(String[] args) {
36         InetAddress netAddress = getInetAddress();
37         System.out.println("host ip:" + getHostIp(netAddress));
38         System.out.println("host name:" + getHostName(netAddress));
39         System.out.println("port:" + getPort());
40         try {
41             InetAddress netAddressa = InetAddress.getLocalHost();
42             String hostAddress = netAddressa.getHostAddress();
43             System.out.println(hostAddress);
44         } catch (UnknownHostException e) {
45             logger.error("位置主机!!!", e);
46         }
47     }
48
49 }

参考资料:

集群: 如何在spring 任务中 获得集群中的一个web 容器的端口号?

Done

时间: 2024-12-09 21:58:31

如何在集群中获得处理本次请求的web容器的端口号?的相关文章

Hadoop学习笔记—13.分布式集群中的动态添加与下架

开篇:在本笔记系列的第一篇中,我们介绍了如何搭建伪分布与分布模式的Hadoop集群.现在,我们来了解一下在一个Hadoop分布式集群中,如何动态(不关机且正在运行的情况下)地添加一个Hadoop节点与下架一个Hadoop节点. 一.实验环境结构 本次试验,我们构建的集群是一个主节点,三个从节点的结构,其中三个从节点的性能配置各不相同,这里我们主要在虚拟机中的内存设置这三个从节点分别为:512MB.512MB与256MB.首先,我们暂时只设置两个从节点,另外一个作为动态添加节点的时候使用.主节点与

Hadoop学习笔记—13.分布式集群中节点的动态添加与下架

开篇:在本笔记系列的第一篇中,我们介绍了如何搭建伪分布与分布模式的Hadoop集群.现在,我们来了解一下在一个Hadoop分布式集群中,如何动态(不关机且正在运行的情况下)地添加一个Hadoop节点与下架一个Hadoop节点. 一.实验环境结构 本次试验,我们构建的集群是一个主节点,三个从节点的结构,其中三个从节点的性能配置各不相同,这里我们主要在虚拟机中的内存设置这三个从节点分别为:512MB.512MB与256MB.首先,我们暂时只设置两个从节点,另外一个作为动态添加节点的时候使用.主节点与

浪潮服务器向集群中添加esxi主机

软件环境:esxi6.0  vcenter6.0 硬件:浪潮服务器 hba卡 浪潮存储 博科san 要求:向目前集群中添加一台esxi主机 步骤:安装esxi6.0,配置bmc和网卡,光纤连接hba卡,注意:光纤方向,hba中发光的接到san不发光的口. 配置san交换机 配置浪潮存储 esxi中识别存储添加OK!

同一个Docker swarm集群中部署多版本的测试环境

先介绍下用到的技术 Docker swarm: Docker官方的集群管理工具,相比kubernetes更加简单,容易入门.https://docs.docker.com/engine/swarm/ Traefik: 一个现代化的反向代理工具,原生支持Docker swarm模式,可以实现swarm的动态代理.https://docs.traefik.io/user-guide/swarm-mode/ 下图展示主要的思路: 在Docker swarm中创建某个测试版本service时,通过设置s

运维之我的docker-swarm集群中删除节点和服务

删除swam节点 如果有的确实想要从swarm集群中删除,你应该先把这个节点容器排空,然后再把节点从集群中去掉. 排空节点(其实就是把这个节点上的容器先从其它节点启动,再停掉排空节点上的容器,保证你定义服务的预先状态不受影响) docker node update --availability drain g36lvv23ypjd8v7ovlst2n3yt 删除指定节点 docker node rm  node9 docker node rm --force node9 删除服务 删除服务以后容

LVS集群中的IP负载均衡技术

章文嵩 ([email protected]) 转自LVS官方参考资料 2002 年 4 月 本文在分析服务器集群实现虚拟网络服务的相关技术上,详细描述了LVS集群中实现的三种IP负载均衡技术(VS/NAT.VS/TUN和VS/DR)的工作原理,以及它们的优缺点. 1.前言在 前面文章中,讲述了可伸缩网络服务的几种结构,它们都需要一个前端的负载调度器(或者多个进行主从备份).我们先分析实现虚拟网络服务的主要技术,指出 IP负载均衡技术是在负载调度器的实现技术中效率最高的.在已有的IP负载均衡技术

CDH集群中YARN的参数配置

前言:Hadoop 2.0之后,原先的MapReduce不在是简单的离线批处理MR任务的框架,升级为MapReduceV2(Yarn)版本,也就是把资源调度和任务分发两块分离开来.而在最新的CDH版本中,同时集成了MapReduceV1和MapReduceV2(Yarn)两个版本,如果集群中需要使用Yarn做统一的资源调度,建议使用Yarn. CDH对Yarn的部分参数做了少了修改,并且添加了相关的中文说明,本文着重介绍了CDH中相比 MapReduceV1一些参数改动的配置. 一.CPU配置

关于WEB集群中文件服务器的讨论

原文地址: http://blog.itpub.net/29806344/viewspace-1364778/ 在WEB集群中一般都要上传和删除图片.小规模的时候,图片放在本地,再通过同步方式来保持一致. 常见的文件服务器:samba+web,ftp+web,nfs+web,rsync单向同步,分布式存储 samba+web,ftp+web这2种需要改程序代码,用的不多:rsync单向同步在小环境中用:nfs+web在中型环境用的最多:大型环境,海量文件用的是分布式存储,比如hadoop等. 一

分布式集群中,设定时间同步服务器

一:时间同步 1.时间同步 集群中必须有一个统一的时间 如果是内网,需要在集群里找一台服务器:时间服务器 2.查包 看服务包是否安装好 ntpdate-4.2.4p8-3.el6.centos.x86_64 :时间同步某台服务器 ntp-4.2.4p8-3.el6.centos.x86_64 :作为时间服务器 3.查看服务 4.修改配置 5.修改的内容 6.重启服务 7.指定计划任务 8.具体内容 在root下执行. 查看计划任务: 9.执行命令(第二台虚拟机和第三台虚拟机) 10.BIOS与系