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的完整内容,为方便介绍我们将配置文件以一个片段一个片段的介绍。
<bean class="org.springframework.context.annotation.CommonAnnotationBeanPostProcessor">
<property name="order" value="3" />
</bean>
[说明:
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.zip"可能包含的是编译后的二进制文件和配置文件,可以直接用于部署和运行Apache James服务器。 "james-2.3.2"可能是另一个版本或构建的别名,具体用途需要根据上下文来确定。 总的来说,...
综上所述,`red5-server-1.0.7-RELEASE.tar.gz`是Red5服务器的一个稳定版本,通过解压和配置,可以在Linux环境中搭建起一个功能强大的流媒体服务系统。开发者可以利用它的特性构建各种多媒体应用,并且得益于开源...
文件列表中的“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 是一个开源的 XML 解析库,由 James Clark 创建,主要用于处理 XML 文档。它在许多软件项目中被广泛使用,特别是在需要高效、轻量级 XML 处理的场景下。"expat-2.3.0.tar.gz" 是 Expat 库的版本 2.3.0 的源...
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"后,你可以找到包含所有这些组件和相关配置文件的目录结构。安装和配置James通常涉及以下几个步骤: 1. **解压和准备**:将压缩包解压到适当的位置,根据需求修改默认配置...
3. **JAXB绑定**:Java Architecture for XML Binding (JAXB) 是Java平台的标准,用于将Java对象转换为XML,反之亦然。Xfire集成了JAXB,使得数据交换更为方便。 4. **Annotation驱动**:Xfire利用Java 5的注解...
Gradle是一款强大的构建自动化工具,尤其在Android开发领域中扮演着至关重要的角色。"gradle-6.7.1-all.zip"是Gradle的一个发行版本,包含了完整的...正确配置和使用Gradle是成功进行Android应用开发的关键步骤之一。
Subversion是一个版本控制系统,用于跟踪文件和目录的变更,XML用于其配置文件和通信协议,因此,一个可靠的XML解析器至关重要。 在CentOS系统中,Expat是Subversion安装过程中的必需组件。当安装Subversion时,...
Expat 是由 James Clark 开发的一个小型、快速且可移植的 XML 解析器,它不依赖于特定的编程语言,提供了 C 接口供其他程序调用。Expat 不支持完整的 XML 规范,而是专注于基础的解析任务,如解析文档结构、识别...
这个"apache-james-2.3.2-src.tar.gz"文件是一个源代码压缩包,意味着它包含了Apache James 2.3.2版本的所有源代码,用户可以对其进行编译和定制,以适应特定的需求或环境。 Apache James的核心组件包括: 1. **...
- 主要的配置文件包括`conf/james-server.xml`,用于设置服务器的基本参数,如端口号、存储路径等。 - 还有`conf/mailetcontainer.xml`和`conf/milter-container.xml`,分别定义了Mailet和Milter过滤规则,用于...
它的全名是“External Entity Processor and Text Handler”,由 James Clark 创建,现在由 libexpat 项目维护。这个库提供了一个C语言接口,使得程序员可以轻松地在他们的应用程序中处理XML数据。 标题中的 "expat...
jar包,亲测可用
4. **XML 解析**:XML是一种标记语言,常用于数据交换和配置文件。Expat 库能够解析XML文档的语法,确保其符合XML规范。例如,它可以检查元素的正确嵌套、命名空间的使用、字符编码的识别等。 5. **API 使用**:...
首先,Apache MIME4J(apache-mime4j-0.6.jar)是Apache James项目的一部分,它是一个专门用来解析和操作MIME格式数据的库。MIME(Multipurpose Internet Mail Extensions)是一种标准,扩展了电子邮件系统,使其...
jar包,亲测可用
jar包,亲测可用
"james-server-app-3.0.1-app"是一个专为邮件服务设计的应用程序,它基于James邮件服务器项目,提供高效、稳定且可定制的邮件解决方案。 James邮件服务器是一个开源、Java实现的邮件和消息服务器,其设计目标是为...
OSWorkflow提供了灵活的API,允许开发者通过编程方式或XML配置文件定义工作流程的各个阶段和转移规则。 在这个示例应用中,osworkflow-2.8.0-example.war 包含了以下几个关键组成部分: 1. **工作流程定义**:示例...