Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
caopu16
whatsmars
提交
aaf116d8
W
whatsmars
项目概览
caopu16
/
whatsmars
与 Fork 源项目一致
Fork自
武汉红喜 / whatsmars
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
W
whatsmars
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
aaf116d8
编写于
1月 07, 2018
作者:
武汉红喜
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
rocketmq spring
上级
cc2968ac
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
216 addition
and
3 deletion
+216
-3
whatsmars-mq/src/main/java/org/hongxi/whatsmars/mq/rocketmq/spring/Consumer.java
...ava/org/hongxi/whatsmars/mq/rocketmq/spring/Consumer.java
+9
-0
whatsmars-mq/src/main/java/org/hongxi/whatsmars/mq/rocketmq/spring/ConsumerFactoryBean.java
...gxi/whatsmars/mq/rocketmq/spring/ConsumerFactoryBean.java
+73
-0
whatsmars-mq/src/main/java/org/hongxi/whatsmars/mq/rocketmq/spring/DemoMessageListener.java
...gxi/whatsmars/mq/rocketmq/spring/DemoMessageListener.java
+16
-0
whatsmars-mq/src/main/java/org/hongxi/whatsmars/mq/rocketmq/spring/Producer.java
...ava/org/hongxi/whatsmars/mq/rocketmq/spring/Producer.java
+36
-0
whatsmars-mq/src/main/java/org/hongxi/whatsmars/mq/rocketmq/spring/ProducerFactoryBean.java
...gxi/whatsmars/mq/rocketmq/spring/ProducerFactoryBean.java
+50
-0
whatsmars-mq/src/main/resources/_broker.properties
whatsmars-mq/src/main/resources/_broker.properties
+1
-1
whatsmars-mq/src/main/resources/broker.properties
whatsmars-mq/src/main/resources/broker.properties
+1
-1
whatsmars-mq/src/main/resources/namesrv.properties
whatsmars-mq/src/main/resources/namesrv.properties
+1
-1
whatsmars-mq/src/main/resources/spring/rocketmq-consumer.xml
whatsmars-mq/src/main/resources/spring/rocketmq-consumer.xml
+17
-0
whatsmars-mq/src/main/resources/spring/rocketmq-producer.xml
whatsmars-mq/src/main/resources/spring/rocketmq-producer.xml
+12
-0
未找到文件。
whatsmars-mq/src/main/java/org/hongxi/whatsmars/mq/rocketmq/spring/Consumer.java
0 → 100644
浏览文件 @
aaf116d8
package
org.hongxi.whatsmars.mq.rocketmq.spring
;
import
org.apache.xbean.spring.context.ClassPathXmlApplicationContext
;
public
class
Consumer
{
public
static
void
main
(
String
[]
args
)
{
new
ClassPathXmlApplicationContext
(
"spring/rocketmq-consumer.xml"
);
}
}
whatsmars-mq/src/main/java/org/hongxi/whatsmars/mq/rocketmq/spring/ConsumerFactoryBean.java
0 → 100644
浏览文件 @
aaf116d8
package
org.hongxi.whatsmars.mq.rocketmq.spring
;
import
org.apache.rocketmq.client.consumer.DefaultMQPushConsumer
;
import
org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently
;
import
org.apache.rocketmq.common.consumer.ConsumeFromWhere
;
import
org.springframework.beans.factory.DisposableBean
;
import
org.springframework.beans.factory.FactoryBean
;
import
org.springframework.beans.factory.InitializingBean
;
public
class
ConsumerFactoryBean
implements
FactoryBean
<
DefaultMQPushConsumer
>,
InitializingBean
,
DisposableBean
{
private
DefaultMQPushConsumer
consumer
;
private
String
consumerGroup
;
private
String
namesrvAddr
;
private
String
topic
;
private
String
tags
;
private
MessageListenerConcurrently
messageListener
;
public
void
setConsumerGroup
(
String
consumerGroup
)
{
this
.
consumerGroup
=
consumerGroup
;
}
public
void
setNamesrvAddr
(
String
namesrvAddr
)
{
this
.
namesrvAddr
=
namesrvAddr
;
}
public
void
setTopic
(
String
topic
)
{
this
.
topic
=
topic
;
}
public
void
setTags
(
String
tags
)
{
this
.
tags
=
tags
;
}
public
void
setMessageListener
(
MessageListenerConcurrently
messageListener
)
{
this
.
messageListener
=
messageListener
;
}
@Override
public
DefaultMQPushConsumer
getObject
()
throws
Exception
{
return
consumer
;
}
@Override
public
Class
<?>
getObjectType
()
{
return
DefaultMQPushConsumer
.
class
;
}
@Override
public
boolean
isSingleton
()
{
return
true
;
}
@Override
public
void
afterPropertiesSet
()
throws
Exception
{
consumer
=
new
DefaultMQPushConsumer
(
consumerGroup
);
consumer
.
setNamesrvAddr
(
namesrvAddr
);
consumer
.
setConsumeFromWhere
(
ConsumeFromWhere
.
CONSUME_FROM_FIRST_OFFSET
);
consumer
.
subscribe
(
topic
,
tags
);
consumer
.
registerMessageListener
(
messageListener
);
consumer
.
start
();
}
@Override
public
void
destroy
()
throws
Exception
{
consumer
.
shutdown
();
}
}
whatsmars-mq/src/main/java/org/hongxi/whatsmars/mq/rocketmq/spring/DemoMessageListener.java
0 → 100644
浏览文件 @
aaf116d8
package
org.hongxi.whatsmars.mq.rocketmq.spring
;
import
org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext
;
import
org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus
;
import
org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently
;
import
org.apache.rocketmq.common.message.MessageExt
;
import
java.util.List
;
public
class
DemoMessageListener
implements
MessageListenerConcurrently
{
@Override
public
ConsumeConcurrentlyStatus
consumeMessage
(
List
<
MessageExt
>
messages
,
ConsumeConcurrentlyContext
consumeConcurrentlyContext
)
{
System
.
out
.
printf
(
Thread
.
currentThread
().
getName
()
+
" Receive New Messages: "
+
messages
+
"%n"
);
return
ConsumeConcurrentlyStatus
.
CONSUME_SUCCESS
;
}
}
whatsmars-mq/src/main/java/org/hongxi/whatsmars/mq/rocketmq/spring/Producer.java
0 → 100644
浏览文件 @
aaf116d8
package
org.hongxi.whatsmars.mq.rocketmq.spring
;
import
org.apache.rocketmq.client.producer.DefaultMQProducer
;
import
org.apache.rocketmq.client.producer.SendResult
;
import
org.apache.rocketmq.common.message.Message
;
import
org.apache.rocketmq.remoting.common.RemotingHelper
;
import
org.apache.xbean.spring.context.ClassPathXmlApplicationContext
;
public
class
Producer
{
public
static
void
main
(
String
[]
args
)
throws
InterruptedException
{
ClassPathXmlApplicationContext
context
=
new
ClassPathXmlApplicationContext
(
"spring/rocketmq-producer.xml"
);
DefaultMQProducer
producer
=
(
DefaultMQProducer
)
context
.
getBean
(
"defaultMQProducer"
);
for
(
int
i
=
0
;
i
<
1000
;
i
++)
{
try
{
/*
* Create a message instance, specifying topic, tag and message body.
*/
Message
msg
=
new
Message
(
"TopicTest"
/* Topic */
,
"TagA"
/* Tag */
,
(
"Hello RocketMQ "
+
i
).
getBytes
(
RemotingHelper
.
DEFAULT_CHARSET
)
/* Message body */
);
/*
* Call send message to deliver message to one of brokers.
*/
SendResult
sendResult
=
producer
.
send
(
msg
);
System
.
out
.
printf
(
"%s%n"
,
sendResult
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
Thread
.
sleep
(
1000
);
}
}
}
}
whatsmars-mq/src/main/java/org/hongxi/whatsmars/mq/rocketmq/spring/ProducerFactoryBean.java
0 → 100644
浏览文件 @
aaf116d8
package
org.hongxi.whatsmars.mq.rocketmq.spring
;
import
org.apache.rocketmq.client.producer.DefaultMQProducer
;
import
org.springframework.beans.factory.DisposableBean
;
import
org.springframework.beans.factory.FactoryBean
;
import
org.springframework.beans.factory.InitializingBean
;
public
class
ProducerFactoryBean
implements
FactoryBean
<
DefaultMQProducer
>,
InitializingBean
,
DisposableBean
{
private
DefaultMQProducer
producer
;
private
String
producerGroup
;
private
String
namesrvAddr
;
public
void
setProducerGroup
(
String
producerGroup
)
{
this
.
producerGroup
=
producerGroup
;
}
public
void
setNamesrvAddr
(
String
namesrvAddr
)
{
this
.
namesrvAddr
=
namesrvAddr
;
}
@Override
public
DefaultMQProducer
getObject
()
throws
Exception
{
return
producer
;
}
@Override
public
Class
<?>
getObjectType
()
{
return
DefaultMQProducer
.
class
;
}
@Override
public
boolean
isSingleton
()
{
return
true
;
}
@Override
public
void
afterPropertiesSet
()
throws
Exception
{
producer
=
new
DefaultMQProducer
(
producerGroup
);
producer
.
setNamesrvAddr
(
namesrvAddr
);
producer
.
start
();
}
@Override
public
void
destroy
()
throws
Exception
{
producer
.
shutdown
();
}
}
whatsmars-mq/src/main/resources/_broker.properties
浏览文件 @
aaf116d8
rocketmqHome
=
D:
/github/rocketmq/distribution
rocketmqHome
=
/Users/javahongxi
/github/rocketmq/distribution
namesrvAddr
=
127.0.0.1:9876
brokerName
=
broker-b
listenPort
=
20911
...
...
whatsmars-mq/src/main/resources/broker.properties
浏览文件 @
aaf116d8
rocketmqHome
=
D:
/github/rocketmq/distribution
rocketmqHome
=
/Users/javahongxi
/github/rocketmq/distribution
namesrvAddr
=
127.0.0.1:9876
brokerName
=
broker-a
listenPort
=
10911
...
...
whatsmars-mq/src/main/resources/namesrv.properties
浏览文件 @
aaf116d8
rocketmqHome
=
D:
/github/rocketmq/distribution
rocketmqHome
=
/Users/javahongxi
/github/rocketmq/distribution
listenPort
=
9876
\ No newline at end of file
whatsmars-mq/src/main/resources/spring/rocketmq-consumer.xml
0 → 100644
浏览文件 @
aaf116d8
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns=
"http://www.springframework.org/schema/beans"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd"
default-autowire=
"byName"
>
<bean
class=
"org.hongxi.whatsmars.mq.rocketmq.spring.ConsumerFactoryBean"
>
<property
name=
"consumerGroup"
value=
"quick_start_consumer_group"
/>
<property
name=
"namesrvAddr"
value=
"127.0.0.1:9876"
/>
<property
name=
"topic"
value=
"TopicTest"
/>
<property
name=
"tags"
value=
"*"
/>
<property
name=
"messageListener"
ref=
"demoMessageListener"
/>
</bean>
<bean
id=
"demoMessageListener"
class=
"org.hongxi.whatsmars.mq.rocketmq.spring.DemoMessageListener"
/>
</beans>
\ No newline at end of file
whatsmars-mq/src/main/resources/spring/rocketmq-producer.xml
0 → 100644
浏览文件 @
aaf116d8
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns=
"http://www.springframework.org/schema/beans"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd"
default-autowire=
"byName"
>
<bean
id=
"defaultMQProducer"
class=
"org.hongxi.whatsmars.mq.rocketmq.spring.ProducerFactoryBean"
>
<property
name=
"producerGroup"
value=
"quick_start_producer_group"
/>
<property
name=
"namesrvAddr"
value=
"127.0.0.1:9876"
/>
</bean>
</beans>
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录