`
AliKevin2011
  • 浏览: 118118 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JAMES V3 配置文件系列之spring-server.xml

阅读更多
AliKevin 写道
       Apache James 3.x之后采用了Spring框架,配置文件的名称和组织方式与2.x发生了较大的变化,本系列将介绍3.x版本中的主要配置文件。这篇主要介绍Spring-server.xml文件


一、概述
      spring-server.xml文件是James 3.x 所有配置文件的切入文件,James3.x主类(org.apache.james.container.spring.Main.java)启动时候会在init方法中载入该配置文件,如下:

     public void init(DaemonContext arg0) throws Exception {
         context = new JamesServerApplicationContext(new String[] {    "META-INF/org/apache/james/spring-server.xml" });
        context.registerShutdownHook();
        context.start();
     }
二、spring-server.xml 介绍
    附件是spring-server.xml的完整内容,为方便介绍我们将配置文件以一个片段一个片段的介绍。

  • 打开Spring的注释功能
  <bean class="org.springframework.context.annotation.CommonAnnotationBeanPostProcessor">
 <property name="order" value="3" />
</bean>



  • 配置JAMES特定配置文件的加载
[说明:
      ConfigurationBeanFactoryPostProcessor实现了org.springframework.beans.factory.config.BeanFactoryPostProcessor接口,实现此接口的Bean,可以在BeanFactory完成依赖注入后进行一些后继处理动作,ConfigurationBeanFactoryPostProcessor就是在完成依赖注入之后将JAMES提供的具体Repository配置文件进行加载。ConfigurationBeanFactoryPostProcessor的beans
属性列表配置的value必须是James的classpath下面的配置文件的文件名,ConfigurationBeanFactoryPostProcessor会根据配置的value在classpath中应用org.apache.commons.configuration.XMLConfiguration类进行配置文件加载,然后应用Spring的BeanDefinitionBuilder和BeanDefinitionRegistry将配置的类进行实例化并注册到Spring context中.
]

<bean class="org.apache.james.container.spring.bean.factorypostprocessor.ConfigurationBeanFactoryPostProcessor">
         <property name="beans">
          <map>
            <!-- User Repository-->
            <entry>
              <key>
                <!--  对应 usersrepository.xml 文件配置 -->
                <value>usersrepository</value>
              </key>
               <!-- no alias needed -->
              <value></value>
            </entry>
            <!-- Recipient Rewrite Table-->
            <entry>
              <key>
               <!--对应 recipientrewritetable.xml 文件配置 -->
                <value>recipientrewritetable</value>
              </key>
              <!-- no alias needed -->
              <value></value>
            </entry>
            <!-- Domain List -->
            <entry>
              <key>
                <!--对应 domainlist.xml 文件配置-->
                <value>domainlist</value> 
              </key>
              <!-- no alias needed -->
              <value></value>
            </entry>
            <entry>
              <key>
                <!--对应 usersrepository23.xml 文件配置 -->
                <value>usersrepository23</value>
              </key>
<!--               no alias needed -->
              <value></value>
            </entry>
          </map>
        </property>
    </bean>


三、结束

分享到:
评论

相关推荐

    apache-james-2.3.2.jar+源码

    而"apache-james-2.3.2.zip"可能包含的是编译后的二进制文件和配置文件,可以直接用于部署和运行Apache James服务器。 "james-2.3.2"可能是另一个版本或构建的别名,具体用途需要根据上下文来确定。 总的来说,...

    red5-server-1.0.7-RELEASE.tar.gz

    综上所述,`red5-server-1.0.7-RELEASE.tar.gz`是Red5服务器的一个稳定版本,通过解压和配置,可以在Linux环境中搭建起一个功能强大的流媒体服务系统。开发者可以利用它的特性构建各种多媒体应用,并且得益于开源...

    claros-intouch-2.2-beta+james-2.3.2.1

    文件列表中的“james-2.3.2.1-src.tar.gz”和“james-2.3.2.1-src.zip”是James源代码包,供开发者或高级用户进行自定义编译和扩展。而“claros-intouch-2.2-xxxx.zip”则是Claros Intouch的安装包,包含了所有必要...

    expat-2.3.0.tar.gz

    Expat 是一个开源的 XML 解析库,由 James Clark 创建,主要用于处理 XML 文档。它在许多软件项目中被广泛使用,特别是在需要高效、轻量级 XML 处理的场景下。"expat-2.3.0.tar.gz" 是 Expat 库的版本 2.3.0 的源...

    james发邮件包james、activation.jar、james-2.3.2.jar、mail.jar

    james、activation.jar、james-2.3.2.jar、mail.jarjames、activation.jar、james-2.3.2.jar、mail.jarjames、activation.jar、james-2.3.2.jar、mail.jarjames、activation.jar、james-2.3.2.jar、mail.jarjames、...

    apache-james-3.0-beta3-app.zip

    在解压"apache-james-3.0-beta3-app.zip"后,你可以找到包含所有这些组件和相关配置文件的目录结构。安装和配置James通常涉及以下几个步骤: 1. **解压和准备**:将压缩包解压到适当的位置,根据需求修改默认配置...

    xfire-all-1.2.6.jar.zip

    3. **JAXB绑定**:Java Architecture for XML Binding (JAXB) 是Java平台的标准,用于将Java对象转换为XML,反之亦然。Xfire集成了JAXB,使得数据交换更为方便。 4. **Annotation驱动**:Xfire利用Java 5的注解...

    gradle-6.7.1-all.zip

    Gradle是一款强大的构建自动化工具,尤其在Android开发领域中扮演着至关重要的角色。"gradle-6.7.1-all.zip"是Gradle的一个发行版本,包含了完整的...正确配置和使用Gradle是成功进行Android应用开发的关键步骤之一。

    expat-2-1-0.zip

    Subversion是一个版本控制系统,用于跟踪文件和目录的变更,XML用于其配置文件和通信协议,因此,一个可靠的XML解析器至关重要。 在CentOS系统中,Expat是Subversion安装过程中的必需组件。当安装Subversion时,...

    apache-james-2.3.2-src.tar.gz

    这个"apache-james-2.3.2-src.tar.gz"文件是一个源代码压缩包,意味着它包含了Apache James 2.3.2版本的所有源代码,用户可以对其进行编译和定制,以适应特定的需求或环境。 Apache James的核心组件包括: 1. **...

    apache-james-2.3.2.tar.gz

    - 主要的配置文件包括`conf/james-server.xml`,用于设置服务器的基本参数,如端口号、存储路径等。 - 还有`conf/mailetcontainer.xml`和`conf/milter-container.xml`,分别定义了Mailet和Milter过滤规则,用于...

    expat-2.2.7.tar.bz2

    它的全名是“External Entity Processor and Text Handler”,由 James Clark 创建,现在由 libexpat 项目维护。这个库提供了一个C语言接口,使得程序员可以轻松地在他们的应用程序中处理XML数据。 标题中的 "expat...

    apache-james-mailbox-spring-0.4-sources.jar

    jar包,亲测可用

    expat-2.0.0.tar.gz

    Expat 是由 James Clark 开发的一个小型、快速且可移植的 XML 解析器,它不依赖于特定的编程语言,提供了 C 接口供其他程序调用。Expat 不支持完整的 XML 规范,而是专注于基础的解析任务,如解析文档结构、识别...

    apache-mime4j-0.6.jar&httpmime-4.0.1.jar

    首先,Apache MIME4J(apache-mime4j-0.6.jar)是Apache James项目的一部分,它是一个专门用来解析和操作MIME格式数据的库。MIME(Multipurpose Internet Mail Extensions)是一种标准,扩展了电子邮件系统,使其...

    apache-james-mailbox-spring-0.5.jar

    jar包,亲测可用

    apache-james-mailbox-spring-0.4.jar

    jar包,亲测可用

    james-server-app-3.0.1-app

    "james-server-app-3.0.1-app"是一个专为邮件服务设计的应用程序,它基于James邮件服务器项目,提供高效、稳定且可定制的邮件解决方案。 James邮件服务器是一个开源、Java实现的邮件和消息服务器,其设计目标是为...

    osworkflow-2.8.0-example.war

    OSWorkflow提供了灵活的API,允许开发者通过编程方式或XML配置文件定义工作流程的各个阶段和转移规则。 在这个示例应用中,osworkflow-2.8.0-example.war 包含了以下几个关键组成部分: 1. **工作流程定义**:示例...

    CentOS7安装James3.0邮件服务器

    解压 james-server-app-3.0.0-RC1-app.zip,并将解压的文件 cp 到要安装的路径: tar -zvxf james-server-app-3.0.0-RC1-app.zip cp -rf james-server-app-3.0.0-RC1-app /usr/james 4. 配置 /etc/profile 配置 /...

Global site tag (gtag.js) - Google Analytics