demo
# Demo
## 请求部分
详情见Api接口文档进行请求
## MQ返回结果部分
如下代码仅供参考
- AMQ
```Java
- Config
@Bean(name = "connectionFactory")
public ConnectionFactory connectionFactory() {
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory();
connectionFactory.setBrokerURL(amq_url);
connectionFactory.setUserName(amq_user);
connectionFactory.setPassword(amq_password);
return connectionFactory;
}
@Bean
public JmsListenerContainerFactory jmsTopicListenerConnectFactory(@Qualifier("connectionFactory") ConnectionFactory connectionFactory){
DefaultJmsListenerContainerFactory defaultJmsListenerContainerFactory = new DefaultJmsListenerContainerFactory();
defaultJmsListenerContainerFactory.setConnectionFactory(connectionFactory);
defaultJmsListenerContainerFactory.setPubSubDomain(true);
defaultJmsListenerContainerFactory.setAutoStartup(true);
defaultJmsListenerContainerFactory.setSessionTransacted(false);
defaultJmsListenerContainerFactory.setSessionAcknowledgeMode(JmsProperties.AcknowledgeMode.AUTO.getMode());
return defaultJmsListenerContainerFactory;
}
- QueueConsumer
@Component
public class QueueConsumer {
@JmsListener(destination = "queue.ghghghgghghghgghghgghghghgghgh")
public void queueConsumer(Message message){
if(message instanceof ByteMessage) {
System.out.println(message);
//todo doBusinessHandle
}
}
}
- TopicConsumer
@Component
public class TopicConsumer {
@JmsListener(destination = "topic.ghghghgghghghgghghgghghghgghgh",containerFactory = "jmsTopicListenerConnectFactory" )
public void topicConsumer(Message message){
if(message instanceof ByteMessage) {
System.out.println(message);
//todo doBusinessHandle
}
}
}
```
- RMQ
```Java
- Config
@Bean(name = "rabbitmqConsumerConnectionFactory")
public ConnectionFactory rabbitmqConsumerConnectionFactory() {
CachingConnectionFactory connectionFactory = new CachingConnectionFactory();
connectionFactory.setAddresses(env.getProperty("mq.rabbitmq.addresses"));
connectionFactory.setUsername(env.getProperty("mq.rabbitmq.username"));
connectionFactory.setPassword(env.getProperty("mq.rabbitmq.password"));
connectionFactory.setVirtualHost(env.getProperty("mq.rabbitmq.virtual-host"));
return connectionFactory;
}
@Bean(name = "simpleRabbitListenerContainerFactory")
public SimpleRabbitListenerContainerFactory simpleRabbitListenerContainerFactory() {
SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();
factory.setConnectionFactory(rabbitmqConsumerConnectionFactory());
factory.setMessageConverter(new SimpleMessageConverter());
factory.setConcurrentConsumers(5);
factory.setPrefetchCount(2);
factory.setAcknowledgeMode(AcknowledgeMode.AUTO);
return factory;
}
- Consumer
@Component
public class Consumer{
@RabbitListener(queues = "topic.ghghghghgghh")
public void handleMessage(byte[] message){
ActiveMQBytesMessage bytesMessage = (ActiveMQBytesMessage) message;
byte[] bytes = new byte[(int) bytesMessage.getBodyLength()];
bytesMessage.readBytes(bytes);
String string = new String(bytes, Charsets.UTF_8);
jsonObject = JSONObject.parseObject(string);
}
}
```