Skip to content

Instantly share code, notes, and snippets.

@chathurangat
Last active November 5, 2017 09:13
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save chathurangat/f9a838cd6c443f6a04195d37f164f1e1 to your computer and use it in GitHub Desktop.
package com.springbootdev.samples.producer.core;
import com.springbootdev.samples.producer.model.Item;
import com.springbootdev.samples.producer.model.Order;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Component
public class Producer
{
@Autowired
private RabbitTemplate rabbitTemplate;
private static final Logger LOGGER = LoggerFactory.getLogger(Producer.class);
private static final String EXCHANGE = "sales_data_exchange";
private static final String ROUTING_KEY = "customer.order";
@Scheduled(fixedRate = 1000)
public void produce()
{
LOGGER.info(" Publishing the Customer Order");
Order order = this.getOrder();
rabbitTemplate.convertAndSend(EXCHANGE, ROUTING_KEY, order);
}
private Order getOrder()
{
List<Item> orderItemList = new ArrayList<>();
Item item1 = new Item("Phone", 1);
orderItemList.add(item1);
Item item2 = new Item("SIM", 1);
orderItemList.add(item2);
Item item3 = new Item("Charger", 1);
orderItemList.add(item3);
return new Order("Chathuranga Tennakoon", new Date(), "www.springbootdev.com", orderItemList);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment