spring rabbit-rabbit 生产和消费可以在一个包里吗

登录以解锁更多InfoQ新功能
获取更新并接收通知
给您喜爱的内容点赞
关注您喜爱的编辑与同行
966,690 十月 独立访问用户
语言 & 开发
架构 & 设计
文化 & 方法
您目前处于:
Spring AMQP 1.0 GA发布了
Spring AMQP 1.0 GA发布了
Bienvenido David III
0&他的粉丝
9&他的粉丝
日. 估计阅读时间:
:Facebook、Snapchat、Tumblr等背后的核心技术
Author Contacted
语言 & 开发
54 他的粉丝
22 他的粉丝
Spring框架
1 他的粉丝
10 他的粉丝
0 他的粉丝
1162 他的粉丝
0 他的粉丝
238 他的粉丝
2 他的粉丝
1257 他的粉丝
相关厂商内容
相关赞助商
告诉我们您的想法
允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p
当有人回复此评论时请E-mail通知我
允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p
当有人回复此评论时请E-mail通知我
允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p
当有人回复此评论时请E-mail通知我
赞助商链接
架构 & 设计
文化 & 方法
<及所有内容,版权所有 &#169;
C4Media Inc.
服务器由 提供, 我们最信赖的ISP伙伴。
北京创新网媒广告有限公司
京ICP备号-7
找回密码....
InfoQ账号使用的E-mail
关注你最喜爱的话题和作者
快速浏览网站内你所感兴趣话题的精选内容。
内容自由定制
选择想要阅读的主题和喜爱的作者定制自己的新闻源。
设置通知机制以获取内容更新对您而言是否重要
注意:如果要修改您的邮箱,我们将会发送确认邮件到您原来的邮箱。
使用现有的公司名称
修改公司名称为:
公司性质:
使用现有的公司性质
修改公司性质为:
使用现有的公司规模
修改公司规模为:
使用现在的国家
使用现在的省份
Subscribe to our newsletter?
Subscribe to our industry email notices?
我们发现您在使用ad blocker。
我们理解您使用ad blocker的初衷,但为了保证InfoQ能够继续以免费方式为您服务,我们需要您的支持。InfoQ绝不会在未经您许可的情况下将您的数据提供给第三方。我们仅将其用于向读者发送相关广告内容。请您将InfoQ添加至白名单,感谢您的理解与支持。Bluemix结合RabbitMq实现消息发送与接收实例
日期: 14:02:17
来源:csdn
Bluemix结合RabbitMq实现消息发送与接收实例
林炳文Evankaka原创作品。转载请注明出处
什么是RabbitMq?
MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消 息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过 队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。
什么是Bluemix?
BlueMix 是 IBM 基于 Cloud Foundry 的开放云架构实现,使您能够快速创建、部署和管理云应用程序。
本文实现了在Bluemix上绑定rabbitMq,然后在本地运行项目来进行消息的发送和接收。
本文实例访问:
BluxMix账号注册:
一、Bluemix项目创建
1、新建一个Bluemix的web工程
如何创建工程可看
2、添加RabbitMQ服务
选择CloudMQP
记下以下数据,工程中会用到
进入工程,打开如下页面
此时如果该服务已绑定项目的话,就会弹出如下界面,这个界面说明了如何在客户端来配置RabbitMq的参数,使用客户端能将消息发布的Bluemix这个类似信息中心的地方。如果没有出现此页面,请回去绑定服务到工程!
二、本地运行发布和获取消息
本文是基于Maven工程的。所以,先建一个Maven项目工程。最后整个工程目录如下:
1、添加Jar包依赖
&properties&
&!-- spring版本号 --&
&spring.version&3.2.8.RELEASE&/spring.version&
&!-- log4j日志文件管理包版本 --&
&slf4j.version&1.6.6&/slf4j.version&
&log4j.version&1.2.12&/log4j.version&
&!-- junit版本号 --&
&junit.version&4.10&/junit.version&
&/properties&
&dependencies&
&!-- 添加Spring依赖 --&
&dependency&
&groupId&org.springframework&/groupId&
&artifactId&spring-core&/artifactId&
&version&${spring.version}&/version&
&/dependency&
&dependency&
&groupId&org.springframework&/groupId&
&artifactId&spring-webmvc&/artifactId&
&version&${spring.version}&/version&
&/dependency&
&dependency&
&groupId&org.springframework&/groupId&
&artifactId&spring-context&/artifactId&
&version&${spring.version}&/version&
&/dependency&
&dependency&
&groupId&org.springframework&/groupId&
&artifactId&spring-context-support&/artifactId&
&version&${spring.version}&/version&
&/dependency&
&dependency&
&groupId&org.springframework&/groupId&
&artifactId&spring-aop&/artifactId&
&version&${spring.version}&/version&
&/dependency&
&dependency&
&groupId&org.springframework&/groupId&
&artifactId&spring-aspects&/artifactId&
&version&${spring.version}&/version&
&/dependency&
&dependency&
&groupId&org.springframework&/groupId&
&artifactId&spring-tx&/artifactId&
&version&${spring.version}&/version&
&/dependency&
&dependency&
&groupId&org.springframework&/groupId&
&artifactId&spring-jdbc&/artifactId&
&version&${spring.version}&/version&
&/dependency&
&dependency&
&groupId&org.springframework&/groupId&
&artifactId&spring-web&/artifactId&
&version&${spring.version}&/version&
&/dependency&
&!--单元测试依赖 --&
&dependency&
&groupId&junit&/groupId&
&artifactId&junit&/artifactId&
&version&${junit.version}&/version&
&scope&test&/scope&
&/dependency&
&!-- 日志文件管理包 --&
&!-- log start --&
&dependency&
&groupId&log4j&/groupId&
&artifactId&log4j&/artifactId&
&version&${log4j.version}&/version&
&/dependency&
&dependency&
&groupId&org.slf4j&/groupId&
&artifactId&slf4j-api&/artifactId&
&version&${slf4j.version}&/version&
&/dependency&
&dependency&
&groupId&org.slf4j&/groupId&
&artifactId&slf4j-log4j12&/artifactId&
&version&${slf4j.version}&/version&
&/dependency&
&!-- log end --&
&!--spring单元测试依赖 --&
&dependency&
&groupId&org.springframework&/groupId&
&artifactId&spring-test&/artifactId&
&version&${spring.version}&/version&
&scope&test&/scope&
&/dependency&
&!--rabbitmq依赖 --&
&dependency&
&groupId&org.springframework.amqp&/groupId&
&artifactId&spring-rabbit&/artifactId&
&version&1.4.5.RELEASE&/version&
&/dependency&
&dependency& --&
&groupId&com.rabbitmq&/groupId& --&
&artifactId&amqp-client&/artifactId& --&
&version&3.3.4&/version& --&
&/dependency& --&
&dependency&
&groupId&javax.validation&/groupId&
&artifactId&validation-api&/artifactId&
&version&1.1.0.Final&/version&
&/dependency&2、消息发送者
MessageProducer.java内容如下:
package com.lin.
import javax.annotation.R
import org.slf4j.L
import org.slf4j.LoggerF
import org.springframework.amqp.core.AmqpT
import org.springframework.stereotype.S
* 功能概要:消息产生,提交到队列中去
* @author linbingwen
public class MessageProducer {
private Logger logger = LoggerFactory.getLogger(MessageProducer.class);
private AmqpTemplate amqpT
public void sendMessage(Object message){
("to send message:{}",message);
amqpTemplate.convertAndSend("queueTestKey",message);
3、消息接收者
MessageConsumer.java内容如下:
package com.lin.
import org.slf4j.L
import org.slf4j.LoggerF
import org.springframework.amqp.core.M
import org.springframework.amqp.core.MessageL
* 功能概要:消费接收
* @author linbingwen
public class MessageConsumer implements MessageListener {
private Logger logger = LoggerFactory.getLogger(MessageConsumer.class);
public void onMessage(Message message) {
("receive message:{}",message.toString());
4、定义消息服务中心
这里笔者在rabbitmq.xml将消息生产和消息者都写在一个文件当中,您也可以分开写。配置基本一样。
&?xml version="1.0" encoding="UTF-8"?&
&beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rabbit="http://www.springframework.org/schema/rabbit"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/rabbit
http://www.springframework.org/schema/rabbit/spring-rabbit-1.0.xsd"&
&!--配置connection-factory,指定连接rabbit server参数 --&
&rabbit:connection-factory id="connectionFactory"
username="zqwocdmu" password="DRR6tF7DCuEq7ugHwlBP8A9zTwu6jI8D" host = "white-swan." virtual-host="zqwocdmu" /&
&!--定义rabbit template用于数据的接收和发送 --&
&rabbit:template id="amqpTemplate"
connection-factory="connectionFactory"
exchange="exchangeTest" /&
&!--通过指定下面的admin信息,当前producer中的exchange和queue会在rabbitmq服务器上自动生成 --&
&rabbit:admin connection-factory="connectionFactory" /&
&!--定义queue --&
&rabbit:queue name="queueTest" durable="true" auto-delete="false" exclusive="false" /&
&!-- 定义direct exchange,绑定queueTest --&
&rabbit:direct-exchange name="exchangeTest" durable="true" auto-delete="false"&
&rabbit:bindings&
&rabbit:binding queue="queueTest" key="queueTestKey"&&/rabbit:binding&
&/rabbit:bindings&
&/rabbit:direct-exchange&
&!-- 消息接收者 --&
&bean id="messageReceiver" class="com.lin.consumer.MessageConsumer"&&/bean&
&!-- queue litener
观察 监听模式 当有消息到达时会通知监听在对应的队列上的监听对象--&
&rabbit:listener-container connection-factory="connectionFactory"&
&rabbit:listener queues="queueTest" ref="messageReceiver"/&
&/rabbit:listener-container&
&/beans&其中配置内容和Bluemix上的对应关系如下:
5、Spring中加载rabbitmq.xml的配置内容
整个application.xml内容如下:
&?xml version="1.0" encoding="UTF-8"?&
&beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd"&
&import resource="classpath*:rabbitmq.xml" /&
&!-- 扫描指定package下所有带有如@controller,@services,@resource,@ods并把所注释的注册为Spring Beans --&
&context:component-scan base-package="com.lin.consumer,com.lin.producer" /&
&!-- 激活annotation功能 --&
&context:annotation-config /&
&!-- 激活annotation功能 --&
&context:spring-configured /&
&/beans&6、测试消息服务
这里笔者简单写了一个不断发送消息和一个不断接收消息的测试
package com.
import javax.annotation.R
import org.junit.B
import org.junit.T
import org.slf4j.L
import org.slf4j.LoggerF
import org.springframework.amqp.core.AmqpT
import org.springframework.context.ApplicationC
import org.springframework.context.support.ClassPathXmlApplicationC
import org.springframework.retry.backoff.S
import com.lin.producer.MessageP
* 功能概要:
* @author linbingwen
public class MessageTest
private Logger logger = LoggerFactory.getLogger(MessageTest.class);
private ApplicationContext context =
public void setUp() throws Exception {
context = new ClassPathXmlApplicationContext("application.xml");
public void should_send_a_amq_message() throws Exception {
MessageProducer messageProducer = (MessageProducer) context.getBean("messageProducer");
int a = Integer.MAX_VALUE;
while (a & 0) {
messageProducer.sendMessage("Hello, I am amq sender num :" + a--);
//暂停一下,好让消息消费者去取消息打印出来
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
来看看Eclipse上运行的结果:
可以看到,消息不断的产生和消费。
当然,您也可以进入到RabbitMq的消息服务中心,点击如下:
点击进去如下显示,这里可以看到消息队列、当前的连接数
queueTest就是上面的代码中配置的队列
还可以看到其消息生产和消费的速度等。
三、web项目中来使用rabbitMq
1、定义一个页面用来发消息和接消息:
&!DOCTYPE html&
&meta charset="UTF-8"&
&script src="&%=request.getContextPath()%&/static/js/jquery-2.1.4.min.js"&&/script&
&h2&Hello World!&/h2&
&textarea rows="10" cols="40" id = "msg"&&/textarea&
&button id = "sendMsg"&发送消息&/button&
&button id = "recvMsg"&接收消息&/button&
&script type="text/javascript"&
$(document).ready(function(){
//获取当前项目的路径
var urlRootContext = (function () {
var strPath = window.document.location.
var postPath = strPath.substring(0, strPath.substr(1).indexOf('/') + 1);
return postP
$("#sendMsg").click(function(){
var msg = $('#msg').val();
if (msg == '') {
alert('请输入消息内容 ');
url:urlRootContext + '/sendMsg',// 跳转到 action
message :msg ,
type:'POST',
async:false,
dataType:'json',
success:function(data) {
console.log(data);
alert("发送信息成功!");
error: function(xhr, type, exception) {
alert("服务器异常,请稍候重试!");
console.log(xhr);
console.log(type);
console.log(exception);
$("#recvMsg").click(function(){
url:urlRootContext + '/revcMsg',// 跳转到 action
type:'POST',
async:false,
dataType:'json',
success:function(data) {
console.log(data);
alert("接收一条消息成功!,消息为:" + data.string);
error: function(xhr, type, exception) {
alert("服务器异常,请稍候重试!");
console.log(xhr);
console.log(type);
console.log(exception);
其中,发消息和接消息都是通过ajax的方式来传递到Controller层中,然后返回json数据到前台。
页面效果如下:
2、Controller层:
这里需要注意的是消息生产者是的数据服务中心是使用rabbitmq.xml里的配置,但是消息消费都这里是用Java代码来实现的。
package com.lin.
import java.io.IOE
import java.util.HashM
import java.util.M
import javax.annotation.R
import net.sf.json.JSONO
import org.slf4j.L
import org.slf4j.LoggerF
import org.springframework.stereotype.C
import org.springframework.web.bind.annotation.RequestM
import org.springframework.web.bind.annotation.ResponseB
import com.lin.consumer.MessageC
import com.lin.producer.MessageP
import com.rabbitmq.client.C
import com.rabbitmq.client.C
import com.rabbitmq.client.ConnectionF
import com.rabbitmq.client.ConsumerCancelledE
import com.rabbitmq.client.QueueingC
import com.rabbitmq.client.ShutdownSignalE
import com.rabbitmq.client.QueueingConsumer.D
* 功能概要:UserController
* @author linbingwen
@Controller
public class MessageController
private MessageProducer messageP
private Logger logger = LoggerFactory.getLogger(getClass());
* 显示首页
* @author linbingwen
@RequestMapping("/test")
public String message(){
("open message.jsp");
return "message";
* 用来发送消息
* @author linbingwen
* @param message
@RequestMapping("/sendMsg")
@ResponseBody
public String sendMsg(String message) {
("to send message:{}",message);
messageProducer.sendMessage(message);
Map&String,Object& map = new HashMap&String,Object&();
map.put("flag", true);
JSONObject jsonObject =
JSONObject.fromObject(map);
return jsonObject.toString();
* 用来接收消息
* @author linbingwen
* @param message
@RequestMapping("/revcMsg")
@ResponseBody
public String revcMsg() {
String string = getMsg();
if (string != null) {
string = "null";
Map&String,Object& map = new HashMap&String,Object&();
map.put("string", string);
JSONObject jsonObject =
JSONObject.fromObject(map);
return jsonObject.toString();
String getMsg() {
ConnectionFactory connFac = new ConnectionFactory() ;
connFac.setHost("white-swan.");
connFac.setPassword("DRR6tF7DCuEq7ugHwlBP8A9zTwu6jI8D");
connFac.setUsername("zqwocdmu");
connFac.setVirtualHost("zqwocdmu");
Connection conn =
conn = connFac.newConnection();
} catch (IOException e) {
e.printStackTrace();
Channel channel =
channel = conn.createChannel();
} catch (IOException e) {
e.printStackTrace();
String queueName = "queueTest";
channel.queueDeclare(queueName, true, false, false, null) ;
} catch (IOException e) {
e.printStackTrace();
//配置好获取消息的方式
QueueingConsumer consumer = new QueueingConsumer(channel) ;
channel.basicConsume(queueName, true, consumer) ;
} catch (IOException e) {
e.printStackTrace();
//循环获取消息
while(true){
//获取消息,如果没有消息,这一步将会一直阻塞
Delivery delivery =
delivery = consumer.nextDelivery();
} catch (ShutdownSignalException e) {
e.printStackTrace();
} catch (ConsumerCancelledException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
String msg = new String(delivery.getBody()) ;
System.out.println("received message[" + msg + "] from " + queueName);
conn.close();
} catch (IOException e) {
e.printStackTrace();
3、rabbitMq.xml内容如下:
和上面的工程相比,去掉了消息监听器。而把它放在Controller层中来使用。就是上面的getMsg()代码。
&?xml version="1.0" encoding="UTF-8"?&
&beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rabbit="http://www.springframework.org/schema/rabbit"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/rabbit
http://www.springframework.org/schema/rabbit/spring-rabbit-1.0.xsd"&
&!--配置connection-factory,指定连接rabbit server参数 --&
&rabbit:connection-factory id="connectionFactory" --&
username="asdf" password="123456" host="10.75.4.25" port="5672" /& --&
&rabbit:connection-factory id="connectionFactory"
username="zqwocdmu" password="DRR6tF7DCuEq7ugHwlBP8A9zTwu6jI8D" host = "white-swan." virtual-host="zqwocdmu" /&
&!--定义rabbit template用于数据的接收和发送 --&
&rabbit:template id="amqpTemplate"
connection-factory="connectionFactory"
exchange="exchangeTest" /&
&!--通过指定下面的admin信息,当前producer中的exchange和queue会在rabbitmq服务器上自动生成 --&
&rabbit:admin connection-factory="connectionFactory" /&
&!--定义queue --&
&rabbit:queue name="queueTest" durable="true" auto-delete="false" exclusive="false" /&
&!-- 定义direct exchange,绑定queueTest --&
&rabbit:direct-exchange name="exchangeTest" durable="true" auto-delete="false"&
&rabbit:bindings&
&rabbit:binding queue="queueTest" key="queueTestKey"&&/rabbit:binding&
&/rabbit:bindings&
&/rabbit:direct-exchange&
&!-- 消息接收者 --&
&bean id="messageReceiver" class="com.lin.consumer.MessageConsumer"&&/bean& --&
&!-- queue litener
观察 监听模式 当有消息到达时会通知监听在对应的队列上的监听对象--&
&rabbit:listener-container connection-factory="connectionFactory"& --&
&rabbit:listener queues="queueTest" ref="messageReceiver"/& --&
&/rabbit:listener-container& --&
这是给远程的Bluemix上绑定的服务中心发消息,
这是获取消息
当然,也可以看日志:
最后一步打war包,然后上传到Bluemix中心即可:
接收消息:
(这里要注意一定要先发送消息,要不接收消息会一直阻塞会去,整个页面会卡死,而且接收消息的过程非常缓慢,请耐心等待!)
本文实例访问:
本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。
span/*** * @author YangXin * @date
* @info Libimseti的用户推荐系统 * 下列代码显示了一个推荐程序的实现,其中包含了前面所讲的基于用户的推荐引擎 */package unitFimport java.io.Fimport java.io.IOEimport java.util.Cimport java.util.Limport org.apache.mahout.cf.ta
span/*** * @author YangXin * @info 基于性别的IDRscorer * 对于在乎性别的用户,IDRscorer能够对物品或用户档案进行过滤。 * 首先,可以先通过检查已经评价过的档案的性别,来猜测该用户所偏好 * 的性别。然后,就可以过滤与之性别相反的档案。 */package unitFimport java.io.Fimport java.io.IOEimport org.apache.mahout.mon.Ta
做为一个程序员可能在学习技术,了解行业新动态,解决问题时经常需要阅读英文的内容;而像我这样的英文小白就只能借助翻译工具才能理解个大概;不禁经常感慨,英文对学习计算机相关知识太重要了!最近发现IBM的云平台Blumemix,并且提供语言翻译的服务,感觉不错,就拿来研究学习一下;这里就分享一下我的研究学习过程,如何使用Node.js调用REST API打造自己的在线翻译工具,并演示如何把它发布到云平台上, 让每个人都可以通过网络访问使用它。 应用效果展示 您可以通过点击效果图片的链接访问它。 构建一个类似的应
随着比例设置的不同,Hilbert的阶数也不相同,但会发现,阶数到了一定程度,对于数据来说就是冗余了,因为空间要素的密度是固定的了。生成的图片就变化不大了。
这两个概念的结合目前热得发烫,并号称人类已从“计算机 + 软件 ” 模式的工业经济进入到了以 “ 云计算 + 大数据 ” 模式的信息经济,马云的概括是由 IT 时代到了 DT 时代。
彩云、白云、乌云、马云 …… 无论是什么云,未来最流行最有搞头的应该是混合云,尽管理论上来说大企业们更喜欢混合云,你让他们完全上公有云玩过家家是不太可能的,他们很有可能是大部分东西捂着,一小部分东西开放,偏向于闷骚型的,可是中小企业们就不一样啊,他们没什么东西值得捂着的,完全地明骚,只有这样,才有可能获得公有云
Trafficserver的主要功能是缓存,当然你也可以用它来做纯粹的反向代理(像通常用nginx那样)。通常切入一个庞大的系统的最好方式是看如何使用,使用traffic server的主要入口有两个:配置文件和插件。所有使用者都需要配置文件,高级使用者则需要插件。 traffic支持大规模的集群处理,不同于nginx的单点(需要ospf均衡链路来做冗余),所有的配置文件可以做到改动一个通知全部。程序根据功能划分为不同的几个子程序,有服务运行时使用的程序,也有管理使用的。详细见下
计划的由来 我们是一群对机器学习感兴趣的小伙伴,对于神奇的机器学习经常有“一探究竟”的冲动,却因为孤身一人学习的寂寞、亦或繁忙考试工作之余的小小拖延症,而没有持续这份对知识的渴求和热情。 由于深感类似情况的小伙伴之多,我们希望建立一个“ML学分计划”——机器学习的学习和分享计划——来帮助我们一起更高效地学习、更集中地整理分享我们的知识和经验。因为我们也深信”证明自己真的透彻理解一个知识,最好的方法,是给一个不熟悉这个内容的人,讲清楚这个内容“。 这是一个开放、平等的计划 大家的进步需要你的加入和努力 每一
绘图时的中文乱码问题 我这是Mac Yousemite 10.10.5,在两个地方遇到了中文乱码 1、使用wordcloud包绘制中文标签云时。 library (wordcloud)mydata - read.csv( 'word-count.txt' ,header= T ,stringsAsFactors= F )jpeg(filename= 'wordcloud.jpg' , width= 800 ,height= 800 ,units= 'px' )mycolor - colorRampPale
文章出处:/YeJieDongTai/29119.html
大数据已成为媒体与大众关注的新技术,大数据的应用也预示着信息时代将进入一个新阶段,但人们对大数据的认识有一个不断加深的过程。首先从“信息时代新阶段”、数据文化和认识论的高度阐述了对大数据的理解;接着通过对驱动效益和大成智慧的解释,探讨了如何正确认识大数据的价值和效益,并从复杂性的角度分析了大数据研究和应用面临的挑战;最后对发展大数据应避免的误区提出几点看法。 1 大数据
1 Hadoop Configuration简介
Hadoop没有使用java.util.Properties管理配置文件,也没有使用Apache Jakarta Commons Configuration管理配置文件,而是使用了一套独有的配置文件管理系统,并提供自己的API,即使用org.apache.hadoop.conf.Configuration处理配置信息。 2 Hadoop配置文件的格式解析
Hadoop配置文件采用XML格式,下面是Hadoop配置文件的一个例子:
Copyright (C)
ITfish.net

我要回帖

更多关于 springcloud rabbitmq 的文章

 

随机推荐