`
阿男bluedash
  • 浏览: 167984 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用Snowdrop在JBoss中部署Spring工程

阅读更多
向JBoss中集成Spring一直都是比较令人头疼的事情。针对所有Spring与JBoss集成时的各种问题,JBoss社区推出了一站式解决方案: JBoss Snowdrop[1]。

这个项目共分为三个组件:



分别是:
* Snowdrop Deployers
用于向JBoss中部署用Spring撰写的独立库文件。

* Snowdrop VFS
用于在JBoss中支持Spring标记及类扫描。

* Snowdrop Weaving
用于在JBoss中支持Spring的AspectJ和JPA等特性。

由于Spring 2.5.x的一些设计问题,使其类扫描和标记功能并不支持JBoss AS的虚拟文件系统(VFS)。如果我们的项目中包含这样的Spring组件:

<import resource=”classpath*:META­INF/*.xml”/>


或者是使用了Spring标记,并制定标记扫描:

<context:component­-scan base­-package=”....”/> 


那么当把这样的项目部署至JBoss时,就会遇到下面的错误:

java.util.zip.ZipException: error in opening zip file at java.util.zip.ZipFile.open(Native Method) 


通过使用Snowdrop VFS,我们可以解决这个问题:首先是在项目中添加所需要的snowdrop组件,针对上面的问题,需要添加的为snowdrop-vfs:

<dependency>
  <groupId>org.jboss.snowdrop</groupId>
  <artifactId>snowdrop-vfs</artifactId>
  <version>1.0.1.GA</version>
</dependency> 


需要特别注意的是,如果是在JBoss 5.x中部署Spring项目,那么就需要使用snowdrop 1.x版本,高版本的snowdrop与JBoss 5.x并不兼容。上面的例子中使用的版本是1.0.1.GA。

接下来,把项目中的web.xml的配置进行一下修改,从原来的:

<servlet>
	<servlet-name>springmvc</servlet-name>
	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
	<init-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:springmvc-servlet.xml</param-value>
	</init-param>
</servlet>


变更为:

<servlet>
	<servlet-name>springmvc</servlet-name>
	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
	<init-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:springmvc-servlet.xml</param-value>
	</init-param>
	<init-param>
		<param-name>contextClass</param-name>
		<param-value>org.jboss.spring.vfs.context.VFSXmlWebApplicationContext</param-value>
	</init-param>
</servlet>


这样,就可以将用Spring项目集成部署至JBoss了。有关Snowdrop的更多使用方法,请参考Snowdrop项目文档[2] ,如果在使用方面遇到了问题,可以在Snowdrop的论坛[3]上提问获得解答。

[1] http://www.jboss.org/snowdrop
[2] http://www.jboss.org/snowdrop/documentation.html
[3] http://www.jboss.org/index.html?module=bb&op=viewforum&f=223
  • 大小: 30.6 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics