使用Snowdrop在JBoss中部署Spring工程

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

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

[img]http://dl.iteye.com/upload/attachment/602854/28261e5c-56bc-3442-8892-91aa331918e6.jpg[/img]

分别是:
* 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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值