CompassConfiguration配置
为了创建Compass实例,首先要配置CompassConfiguration
有两种配置方法
1 程序配置
一个Compass实例能使用CompassConfiguration类程序化配置,两个主要的配置方面是添加映射定义和设置不同的参数。CompassConfiguration提供了很多接口去添加映射定义(xml映射文件,后缀.cmp.xml,或注释类),还有通用元数据定义(后缀为.cmd.xml的xml配置文件)。
addFile(String) Loads the mapping file (cpm or cmd) according to the specified file path string.
addFile(File) Loads the mapping file (cpm or cmd) according to the specified file object reference.
addClass(Class) Loads the mapping file (cpm) according to the specified class. test.Author.class will map to
test/Author.cpm.xml within the class path. Can also add annotated classes if using Compass annotations support.
addURL(URL) Loads the mapping file (cpm or cmd) according to the specified URL.
addResource(String) Loads the mapping file (cpm or cmd) according to the specified resource path from the class path.
addInputStream(InputStream) Loads the mapping file (cpm or cmd) according to the specified input stream.
addDirectory(String) Loads all the files named *.cpm.xml or *.cmd.xml from within the specified directory.
addJar(File) Loads all the files named *.cpm.xml or *.cmd.xml from within the specified Jar file.
addMapping(ResourceMapping) Programmatically add resource mapping (domain model that represents different mappings such as XSEM, OSEM,
and RSEM).
addScan(String basePackage, String pattern)Scans for all the mappings that exist wihtin the base
backage recursively. An optioal ant style pattern can be provided as well. The mappings detected are all the xml
based mappings. Annotation based mappings will be detected automatically if either ASM or Javassist exists
within the classpath.
addMappingResolver(MappingResolver) Uses a class that implements the MappingResolver to get an
InputStream for xml mapping definitions.
下面列出一个最小化的程序控制的例子:
CompassConfiguration conf = new CompassConfiguration()
.setSetting(CompassEnvironment.CONNECTION, "my/index/dir")
.addResource(DublinCore.cmd.xml)
.addClass(Author.class);
2 XML/JSON配置
所有Compass的操作配置都可以定义在一个xml配置文件里,以compass.cfg.xml为默认名称。在这个文件里你可以定义环境的配置和映射文件所在位置。
configure() Loads a configuration file called compass.cfg.xml from the root of the class path.默认从类路径下寻找compass.cfg.xml
configure(String) Loads a configuration file from the specified path 从指定位置下寻找
(1) 基于schema配置
<compass-core-config xmlns="http://www.compass-project.org/schema/core-config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.compass-project.org/schema/core-config
http://www.compass-project.org/schema/compass-core-config-2.2.xsd">
<compass name="default">
<connection>
<file path="target/test-index"/>
</connection>
<mappings>
<class name="test.Author" />
</mappings>
</compass>
</compass-core-config>
还有比较复杂的基于jdbc,以及事务,分析器(such as converters, highlighters, analyzers, and so on)的配置
(2)基于json的配置
{
compass : {
engine : {
connection : "test-index"
},
event : {
preCreate : {
event1 : {
type : "test.MyEvent1"
},
event2 : {
type : "test.MyEvent2"
}
}
}
}
}
(3) 基于dtd配置
<!DOCTYPE compass-core-configuration PUBLIC
"-//Compass/Compass Core Configuration DTD 2.2//EN"
"http://www.compass-project.org/dtd/compass-core-configuration-2.2.dtd">
<compass-core-configuration>
<compass>
<setting name="compass.engine.connection">my/index/dir</setting>
<meta-data resource="vocabulary/DublinCore.cmd.xml" />
<mapping resource="test/Author.cpm.xml" />
</compass>
</compass-core-configuration>
3 Compass获取
CompassConfiguration配置之后,你就可以创建一个Compass实例了,Compass将会在不同的应用线程之间共享。
下面的简单代码说明如何获取compass实例
Compass compass = cfg.buildCompass();
注: 在同一个应用中可能会有多个Compass 实例,每一个都有不同的配置。
4 重建Compass
Compass允许使用从Compass取得的CompassConfiguration实例动态添加或删除映射,一旦所以改变在配置对象上完成,可以调用Compass的rebuild()方法
Compass compass = cfg.buildCompass();
// ...
compass.getConfig().removeMappingByClass(A.class);
compass.getConifg().addClass(B.class);
compass.rebuild();
旧的Compass实例在短时间内将关闭。关闭时间可以用配置参数compass.rebuild.sleepBeforeClose控制。
5 配置回调事件
Compass允许配置事件(events),当在Compass使用指定的操作时触发的事件,比如保存操作。
配置事件监听器可以由设置(settings)完成。比如说,配置一个保存前事件监听器,下面的配置参数将会用到,
compass.event.preSave.mylistener.type ,它的值可以是监听器的真实类名
分享到:
相关推荐
mongodb可视化管理mongodb-compass-1.43.0-win32-x64.exe mongodb compass官网下载地址:https://www.mongodb.com/try/download/compass mongodb相关下载地址: mongodb社区版:...
mongodb-windows安装包: mongodb-compass-1.31.2-win32-x64.msi 打开直接安装
mongodb-compass-1.42.1-win32-x64.exe 数据库构建工具
"mongodb-compass-1.27.1-win32-x64.zip"是一个针对Windows 64位系统的MongoDB Compass版本的压缩包。 MongoDB Compass的核心功能包括: 1. **数据可视化**:它提供了一个直观的界面来查看和理解数据库的结构,...
在“mongodb-compass-community-1.16.4-win32-x64.zip”这个压缩包中,包含了MongoDB Compass的社区版,它可以帮助用户直观地查看和操作MongoDB数据库。以下是压缩包内各个文件的作用: 1. **snapshot_blob.bin**:...
mongodb-compass-community-1.21.2-win32-x64.exe mongodb-compass-community-1.21.2-win32-x64.exe mongodb-compass-community-1.21.2-win32-x64.exe mongodb-compass-community-1.21.2-win32-x64.exe
在这个版本"mongodb官方客户端可视化工具compass-1.26.1-win32-x64"中,我们关注的是Windows 32位和64位系统的版本。 Compass的主要功能包括: 1. 数据浏览:它允许用户以表格、图表或者JSON格式查看和编辑数据,...
mongodb-compass-community-1.18.0-win32-x64.msi
最新版mongodb-compass-1.16.3-win32-x64
"mongodb-compass-1.23.0-win32-x64.zip" 是一个针对Windows 32位和64位系统的MongoDB Compass版本的压缩包,用户可以从官方网站下载此版本来安装和使用。 MongoDB Compass的核心功能包括: 1. 数据浏览:提供可视...
Compass需要的包3:compass-core.jar
Compass Mixins 是一个非常重要的前端开发工具,尤其在 Sass(Syntactically Awesome Style Sheets)环境中,它极大地提升了CSS编写效率和代码复用性。这个开源库为开发者提供了丰富的预定义混合(mixins),帮助...
Compass-CI(Compass Continuous Integration)是一款用于自动化软件构建和测试的持续集成工具。它旨在简化开发流程,提高团队协作效率,确保代码质量。在本篇中,我们将深入探讨 Compass-CI 的 Web 服务器部分,...
"Compass-master.zip"提供的资源正是这样一个项目,它不仅能够准确地指示方向,还具备显示气压和海拔高度的功能,这对于户外爱好者或者需要导航的用户来说非常有用。下面我们将深入探讨这款应用的核心知识点。 1. *...
这个是mongodb-compass的1.23最新版本。花了我好长时间才下载完。各位请给我个赞 这个是mongodb-compass的1.23最新版本。花了我好长时间才下载完。各位请给我个赞 这个是mongodb-compass的1.23最新版本。花了我好长...
《Compass-GPS-ArcGIS在林业生产中的实际应用探讨》 本文主要探讨了现代林业生产中一项重要的技术——Compass-GPS-ArcGIS技术的实际应用。这项技术结合了罗盘进行方位测量、全球定位系统(GPS)进行精确定位以及...
《PyPI官网下载:compass-interface-core-0.15.0.tar.gz——探索Python库的奥秘》 PyPI(Python Package Index),是Python开发者最重要的资源库,它为全球的Python程序员提供了海量的第三方库,使得开发工作变得...
安装mongodb时会自动联网下载mongodb-compass,但是网速非常慢,有些人甚至等了一晚上都没有结果。可以选择在安装mongodb时先不安装mongodb-compass,事后单独安装。
mongodb-compass-1.13.1-win32-x64.exe 作为mongodb管理工具的安装包,对于管理mongodb很方便实用