`
hu437
  • 浏览: 194514 次
  • 性别: Icon_minigender_1
  • 来自: 昆明
社区版块
存档分类
最新评论

运行时判web容器类型及获取web容器相关信息

阅读更多

当项目要运行在多种应用服务器上,由于不同的服务器有某些不同的特性,就需要根据不同的应用服务器做不同的处理

 

Liferay里面提供了一个方法来判断不同的应用服务器,类ServerDetector就是用来判断当前应用是在哪个服务器下面的

 

使用很简单

 

if (ServerDetector.isTomcat()) {
	
}else if (ServerDetector.isWebLogic()) {
}

 

但是如果我们想在运行时获取相应的端口、服务器信息就不太容易了(Tomcat可以直接读取server.xml文件,Weblogic也可以读取config.xml,但是在集群时里面的标签不好判断了)

 

http://www.iteye.com/problems/45571

 

就是上面这位兄弟的问题,在不发生request的情况下获取相应的端口信息,供集群环境下的调度器使用,在网上找了半天没有找到答案,最终在一个外国网站上找到了解答,方法如下:

 

 

ObjectName service = new ObjectName("com.bea:Name=RuntimeService,Type=weblogic.management.mbeanservers.runtime.RuntimeServiceMBean");
InitialContext ctx = new InitialContext();
MBeanServer server = (MBeanServer)ctx.lookup("java:comp/env/jmx/runtime");
ObjectName rt =  (ObjectName)server.getAttribute(service,"ServerRuntime");
System.out.println("Server Name  : "+server.getAttribute(rt,"Name"));
System.out.println("Server Address : "+server.getAttribute(rt,"ListenAddress"));
System.out.println("Server Port : "+server.getAttribute(rt,"ListenPort"));
ctx.close();
1
0
分享到:
评论

相关推荐

    简单迅速的web容器 简单迅速的web容器 简单迅速的web容器

    在IT行业中,Web容器,也称为Web服务器或者应用服务器,是用于运行Web应用程序的重要软件组件。它们为开发者提供了一个环境,使得动态网页内容能够被高效地处理和分发。"简单迅速的web容器"可能指的是一个轻量级、...

    web容器---servlet

    本文将深入探讨Servlet的工作原理、生命周期以及如何在Web容器中部署和运行。 一、Servlet简介 Servlet是Java Servlet API规范中的一个接口,由JavaSoft(现Oracle公司)定义。Servlet主要负责接收和响应来自客户端...

    Spring源代码解析(二):IoC容器在Web容器中的启动.doc

    当我们在Web环境中运行Spring应用时,IoC容器需要在Web容器(如Tomcat、Jetty等)中启动并运行。这个过程涉及到一系列的初始化步骤,确保Spring能够正确地与Web容器集成。 首先,`WebApplicationContext`是`...

    jax-ws基于web容器发布webServer

    "jax-ws基于web容器发布webServer" 这个标题指的是使用Java API for XML Web Services (JAX-WS)技术在Web容器(如Tomcat、Jetty等)中部署和运行Web服务的过程。JAX-WS是Java平台上的标准,用于创建和消费SOAP...

    WEB容器托管OSGi容器(轻量级集成方式)

    标题中的“WEB容器托管OSGi容器(轻量级集成方式)”是指在Web应用程序服务器(如Tomcat、Jetty等)中嵌入OSGi(Open Service Gateway Initiative)框架,实现服务组件的轻量化管理和部署。OSGi是一种动态模块化系统...

    OSGi与Web容器的整合

    这是通过像Equinox的Servlet Bridge这样的技术实现的,它充当了一个桥梁,让OSGi Bundle可以在传统的Web容器中运行。但是,这种方法并不理想,因为它通常较为复杂,而且Web项目本身并没有模块化为OSGi Bundle,因此...

    web容器服务神器apache-tomcat-7.0.42-windows-x86

    Tomcat作为一款轻量级Web容器,提供了一个高效且灵活的环境来运行Java Web应用。 **2. Apache Tomcat 7.0.42** Apache Tomcat 7是Tomcat的一个重要版本,支持Java EE 6规范。这个特定的版本7.0.42包含了对安全性和...

    Jetty web 容器

    **Jetty Web 容器详解** Jetty 是一个开源的、轻量级的 Java Web 应用服务器,它被广泛用于开发、测试和部署Web应用程序。Jetty 的设计目标是小巧、快速、易于集成,使其成为开发人员和小型团队的理想选择。在本文...

    JAVA WEB服务 构建与运行 JAVA WEB服务构建与运行

    部署Java Web服务通常需要一个支持Servlet和JSP(Java Server Pages)的Web容器,如Apache Tomcat、Jetty或者是应用服务器(如JBoss、WebLogic等)。在这些容器中部署Web服务后,服务可通过指定的URL被外部客户端...

    web容器示例程序

    通过这个示例程序,你可以学习到如何在不同的Web容器中部署和运行Java Web应用,理解它们的异同,以及如何优化性能以应对高并发场景。同时,了解项目的基本结构和构建过程,对于提升Java Web开发技能也是非常有益的...

    几种常见的JavaEE Web容器集群技术比较

    在JavaEE应用开发中,Web容器是至关重要的组成部分,它负责管理Servlet、JSP和JavaBean等组件,为应用程序提供运行环境。而当系统需要处理大量并发请求或提高可用性时,Web容器的集群技术就显得尤为重要。本文将对几...

    osgi 在web容器中部署

    在Web容器中部署OSGi应用,特别是像Tomcat这样的流行Servlet容器,可以提高应用的灵活性、可维护性和可扩展性。本文将详细介绍如何使用桥接技术(如Apache Felix的WebConsole或Pax Web)在Tomcat中部署OSGi程序。 ...

    在web容器(WebApplicationContext)中获取spring中的bean

    Spring把Bean放在这个容器中,普通的类在需要的时候,直接用getBean()方法取出

    ioc容器在Web容器中的启动.pdf

    `WebApplicationContext`接口包含了获取Web容器的`ServletContext`的方法,这使得Spring容器能够与Web应用程序的其他部分进行交互。例如,`ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE`常量用于在`ServletContext`中...

    Spring3.1.3 Ioc在Web容器中的建立

    标题 "Spring3.1.3 Ioc在Web容器中的建立" 涉及的是Spring框架的一个关键特性——依赖注入(Dependency Injection,简称DI),以及如何在Web应用环境中配置和使用它。Spring是Java开发中最流行的轻量级框架之一,...

    基于java实现的简易web容器.rar

    在构建Web容器时,你需要处理网络I/O,这通常涉及到Socket编程。Java提供了多种类型的流,如字节流(InputStream和OutputStream)和字符流(Reader和Writer),以及它们的缓冲版本(BufferedInputStream、...

    servlet容器工作原理

    - 当Servlet容器启动时,它会加载配置信息,如`web.xml`,从中获取Servlet的定义。 - Servlet容器为每个定义的Servlet创建一个实例,并调用其`init()`方法进行初始化。在此过程中,Servlet可以进行必要的准备工作...

    jaas资料 基于JAAS和J2EE Web容器的验证与授权

    ### 基于JAAS和J2EE Web容器的验证与授权 #### 一、JAAS概述 Java Authentication and Authorization Service (JAAS) 是 Java 平台提供的一个强大的验证和授权框架,它允许开发者实现安全策略,从而确保应用程序...

Global site tag (gtag.js) - Google Analytics