当项目要运行在多种应用服务器上,由于不同的服务器有某些不同的特性,就需要根据不同的应用服务器做不同的处理
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();
分享到:
相关推荐
在IT行业中,Web容器,也称为Web服务器或者应用服务器,是用于运行Web应用程序的重要软件组件。它们为开发者提供了一个环境,使得动态网页内容能够被高效地处理和分发。"简单迅速的web容器"可能指的是一个轻量级、...
本文将深入探讨Servlet的工作原理、生命周期以及如何在Web容器中部署和运行。 一、Servlet简介 Servlet是Java Servlet API规范中的一个接口,由JavaSoft(现Oracle公司)定义。Servlet主要负责接收和响应来自客户端...
当我们在Web环境中运行Spring应用时,IoC容器需要在Web容器(如Tomcat、Jetty等)中启动并运行。这个过程涉及到一系列的初始化步骤,确保Spring能够正确地与Web容器集成。 首先,`WebApplicationContext`是`...
"jax-ws基于web容器发布webServer" 这个标题指的是使用Java API for XML Web Services (JAX-WS)技术在Web容器(如Tomcat、Jetty等)中部署和运行Web服务的过程。JAX-WS是Java平台上的标准,用于创建和消费SOAP...
标题中的“WEB容器托管OSGi容器(轻量级集成方式)”是指在Web应用程序服务器(如Tomcat、Jetty等)中嵌入OSGi(Open Service Gateway Initiative)框架,实现服务组件的轻量化管理和部署。OSGi是一种动态模块化系统...
这是通过像Equinox的Servlet Bridge这样的技术实现的,它充当了一个桥梁,让OSGi Bundle可以在传统的Web容器中运行。但是,这种方法并不理想,因为它通常较为复杂,而且Web项目本身并没有模块化为OSGi Bundle,因此...
Tomcat作为一款轻量级Web容器,提供了一个高效且灵活的环境来运行Java Web应用。 **2. Apache Tomcat 7.0.42** Apache Tomcat 7是Tomcat的一个重要版本,支持Java EE 6规范。这个特定的版本7.0.42包含了对安全性和...
**Jetty Web 容器详解** Jetty 是一个开源的、轻量级的 Java Web 应用服务器,它被广泛用于开发、测试和部署Web应用程序。Jetty 的设计目标是小巧、快速、易于集成,使其成为开发人员和小型团队的理想选择。在本文...
部署Java Web服务通常需要一个支持Servlet和JSP(Java Server Pages)的Web容器,如Apache Tomcat、Jetty或者是应用服务器(如JBoss、WebLogic等)。在这些容器中部署Web服务后,服务可通过指定的URL被外部客户端...
通过这个示例程序,你可以学习到如何在不同的Web容器中部署和运行Java Web应用,理解它们的异同,以及如何优化性能以应对高并发场景。同时,了解项目的基本结构和构建过程,对于提升Java Web开发技能也是非常有益的...
在JavaEE应用开发中,Web容器是至关重要的组成部分,它负责管理Servlet、JSP和JavaBean等组件,为应用程序提供运行环境。而当系统需要处理大量并发请求或提高可用性时,Web容器的集群技术就显得尤为重要。本文将对几...
在Web容器中部署OSGi应用,特别是像Tomcat这样的流行Servlet容器,可以提高应用的灵活性、可维护性和可扩展性。本文将详细介绍如何使用桥接技术(如Apache Felix的WebConsole或Pax Web)在Tomcat中部署OSGi程序。 ...
Spring把Bean放在这个容器中,普通的类在需要的时候,直接用getBean()方法取出
`WebApplicationContext`接口包含了获取Web容器的`ServletContext`的方法,这使得Spring容器能够与Web应用程序的其他部分进行交互。例如,`ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE`常量用于在`ServletContext`中...
标题 "Spring3.1.3 Ioc在Web容器中的建立" 涉及的是Spring框架的一个关键特性——依赖注入(Dependency Injection,简称DI),以及如何在Web应用环境中配置和使用它。Spring是Java开发中最流行的轻量级框架之一,...
在构建Web容器时,你需要处理网络I/O,这通常涉及到Socket编程。Java提供了多种类型的流,如字节流(InputStream和OutputStream)和字符流(Reader和Writer),以及它们的缓冲版本(BufferedInputStream、...
- 当Servlet容器启动时,它会加载配置信息,如`web.xml`,从中获取Servlet的定义。 - Servlet容器为每个定义的Servlet创建一个实例,并调用其`init()`方法进行初始化。在此过程中,Servlet可以进行必要的准备工作...
### 基于JAAS和J2EE Web容器的验证与授权 #### 一、JAAS概述 Java Authentication and Authorization Service (JAAS) 是 Java 平台提供的一个强大的验证和授权框架,它允许开发者实现安全策略,从而确保应用程序...