`
strongant
  • 浏览: 64963 次
  • 性别: Icon_minigender_1
  • 来自: IT
社区版块
存档分类
最新评论

不通过request对象,在系统启动后,获取tomcat端口

 
阅读更多
private static String getPortByMBean() {
		String portStr = null;;

		MBeanServer mBeanServer = null;
		ArrayList<MBeanServer> mBeanServers = MBeanServerFactory.findMBeanServer(null);
		if (mBeanServers.size() > 0) {
			mBeanServer = mBeanServers.get(0);
		}
		if (mBeanServer == null) {
			throw new IllegalStateException("没有发现JVM中关联的MBeanServer.");
		}
		Set<ObjectName> objectNames = null;
		try {
			objectNames = mBeanServer.queryNames(new ObjectName("Catalina:type=Connector,*"), null);
		} catch (MalformedObjectNameException e) {
			e.printStackTrace();
		} catch (NullPointerException e) {
			e.printStackTrace();
		}
		if (objectNames == null || objectNames.size() <= 0) {
			throw new IllegalStateException("没有发现JVM中关联的MBeanServer : " + mBeanServer.getDefaultDomain() + " 中的对象名称.");
		}
		try {
			for (ObjectName objectName : objectNames) {
				String protocol = (String) mBeanServer.getAttribute(objectName, "protocol");
				if (protocol.equals("HTTP/1.1")) {
					portStr = String.valueOf(mBeanServer.getAttribute(objectName, "port"));
					break;
				}

			}
		} catch (AttributeNotFoundException e) {
			e.printStackTrace();
		} catch (InstanceNotFoundException e) {
			e.printStackTrace();
		} catch (MBeanException e) {
			e.printStackTrace();
		} catch (ReflectionException e) {
			e.printStackTrace();
		}
		System.out.println("当前tomcat容器端口>>>"+portStr);
		return portStr;
	}

 

分享到:
评论

相关推荐

    Nginx+Tomcat负载均衡

    3.这里只需要修改Nginx的配置,让它通过tomcat来转发,所以我们在这一步只需要在nginx.conf中添加几行代码就行。 如果看不懂 。建议直接拿我替来用。 Copy下面的内容 替换 你的nginx.conf注意黄色端口要改为你的。 ...

    APACHE 2.2.9+TOMCAT6.0.18配置负载均衡

    我们需要在一台机器上跑 4 个不同的 tomcat ,需要修改不同的 tomcat 的关闭口,避免出现端口被占用的情况。在 TomcatA\conf, TomcatB\conf, TomcatC\conf下和 TomcatD\conf下的 server.xml 中找到 server, 将: ...

    Tomcat获取Nginx反向代理的客户端域名

    Nginx反向代理之后,Tomcat应用通过request.getHeader(host)取到的是Nginx的host,并非客户端浏览器地址栏上的真实域名。 例如在某一台服务器上,Tomcat的端口号为8080,Nginx的端口号为80,Nginx反向代理8080端口。...

    Tomcat6.x+IIS6+jk2最新整合

    # 如果tomcat,iis在一台服务器中时,不需要修改配置 # 默认端口8009 [channel.socket:localhost:8009] port=8009 host=localhost # define the worker [ajp13:localhost:8009] channel=channel.socket:localhost:...

    Tomcat6.x+IIS6+jk2 整合

    # 如果tomcat,iis在一台服务器中时,不需要修改配置 # 默认端口8009 [channel.socket:localhost:8009] port=8009 host=localhost # define the worker [ajp13:localhost:8009] channel=channel.socket:localhost:...

    利用nginx反向代理tomcat服务器(非常详细,又不懂的可以m我)

    主要配置是在:D:\nginx-1.5.12\conf目录下的nginx.conf文件做配置 代码如下: #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info...

    jsp全攻略,tomcat技术

    enableLookups 如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名,若为false则不进行DNS查询,而是返回其ip地址 redirectPort 指定服务器正在处理http请求时收到了一个...

    tomcat服务器的Server.xml配置详解.docx

    Connector 的主要功能,是接收连接请求,创建Request和Response对象用于和请求端交换数据;然后分配线程让Engine来处理这个请求,并把产生的Request和...通过配置Connector,可以控制请求Service的协议及端口号。

    超级有影响力霸气的Java面试题大全文档

    当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。 20、abstract class和interface有什么区别? ...

    jsp 考试题 及 答案

    怎样修改tomcat的端口__在Tomcat下打开conf文件夹找到server.xml文件用记事本打开在”8080”&gt;中把8080更改即可_____, 2、 异常的处理,可在该方法的代码段中包含3类代码: try 、 catch 和finally代码块。 3、...

    java 面试题 总结

    当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。 17、abstract class和interface有什么区别? 声明方法...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    1.8.1 Tomcat端口被占用导致不能启动 1.8.2 Eelipse没有创建JSP项 1.9 精彩回顾 第2章 JavaWeb开发必修课 ——JSP语法 2.1 本章学习任务 2.1.1 本章知识体系 2.1.2 实例开发任务 2.2 什么是JSP 2.2.1 JSP简介 2.2.2...

    jsp servlet 入门学习资料-新手一看就懂

    6.7.1 用request对象获取客户端的数据 6.7.2 用response对象向客户端发送信息 6.7.3 其他内置对象 6.8 &lt;jsp:forward&gt; 6.9 使用插件 6.10 使用session对象 6.10.1 会话的概念 6.10.2 session对象可用的方法和...

    jsp从入门到高级编程

    6.7.1 用request对象获取客户端的数据 6.7.2 用response对象向客户端发送信息 6.7.3 其他内置对象 6.8 &lt;jsp:forward&gt; 6.9 使用插件 6.10 使用session对象 6.10.1 会话的概念 6.10.2 session对象可用的方法和...

    JSP高级教程

    6.7.1 用request对象获取客户端的数据 6.7.2 用response对象向客户端发送信息 6.7.3 其他内置对象 6.8 &lt;jsp:forward&gt; 6.9 使用插件 6.10 使用session对象 6.10.1 会话的概念 6.10.2 session对象可用的方法和...

    JSP高级编程

    JSP可以在各种操作系统和各种Web服务器下使用,其代码基本上不需要任何改动就可以使用。本书为了适应大多数读者的情况,使用了Windows操作系统作为例子,具体的试验平台如下: Windows 2000Advanced Server Apachel...

    计算机二级Web程序设计模拟卷(二).doc

    在Servlet中,下列语句可以正确获取PrintWriter对象的是() A.PrintWriterout=request.getWriter(); B.PrintWriterout=request.getPrintWriter(); C.PrintWriterout=response.getWriter(); D.PrintWriterout=response...

    Java-Web程序设计题库(1).doc

    B ) A、getServerName()B、getServerInfo() C、getServletPath()D、getServerPort() 17、能够获取当前页信息并调用页面方法的对象是( B ) A、requestB、page C、PageContextD、session 18、以下操作中,( A )是...

    Loadrunner报错日志

    2、如果方法一操作后没有变化,此时需要去查看服务器操作系统中是否对连接数做了限制,AIX下可以直接vi文件limits修改其中的连接限制数、端口数,还有tcp连接等待时间间隔大小,wiodows类似,只不过windows修改...

    Java-Web程序设计题库(2).doc

    D、addCookie(Cookie cook) 16、下面哪个方法不属于request对象( B ) A、getServerName() B、getServerInfo() C、getServletPath() D、getServerPort() 17、能够获取当前页信息并调用页面...

Global site tag (gtag.js) - Google Analytics