1网页静态化方案
》网页最好预先生成好
2.改造jsp成freemarker
3.MessageListener实现
》在item-web实现对商品添加的监听器,用于同步或生成静态页面
》写入核心依赖,springmvc配置activemq相关的对象
》书写代码:
public class ItemAddMessageListener implements MessageListener{ @Autowired private ItemService itemService; @Autowired private FreeMarkerConfigurer configurer; public void onMessage(Message message) { //1.创建模板文件(手动创建) try { //2.获取商品id TextMessage textMessage = (TextMessage) message; String str_id = textMessage.getText(); Long itemId = new Long(str_id); //3.查询商品 TbItem tbItem = itemService.getItemById(itemId); Item item = new Item(tbItem); //4.查询商品描述 TbItemDesc itemDesc = itemService.getItemDescById(itemId); //5.创建map,添加数据集到map HashMap<String, Object> map = new HashMap<String,Object>(); map.put("item", item); map.put("itemDesc", itemDesc); //6.创建流 FileWriter writer = new FileWriter( new File("D:/tmp/"+itemId+".html") ); //7.加载指定的模板文件,生成模板对象 Configuration configuration = configurer.getConfiguration(); Template template = configuration.getTemplate("index.ftl"); //8.生成文件 template.process(map, writer); //9.关闭流 writer.close(); } catch (Exception e) { e.printStackTrace(); } } }
4.nginx访问静态页面