ConService.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using Apache.NMS;
  7. using Apache.NMS.ActiveMQ;
  8. using Apache.NMS.Util;
  9. using Newtonsoft.Json;
  10. using wms.util.Http;
  11. namespace wms.workservice
  12. {
  13. public class ConService
  14. {
  15. System.IO.StreamWriter streamWriter = new("E:\\log.txt", true);
  16. public void WriteLog(string str)
  17. {
  18. streamWriter.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ffff") + " ==== " + str);
  19. }
  20. public void FJConsumer()
  21. {
  22. streamWriter.WriteLine("启动分拣消费");
  23. string queuesName = "ESB.OUT.163LFJ.Q";
  24. string confuri = wms.util.AppSettings.GetConfig("MqTcpUri:fjurl");
  25. //Uri _uri = new Uri(String.Concat("activemq: failover:(tcp://esb-pre.zt.net.cn:61616?wireFormat.maxInactivityDuration-0)"));
  26. Uri _uri = new Uri(String.Concat("activemq:failover:(" + confuri + ")?randomize=false"));
  27. IConnectionFactory factory = new ConnectionFactory(_uri);
  28. IConnection conn = factory.CreateConnection("esbadminrw", "esbadminrw");
  29. Apache.NMS.ISession session = conn.CreateSession();
  30. conn.Start();
  31. IDestination destination = SessionUtil.GetDestination(session, queuesName);
  32. IMessageConsumer consumer = session.CreateConsumer(destination);
  33. consumer.Listener += (IMessage message) =>
  34. {
  35. ITextMessage msg = (ITextMessage)message;
  36. Console.WriteLine("接收消息:" + msg.Text);
  37. streamWriter.WriteLine("分拣消费接收消息" + msg.Text);
  38. foreach (var key in msg.Properties.Keys.Cast<string>())
  39. {
  40. var keyvalue = message.Properties[key];
  41. if (keyvalue != null && key == "serviceCode")
  42. {
  43. if (wms.util.AppSettings.GetConfig("ApiUrl:"+keyvalue.ToString()) != null)
  44. {
  45. var aa = wms.util.AppSettings.GetConfig("ApiUrl:" + keyvalue.ToString());
  46. //streamWriter.WriteLine("分拣消费post调用请求:" + wms.util.AppSettings.GetConfig("ApiUrl:" + keyvalue.ToString()));
  47. //var res = HttpUtil.PostRequest(wms.util.AppSettings.GetConfig("ApiUrl:" + keyvalue.ToString()), msg.Text, 30000);
  48. //streamWriter.WriteLine("分拣消费post调用返回:" + res);
  49. }
  50. Console.WriteLine("接收消息:" + message.Properties[key]);
  51. }
  52. }
  53. };
  54. }
  55. }
  56. }