`

Fuse ESB Enterprise之WAR部署模型

 
阅读更多

1.  Build a WAR

     Modifying an Existing Maven Project

     (1) Package Type: war

<project .>
	...
	<packaging>war</packaging>
	...
</project>

     (2) JDK Compile Version

<project .>
	...
	<build>
		<defaultGoal>install</defaultGoal>
		<plugins>
			...
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.6</source>
					<target>1.6</target>
				</configuration>
			</plugin>
		</plugins>
	</build>
	...
</project>

     (3) Store resources under webapp/WEB-INF

     (4) Customize the Maven WAR plug-in

<project .>
	...
	<build>
		...
		<plugins>
			<plugin>
				<artifactId>maven-war-plugin</artifactId>
				<version>2.1.1</version>
				<configuration>
					<!-- Optionally specify where the web.xml file comes from -->
					<webXml>src/main/webapp/WEB-INF/web.xml</webXml>
					<!-- Optionally specify extra resources to include -->
					<webResources>
						<resource>
							<directory>src/main/resources</directory>
							<targetPath>WEB-INF</targetPath>
							<includes>
								<include>**/*</include>
							</includes>
						</resource>
					</webResources>
				</configuration>
			</plugin>
			...
		</plugins>
	</build>
</project>

     说明:

     webXml: 指明web.xml文件的位置,默认值为:src/main/webapp/WEB-INF/web.xml.

     webResources:指明附加的资源文件将要被打包至生成的JAR文件中的文件,包含下面的子元素:

     (1) webResources/resource: 每个resource元素执行需要打包的一系列资源文件;

     (2) webResources/resource/directory:指定一个目录下的资源文件需要被打包至生成的WAR文件中,该目录是针对于

     pom.xml文件的相对路径;

     (3) webResources/resource/targetPath:指定生成的WAR文件的路径;

     (4) webResources/resource/includes: 使用ANT风格的通配符模式指定需要包含在WAR文件中的资源文件;

     (5) webResources/resource/excludes:使用ANT风格的通配符模式指定不需要包含在WAR文件中的资源文件。

2. Bootstrapping a CXF Servlet in a WAR

    (1)配置CXFServlet:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
	<display-name>cxf</display-name>
	<description>cxf</description>
	<servlet>
		<servlet-name>cxf</servlet-name>
		<display-name>cxf</display-name>
		<description>Apache CXF Endpoint</description>
		<servlet-class>org.apache.cxf.transport.servlet.CXFSer
			vlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>cxf</servlet-name>
		<url-pattern>/services/*</url-pattern>
	</servlet-mapping>
	<session-config>
		<session-timeout>60</session-timeout>
	</session-config>
</web-app>

     (2) 配置Web Service 配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
	...
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>WEB-INF/cxf-servlet.xml</param-value>
	</context-param>
	...
</web-app>

3. Bootstrapping a Spring Context in a WAR

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
	<display-name>Camel Routes</display-name>
	<!-- location of spring xml files -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
			/WEB-INF/applicationContext.xml
		</paramvalue>
	</context-param>
	<!-- the listener that kick-starts Spring -->
	<listener>
		<listener-class>org.springframework.web.context.Con
			textLoaderListener</listener-class>
	</listener>
</web-app>

4. Deploying a WAR

    使用下面的war scheme: war:LocationURL[?Options]

    例如:karaf@root> install war:mvn:org.apache.wicket/wicket-examples/1.4.7/war?Web-ContextPath=wicket

    或者karaf@root> install war:file://wicket-examples-1.4.7.war?Web-ContextPath=wicket

 

    访问:默认的端口号是:8181,例如:http://localhost:8181/wicket

5. Web Container的其他配置请参考:

    http://team.ops4j.org/wiki//display/paxweb/Basic+Configuration

    http://team.ops4j.org/wiki//display/paxweb/SSL+Configuration

    http://team.ops4j.org/wiki//display/paxweb/JSP+Configuration

分享到:
评论

相关推荐

    Fuse ESB 4.3.1使用笔记

    Fuse ESB (Enterprise Service Bus) 4.3.1 是一个强大的企业级服务总线平台,基于Apache Karaf容器构建,用于集成不同的应用程序和服务。它支持多种集成模式和技术栈,包括Camel、CXF等。 #### 二、安装与配置 ###...

    apache-activemq-5.5-fuse-esb.part2

    Apache ActiveMQ是开源的、基于Java消息服务(JMS)的高级消息中间件,而Apache Fuse ESB(Enterprise Service Bus)则是一个灵活的、可扩展的企业级集成平台,它使用了包括ActiveMQ在内的多种组件来提供服务总线...

    apache-activemq-5.5-fuse-esb

    Fuse ESB提供了服务的部署、管理和监控功能,帮助企业构建灵活、可扩展的服务架构。 4. **ESB(Enterprise Service Bus)**:ESB是企业级IT系统之间的中间件,它提供了一种标准的方式来连接、集成和管理各种服务。...

    fuse esb mq jms

    - **集群部署**:为了提高性能和可靠性,可以采用集群的方式部署多个 ActiveMQ 实例。 - **高级特性**:书中还涵盖了如事务管理、虚拟主题等高级主题。 综上所述,Apache ActiveMQ 不仅是一个强大的消息中间件,还...

    spring-microservices-fuse:Spring Boot Microservices + Jboss Fuse ESB示例

    在这个背景下,"spring-microservices-fuse"项目提供了一个整合Spring Boot微服务与Jboss Fuse ESB(Enterprise Service Bus,企业服务总线)的示例,帮助开发者理解和实现微服务架构与ESB的集成。 Spring Boot...

    apache-servicemix-4.4-fuseesb第四部分

    Apache ServiceMix 和 Fuse ESB 是两个紧密相关的开源企业服务总线(ESB)项目,它们在集成、管理和路由企业应用程序间的数据交换方面扮演着重要角色。Apache ServiceMix 是基于 Java 的 ESB,它实现了多种服务导向...

    apache-camel-2.7.1-fuse-00-27

    Fuse ESB的集成则让这些功能更加易于管理和部署在企业环境中。 总结来说,"apache-camel-2.7.1-fuse-00-27"是Apache Camel的一个版本,与Fuse ESB结合提供了强大的企业集成解决方案。它允许开发人员以声明式的方式...

    apacheservicemix4.4fuseesb-part2

    Apache ServiceMix 4.4 和 Fuse ESB 是企业服务总线(Enterprise Service Bus,ESB)的开源实现,它们在IT行业中扮演着重要的角色。Apache ServiceMix 是一个基于 Java 应用服务器,它实现了多种服务导向架构...

    apache-servicemix-4.4-fuseesb第五部分

    本部分主要关注 Apache ServiceMix 的第四个主要版本,即 4.4 版本,以及与之关联的 Fuse ESB 实现。 Apache ServiceMix 是一个基于 Java 的 ESB,它利用了诸如 Apache Camel、Apache CXF、Apache ActiveMQ 等组件...

    fuse:JBoss Fuse是一个开源ESB,在单个集成发行版中具有基于Apache Camel,Apache CXF,Apache ActiveMQ,Apache Karaf和Fabric8的功能。

    JBoss Fuse是一个强大的开源企业服务总线(Enterprise Service Bus,ESB),它将多个关键的开源组件集成到一个单一的、轻量级的容器中,为企业的应用集成提供了灵活且可扩展的解决方案。该产品源自Red Hat公司,其...

    ESB产品选型分析

    介绍了主流商业和开源ESB的发展趋势、可借鉴的地方和其缺点。主要介绍开源的。 ... 2.ServiceMix/FUSE ESB 3.Oracle Service Bus 4.Jboss ESB 4.WebSphere Message Broker 5.Synapse/WSO2 ESB

    浅析主流商业和开源ESB

    对商业、开源企业服务总线产品进行比较: 主要内容: 介绍了主流商业和开源ESB的发展趋势、可借鉴的地方和其缺点。 主要介绍: Oracle Service Bus WebSphere Message ... ServiceMix/FUSE ESB Synapse/WSO2 ESB

    ESB产品说明

    Mule是一款开源的ESB产品,它基于企业集成模式(Enterprise Integration Patterns, EIP),提供了一套完整的解决方案,用于实现复杂的企业级应用集成。Mule的核心优势在于其灵活的消息对象模型——Universal Message...

    浅析主流商业和开源ESB产品

    相比之下,开源ESB如Mule、ServiceMix/FUSE ESB 和 Synapse/WSO2 ESB 提供了更高的自由度和成本效益,但在技术支持和文档完整性方面可能稍逊一筹。企业在选择合适的ESB产品时应综合考虑自身需求和技术背景,做出最...

    Linux-fuse-2.7.4.版本

    Linux FUSE(Filesystem in Userspace)是一种在Linux操作系统中实现自定义文件系统的机制,它允许用户在用户空间创建和管理文件系统,而无需修改内核代码。FUSE的出现极大地降低了开发新文件系统的技术门槛,使得...

    Fuse设计选型详解(个人总结)

    Fuse设计选型是一个关键的工程决策,它涉及到电路保护的效率和安全性。Fuse,即熔断器,是一种用于保护电路免受过电流损害的设备。在本文中,我们将深入探讨Fuse的基础知识,分类,以及选型时的重要参数。 首先,让...

    fuse-2.9.2

    6. **安全性和权限**:FUSE文件系统需要遵循标准的Unix权限模型。了解如何在用户空间中实现这一模型对于确保文件系统的安全性至关重要。 7. **日志和调试**:FUSE提供了日志记录功能,这对于调试和优化文件系统行为...

    浅析主流商业和开源ESB产品.pptx

    介绍了主流商业和开源ESB的发展趋势、可借鉴的地方和其缺点。 主要介绍: Oracle Service Bus WebSphere Message Broker Mule ServiceMix/FUSE ESB Synapse/WSO2 ESB

    fuse-fabric-mq-example:使用 JBoss Fuse 和 Fabric 构建可扩展消息传递解决方案的示例

    Hello Keith 使用 JBoss Fuse ESB、JBoss Fuse MQ 和 Fabric 构建高度可扩展的消息传递解决方案的示例。 该示例将展示如何使用 Fabric 创建多个容器以动态扩展和发现 ESB 内的服务。 该示例将展示如何使用自定义...

    fuse-2.8.0.tar.gz

    FUSE(Filesystem in Userspace)是一个开源的Linux内核模块,它允许普通用户在Linux系统上实现自己的文件系统,而无需对内核代码进行修改。Fuse-2.8.0是该系统的某一版本,发布于2009年,为用户提供了一种灵活的...

Global site tag (gtag.js) - Google Analytics