Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1407808
  • 博文数量: 247
  • 博客积分: 10147
  • 博客等级: 上将
  • 技术积分: 2776
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-24 15:18
文章分类

全部博文(247)

文章存档

2013年(11)

2012年(3)

2011年(20)

2010年(35)

2009年(91)

2008年(87)

我的朋友

分类: Java

2008-10-16 10:51:02

Resin是一款功能非常强大的Web Server,在我们的日常开发中经常应用到,但是其负责的配置却有点让人迷糊。希望这个介绍能给大家一个简单的了解。
    Resin的标准配置中标准的四个文件:resin.conf,app-default.xml,web.xml和resin-web.xml,这些文件是Resin的核心配置文件,让我们看看这些文件之间的关系。

    在resin.conf文件得“resin->server”元素下,我们导入了app-default.xml文件,在app-default.xml文件的“web-app-default”元素下我们导入了web.xml和resin-web.xml文件。





    通过以上的图示,我们可以了解这四个文件的层次关系,Resin也是依据这些层次关系加载这些文件。Resin的配置选项特别多,如果你看一下reson.conf文件你一定会被其众多的xml元素搞的不知所措。简单地说,Resin的配置选项可以分为三类:global(全局),default(缺省)和special(特定)。

全局:这些选项通常是唯一的,我们只需设置一次即可。如线程池、日志格式等。

缺省:当某一选项在多个地方出现时,我们需要设置这个选项的缺省行为。如缺省主机设置,缺省web应用设置等。

特定:设置一个选项的在特定地方的特定行为,即在缺省的行为上作一些修改。如设置某主机的特定参数,为某Web应用配置单独的数据库连接池等。

理解了这三种配置选项类型,再回头来看resin.conf文件,你的思路就会清晰多啦。

     下面我们看看resin-web.xml和web.xml文件之间的区别。这两个文件如果在Resin下你可以合而为一,Resin完全能识别,最好还是分开。Web.xml的内容应该是符合J2EE规范内容,不应该包含任何容器特定的东西;而resin-web.xml则包含容器相关的内容,如提供数据库连接池服务、设置resin相关的资源服务、JMX、IoC等,这和EJB的形式完全一样,ejb-jar.xml是标准,各个应用又有自己特定规范文件,如jboss.xml、weblogic.xml等等,这样做的目的很明显,方便移植。Tomcat同样也这么做,如我们经常编写一个特定的xml(和webapp名称相同),包含一些资源的声明(数据库连接池),放在%TOMCAT_HOME%\conf\Catalina\localhost目录下,做法和目的都是一样的。

    我们讲述了这些标准的配置文件,其实Resin允许你将一些选项设置提取出来,形成单个文件,其他的配置文件可以引用该文件。你只需在需要引入其他文件的xml配置文件中,添加xmlns:resin=空间声明,然后调用元素进行引入即可。通过这种引入机制,将负责的配置文件进行分解,你可以让配置文件的管理更轻松。

    最后我们讲一下如何去修改这些配置文件。如果配置文件的格式不正确,你将无法启动Resin,尽管这些配置文件都是xml格式的,但是Resin采用Relax-NG方式来验证xml的,好多工具无法根据Relax-NG进行xml代码的自动提示和校验。如果将Relax-NG转换为xml 的schema文件,那么修改xml配置文件将非常便利。




     这里提供了一个Resin配置文件的XML Schema文件,这是从relax-ng转换而来的,你只需打开IDEA的Resources配置窗口,将“”和附件中的resin.xsd关联,“”和rcore.xsd关联,将resin.conf文件设置为xml文件类型,那么你以后编辑resin.conf、app-default.xml就可以使用IDEA的XML自动代码提示功能,你的配置就不在会出现格式不正确之类的错误啦。

注意:附件中的xsd文件之间都是有关联的,不要删除任何一个文件。resin_xsd.zip
阅读(2798) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~