- 浏览: 55511 次
最新评论
5.4.3配置JDBC消息仓库
默认JDBC消息仓库配置是简单的。如前面陈述的,默认的JDBC仓库在代理配置中使用Apache Derby,如下:<beans>
<broker brokerName="test-broker"
persistent="true"
xmlns="http://activemq.apache.org/schema/core">
<persistenceAdapter>
<jdbcPersistenceAdapter dataDirectory="activemq-data"/>
</persistenceAdapter>
</broker>
</beans>
这个之前的配置为ActiveMQ代理以JDBC消息仓库(默认使用Apach Derby)配置持久化适配器并且设置被嵌入式Apach Derby实例使用的数据目录。
JDBC持久化适配器(JDBC消息仓库上的接口)中一个关键属性是dataSource 属性。这个属性定义了从哪个工厂进行关系数据库的连接。配置dataSource对象使JDBC持久化适配器能使用物理数据库而不是默认的。这里有一个使用MySql 数据库配置JDBC消息仓库的ActiveMQ配置示例:
<?xml version="1.0" encoding="UTF-8"?>
<beans>
<broker brokerName="test-broker"
persistent="true"
xmlns="http://activemq.apache.org/schema/core">
<persistenceAdapter>
<jdbcPersistenceAdapter dataSource="#mysql-ds"/>
</persistenceAdapter>
</broker>
<bean id="mysql-ds"
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url"
value="jdbc:mysql://localhost/activemq?relaxAutoCommit=true"/>
<property name="username" value="activemq"/>
<property name="password" value="activemq"/>
<property name="maxActive" value="200"/>
<property name="poolPreparedStatements" value="true"/>
</bean>
</beans>
之前的示例使用Apache Commons DBCP BasicDataSource为连接池包装了MySQL JDBC驱动。在这个示例中,driverClassName是使用的JDBC驱动。一些你能配置的属性被直接发送到数据库驱动它本身。例如,maxActive是一个MySQL数据库连接器的属性,它告诉数据库同时持有多少个活跃的连接。
作为一个对比,这是由一个使用Oracle数据库的配置示例:
<?xml version="1.0" encoding="UTF-8"?>
<beans>
<broker brokerName="test-broker"
persistent=true
xmlns="http://activemq.apache.org/schema/core">
<persistenceAdapter>
<jdbcPersistenceAdapter dataSource="#oracle-ds"/>
</persistenceAdapter>
</broker>
<bean id="oracle-ds" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName"
value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:AMQDB"/>
<property name="username" value="scott"/>
<property name="password" value="tiger"/>
<property name="maxActive" value="200"/>
<property name="poolPreparedStatements" value="true"/>
</bean>
</beans>
这个示例使用 Apache Commons DBCP BasicDataSource为连接池包装Oracle JDBC驱动。
现在JDBC消息仓库的一些配置示例已经展示了,你可能要问,什么时候最好使用这种类型的持久化?
5.4.4和ActiveMQ日报一起使用JDBC消息仓库
虽然JDBC消息仓库的性能并不完美,但是它能通过使用ActiveMQ日报来提高。日报确保了JMS事务的相容性。因为它包含了缓存技术的快速消息写操作,它能显著地提高ActiveMQ代理的性能。
这里有一个在JDBC(aka journaled JDBC)中使用日报的配置示例。在这个示例中Apache Derby正在被使用。
<?xml version="1.0" encoding="UTF-8"?>
<beans>
<broker brokerName="test-broker"
xmlns="http://activemq.apache.org/schema/core">
<persistenceFactory>
<journalPersistenceAdapterFactory
journalLogFiles="4"
journalLogFileSize="32768"
useJournal="true"
useQuickJournal="true"
dataSource="#derby-ds"
dataDirectory="activemq-data" />
</persistenceFactory>
</broker>
<bean id="derby-ds" class="org.apache.derby.jdbc.EmbeddedDataSource">
<property name="databaseName" value="derbydb"/>
<property name="createDatabase" value="create"/>
</bean>
</beans>
日报能被任何JDBC数据源使用,但是知道它应该和不应该在哪些时候使用是重要的。
在使用基础的JDBC时消息仓库日报提供了相当大的性能优点,特别是在同地部署JDBC数据库和ActiveMQ代理。唯一不可能使用日报的时候是在一个共享数据库master/slave配置中。因为从master来的消息可能在提交到数据库之前被本地存储于日报中,若在这个配置中使用日报,如果master挂了可能导致丢失消息因为日报没有被复制。
我们通过配置示例已经讲解了在关系数据库中的消息仓库。在下一节我们将看看内存仓库,它不会存留消息。
默认JDBC消息仓库配置是简单的。如前面陈述的,默认的JDBC仓库在代理配置中使用Apache Derby,如下:<beans>
<broker brokerName="test-broker"
persistent="true"
xmlns="http://activemq.apache.org/schema/core">
<persistenceAdapter>
<jdbcPersistenceAdapter dataDirectory="activemq-data"/>
</persistenceAdapter>
</broker>
</beans>
这个之前的配置为ActiveMQ代理以JDBC消息仓库(默认使用Apach Derby)配置持久化适配器并且设置被嵌入式Apach Derby实例使用的数据目录。
JDBC持久化适配器(JDBC消息仓库上的接口)中一个关键属性是dataSource 属性。这个属性定义了从哪个工厂进行关系数据库的连接。配置dataSource对象使JDBC持久化适配器能使用物理数据库而不是默认的。这里有一个使用MySql 数据库配置JDBC消息仓库的ActiveMQ配置示例:
<?xml version="1.0" encoding="UTF-8"?>
<beans>
<broker brokerName="test-broker"
persistent="true"
xmlns="http://activemq.apache.org/schema/core">
<persistenceAdapter>
<jdbcPersistenceAdapter dataSource="#mysql-ds"/>
</persistenceAdapter>
</broker>
<bean id="mysql-ds"
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url"
value="jdbc:mysql://localhost/activemq?relaxAutoCommit=true"/>
<property name="username" value="activemq"/>
<property name="password" value="activemq"/>
<property name="maxActive" value="200"/>
<property name="poolPreparedStatements" value="true"/>
</bean>
</beans>
之前的示例使用Apache Commons DBCP BasicDataSource为连接池包装了MySQL JDBC驱动。在这个示例中,driverClassName是使用的JDBC驱动。一些你能配置的属性被直接发送到数据库驱动它本身。例如,maxActive是一个MySQL数据库连接器的属性,它告诉数据库同时持有多少个活跃的连接。
作为一个对比,这是由一个使用Oracle数据库的配置示例:
<?xml version="1.0" encoding="UTF-8"?>
<beans>
<broker brokerName="test-broker"
persistent=true
xmlns="http://activemq.apache.org/schema/core">
<persistenceAdapter>
<jdbcPersistenceAdapter dataSource="#oracle-ds"/>
</persistenceAdapter>
</broker>
<bean id="oracle-ds" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName"
value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:AMQDB"/>
<property name="username" value="scott"/>
<property name="password" value="tiger"/>
<property name="maxActive" value="200"/>
<property name="poolPreparedStatements" value="true"/>
</bean>
</beans>
这个示例使用 Apache Commons DBCP BasicDataSource为连接池包装Oracle JDBC驱动。
现在JDBC消息仓库的一些配置示例已经展示了,你可能要问,什么时候最好使用这种类型的持久化?
5.4.4和ActiveMQ日报一起使用JDBC消息仓库
虽然JDBC消息仓库的性能并不完美,但是它能通过使用ActiveMQ日报来提高。日报确保了JMS事务的相容性。因为它包含了缓存技术的快速消息写操作,它能显著地提高ActiveMQ代理的性能。
这里有一个在JDBC(aka journaled JDBC)中使用日报的配置示例。在这个示例中Apache Derby正在被使用。
<?xml version="1.0" encoding="UTF-8"?>
<beans>
<broker brokerName="test-broker"
xmlns="http://activemq.apache.org/schema/core">
<persistenceFactory>
<journalPersistenceAdapterFactory
journalLogFiles="4"
journalLogFileSize="32768"
useJournal="true"
useQuickJournal="true"
dataSource="#derby-ds"
dataDirectory="activemq-data" />
</persistenceFactory>
</broker>
<bean id="derby-ds" class="org.apache.derby.jdbc.EmbeddedDataSource">
<property name="databaseName" value="derbydb"/>
<property name="createDatabase" value="create"/>
</bean>
</beans>
日报能被任何JDBC数据源使用,但是知道它应该和不应该在哪些时候使用是重要的。
在使用基础的JDBC时消息仓库日报提供了相当大的性能优点,特别是在同地部署JDBC数据库和ActiveMQ代理。唯一不可能使用日报的时候是在一个共享数据库master/slave配置中。因为从master来的消息可能在提交到数据库之前被本地存储于日报中,若在这个配置中使用日报,如果master挂了可能导致丢失消息因为日报没有被复制。
我们通过配置示例已经讲解了在关系数据库中的消息仓库。在下一节我们将看看内存仓库,它不会存留消息。
发表评论
文章已被作者锁定,不允许评论。
-
三次样条曲线
2014-04-11 17:33 1849原文地址: http://www.math ... -
APPLE PUBLIC SOURCE LICENSE (APSL)
2013-05-23 13:47 0原文地址:http://www.publicsource.ap ... -
翻译的一些说明
2013-03-07 14:48 0翻译的一些说明: 1,对于一些专有名词如speex,api不过 ... -
ALSA driver 安装指南(中文版)
2012-12-29 11:28 0ALSA 驱动替代了OSS/Free驱动。从版本0.4.0开始 ... -
ALSA driver 安装指南(英文版)
2012-12-28 14:30 0Advanced Linux Sound Architectu ... -
Addons
2013-01-08 10:37 1009Addons是动态链接共享对象。它们能提供和c及c++库的粘合 ... -
8.4和Apache Geronimo集成
2013-04-16 20:01 1544Apache Geronimo应用服务器是在应用服务器许多方面 ... -
8.3和Jetty集成
2013-04-16 19:58 1117Jetty web container已经存在了很长时间并使可 ... -
8.2和Apache Tomcat集成
2013-03-11 21:54 1484Apache Tomcat是可论证的当今使用最广的可用的Jav ... -
8.1web应用示例
2013-03-11 21:54 11078.1web应用示例 为了在本章中演示集成示例,一个web应用 ... -
8.0将ActiveMQ集成到应用服务器
2013-03-11 21:54 939本章包括下面内容: ■ ... -
7.5小结
2013-03-11 21:53 617在本章中,你已经看到了ActiveMQ如何能被看做不仅是一个独 ... -
7.4使用Spring编写JMS客户端
2013-03-11 21:53 1472ActiveMQ使用Spring框架来ease client- ... -
7.3实现request/reply with JMS
2012-12-07 16:12 1474如前面章节中描述的,m ... -
7.2使用Spring嵌入ActiveMQ
2012-12-06 15:01 1665ActiveMQ is developed with Spri ... -
7.1使用Java嵌入ActiveMQ
2012-12-05 15:59 1995虽然今天的大多数开发者使用一个框架编写他们的应用,但是用最简单 ... -
7.0建立带ActiveMQ的Java程序
2012-12-05 13:47 1075本章包括: ■在Java应用程序中嵌入ActiveMQ ■使用 ... -
6.5总结
2012-12-05 11:33 710在这一章中,ActiveMQ被从无身份验证no-authent ... -
6.4基于证书的安全
2012-12-05 11:10 1447在本章前面部分,我们描述了ActiveMQ插件被用来验证客户端 ... -
ActiveMQ in action 1~4章
2012-11-27 16:25 810http://jfires.iteye.com/
相关推荐
标题中的“pdi-ce-5.4.0.1-130.zip”指的是Pentaho Data Integration(简称PDI)的一个社区版本,版本号为5.4.0.1,构建编号为130。PDI,也常被称为Kettle,是一款强大的开源ETL(Extract, Transform, Load)工具,...
4. **配置Hibernate**:除了添加依赖,还需要在`persistence.xml`文件中配置Hibernate,包括数据源、实体扫描路径、JDBC驱动等信息。 5. **使用Hibernate API**:创建SessionFactory,然后通过SessionFactory创建...
7.2.3 根据LDAP仓库进行身份验证 7.3 控制访问 7.3.1 访问决策投票 7.3.2 决定如何投票 7.3.3 处理投票弃权 7.4 保护Web应用程序 7.4.1 代理Spring Security的过滤器 7.4.2 处理安全上下文 7.4.3 提示用户...
7.2.3 根据LDAP仓库进行身份验证 7.3 控制访问 7.3.1 访问决策投票 7.3.2 决定如何投票 7.3.3 处理投票弃权 7.4 保护Web应用程序 7.4.1 代理Spring Security的过滤器 7.4.2 处理安全上下文 7.4.3 提示用户...
7.2.3根据ldap仓库进行身份验证 7.3控制访问 7.3.1访问决策投票 7.3.2决定如何投票 7.3.3处理投票弃权 7.4保护web应用程序 7.4.1代理springsecurity的过滤器 7.4.2处理安全上下文 7.4.3提示用户登录 7.4.4...
- **Infor WMS (Warehouse Management System)**:仓库管理系统,旨在优化仓储作业流程,提高效率和准确性。 - **版本**: WM9.1.5 - **定制开发培训**: 由Sweeper Chen进行,职位为应用顾问,时间点在2010年7月。 #...
1. 下载Hibernate:首先,你需要从官方网站或通过Maven仓库下载Hibernate的JAR包,这里我们已有一个名为"hibernate jar包"的压缩文件,解压后将包含所需的Hibernate库。 2. 添加依赖:将解压后的Hibernate JAR包...
- 以MySQL数据库为例,首先需要将MySQL的JDBC驱动(如mysql-connector-java-5.1.26-bin.jar)添加到Kettle的lib目录中。 - 然后在Spoon中选择创建新的数据库资源库,并创建数据库连接,输入连接信息并测试连接成功...
二、环境准备 1. Java开发环境:确保已安装JDK,并配置好环境变量。 2. Maven或Gradle:Hibernate项目通常使用构建工具管理依赖,这里我们以Maven为例。确保已安装Maven,并配置好全局Maven仓库。 3. 数据库:选择一...
官方数据显示,VERTICA能在强配硬件下实现极高的数据装载速率,如在HP C7000刀片服务器上,曾创下在57分钟内加载5.4TB数据的记录。 VERTICA支持DML(Data Manipulation Language)操作,包括INSERT、UPDATE和DELETE...
用户可以从Spring Security 官方网站或者GitHub仓库下载到最新的源代码和相关文档。 ##### 2. Security命名空间配置 **2.1. 介绍** 为了简化Spring Security的配置,该框架提供了特定的安全命名空间,使得开发...
#### 二、Spring 和 Hadoop ##### 2.1 使用 Spring Hadoop 命名空间 Spring Hadoop 支持通过 XML 配置文件中的命名空间来配置 Hadoop 相关组件。这使得配置变得更加简洁明了,例如配置 Job 或者 FileSystem 等组件时...
5.4. 配置Jetty插件 5.5. 添加一个简单的Servlet 5.6. 添加J2EE依赖 5.7. 小结 6. 一个多模块项目 6.1. 简介 6.1.1. 下载本章样例 6.2. simple-parent 项目 6.3. simple-weather 模块 6.4. simple-...
Hibernate的最新版本可以从其官方网站下载,或者通过Maven仓库添加依赖。如果你选择下载,解压后将其放在项目的lib目录下;如果使用Maven,需要在`pom.xml`文件中添加以下依赖: ```xml <groupId>org.hibernate...
Maven仓库 21 Spring框架 22 2.4.2 Gradle 23 Gradle存储库 23 使用Spring 4.0.x和Gradle 24 2.4.3项目模块 25 核心 - spring-security-core.jar 25 远程处理 - spring-security-remoting.jar 25 Web - spring-...