当前位置: 首页 > news >正文

网站首页网址应该有对应的域名哪些网站可以做百科参考资料

网站首页网址应该有对应的域名,哪些网站可以做百科参考资料,企业邮箱注册登录入口,外贸电商网站开发价格文章目录 1.RPC客户端2.RabbitMQ连接信息实体类3.XML工具类 本文档只是为了留档方便以后工作运维#xff0c;或者给同事分享文档内容比较简陋命令也不是特别全#xff0c;不适合小白观看#xff0c;如有不懂可以私信#xff0c;上班期间都是在得 直接上代码了 1.RPC客户端 … 文章目录 1.RPC客户端2.RabbitMQ连接信息实体类3.XML工具类 本文档只是为了留档方便以后工作运维或者给同事分享文档内容比较简陋命令也不是特别全不适合小白观看如有不懂可以私信上班期间都是在得 直接上代码了 1.RPC客户端 RPC客户端 /*** ClassName: RPCClient* Description: RPC 客户端* Author: XHao* Date: 2024/8/30 11:14*/ public class RPCClient {private Connection connection;private Channel channel;private String requestQueueName XYG.HS.MES.PRD.CNXsvr;private String replyQueueName;public RPCClient() {}public RPCClient(XygMqIesConnInfo xygMqIesConnInfo) throws IOException, TimeoutException {//建立一个连接和一个通道并为回调声明一个唯一的回调队列ConnectionFactory factory new ConnectionFactory();factory.setHost(xygMqIesConnInfo.getHost());factory.setPort(xygMqIesConnInfo.getPort());factory.setUsername(xygMqIesConnInfo.getUserName());factory.setPassword(xygMqIesConnInfo.getPwd());factory.setVirtualHost(IES);try {connection factory.newConnection();System.err.println(创建通道);channel connection.createChannel();System.err.println(创建成功);}catch (Exception e){System.err.println(报错信息e.getMessage());}//定义一个临时变量的接受队列名System.err.println(定义一个临时变量的接受队列名);replyQueueName channel.queueDeclare().getQueue();}//发送RPC请求public String call(String message) throws IOException, InterruptedException {//生成一个唯一的字符串作为回调队列的编号String corrId UUID.randomUUID().toString();//发送请求消息消息使用了两个属性replyto和correlationId//服务端根据replyto返回结果客户端根据correlationId判断响应是不是给自己的AMQP.BasicProperties props new AMQP.BasicProperties.Builder().correlationId(corrId).replyTo(replyQueueName).build();//发布一个消息requestQueueName路由规则System.err.println(发布一个消息);System.err.println(消息内容);System.err.println( message );System.err.println();System.err.println();System.err.println();System.err.println(回调队列的编号);System.err.println(请求时间new Date());System.err.println( correlationId::props.getCorrelationId() );System.err.println( ReplyTo::props.getReplyTo() );channel.basicPublish(, requestQueueName, props, message.getBytes(StandardCharsets.UTF_8));//由于我们的消费者交易处理是在单独的线程中进行的因此我们需要在响应到达之前暂停主线程。//这里我们创建的 容量为1的阻塞队列ArrayBlockingQueue因为我们只需要等待一个响应。final BlockingQueueString response new ArrayBlockingQueueString(1);//获取响应消息System.err.println(获取响应消息);channel.basicConsume(replyQueueName, true, new DefaultConsumer(channel) {Overridepublic void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties,byte[] body) throws IOException {//检查它的correlationId是否是我们所要找的那个if (properties.getCorrelationId().equals(corrId)) {//如果是则响应BlockingQueueresponse.offer(new String(body, UTF-8));}}});return response.take();}public void close() throws IOException {connection.close();}public static JSONObject getResult(XygMqIesConnInfo xygMqIesConnInfo, String msg) {if (Objects.isNull(xygMqIesConnInfo) || Objects.isNull(msg)) {return null;}RPCClient fibonacciRpc null;String response null;try {fibonacciRpc new RPCClient(xygMqIesConnInfo);response fibonacciRpc.call(msg);System.err.println(响应消息response);} catch (IOException | InterruptedException e) {e.printStackTrace();throw new RuntimeException(RPC调用异常);} catch (TimeoutException e) {e.printStackTrace();throw new RuntimeException(RPC调用超时);} finally {if (fibonacciRpc ! null) {try {fibonacciRpc.close();} catch (IOException ignore) {}}}return XmlUtil.xmlToJson(response);} }2.RabbitMQ连接信息实体类 RabbitMQ连接信息实体类 /*** ClassName: XygMqIESConnectionInfo* Description: RabbitMQ连接信息* Author: XHao* Date: 2024/8/22 17:07*/ Data JsonInclude(JsonInclude.Include.NON_NULL) TableName(xyg_mq_ies_conn_info) ApiModel(value 连接信息对象, description IES RabbitMQ连接信息表) public class XygMqIesConnInfo {private static final long serialVersionUID 1L;TableId(value ID, type IdType.AUTO)private Long id;ApiModelProperty(value 园区ID)private String parkId;ApiModelProperty(value 车间编码)private String workshopCode;ApiModelProperty(value 主机地址)private String host;ApiModelProperty(value 端口)private Integer port;ApiModelProperty(value 用户名)private String userName;ApiModelProperty(value 密码)private String pwd;ApiModelProperty(value 队列名称)private String queueName;ApiModelProperty(value 交换机名称)private String exchangeName;ApiModelProperty(value 路由键)private String routingKey; }3.XML工具类 XML工具类 /*** ClassName: XmlUtil* Description: xml 解析与生成工具类* Author: XHao* Date: 2024/8/20 14:28*/ public class XmlUtil {/*** XML节点转换JSON对象** param element 节点* param object 新的JSON存储* return JSON对象*/private static JSONObject xmlToJson(Element element, JSONObject object) {ListElement elements element.elements();for (Element child : elements) {Object value object.get(child.getName());Object newValue;if (child.elements().size() 0) {JSONObject jsonObject xmlToJson(child, new JSONObject(true));if (!jsonObject.isEmpty()) {newValue jsonObject;} else {newValue child.getText();}} else {newValue child.getText();}ListAttribute attributes child.attributes();if (!attributes.isEmpty()) {JSONObject attrJsonObject new JSONObject();for (Attribute attribute : attributes) {attrJsonObject.put(attribute.getName(), attribute.getText());attrJsonObject.put(content, newValue);}newValue attrJsonObject;}if (newValue ! null) {if (value ! null) {if (value instanceof JSONArray) {((JSONArray) value).add(newValue);} else {JSONArray array new JSONArray();array.add(value);array.add(newValue);object.put(child.getName(), array);}} else {object.put(child.getName(), newValue);}}}return object;}/*** XML字符串转换JSON对象** param xmlStr XML字符串* return JSON对象*/public static JSONObject xmlToJson(String xmlStr) {JSONObject result new JSONObject(true);SAXReader xmlReader new SAXReader();try {Document document xmlReader.read(new StringReader(xmlStr));Element element document.getRootElement();return xmlToJson(element, result);} catch (Exception e) {e.printStackTrace();}return result;}/*** XML文件转换JSON对象** param xmlString xml字符串* param node 选择节点* return JSON对象*/public static JSONObject xmlToJson(String xmlString, String node) {JSONObject result new JSONObject(true);SAXReader xmlReader new SAXReader();try {//将给定的String文本解析为XML文档并返回新创建的documentorg.dom4j.Document document DocumentHelper.parseText(xmlString); // Document document xmlReader.read(file);Element element;if (StringUtils.isBlank(node)) {element document.getRootElement();} else {element (Element) document.selectSingleNode(node);}return xmlToJson(element, result);} catch (Exception e) {e.printStackTrace();}return result;}/*** 生成xml格式的字符串** return*/public static String createXmlString(XmlParam xmlParam) {//创建document对象org.dom4j.Document document DocumentHelper.createDocument();//设置编码document.setXMLEncoding(UTF-8);//创建根节点Element message document.addElement(Message);// 开始组装 Header 节点// 在 Header 节点下加入子节点Element header message.addElement(Header);// 组装固定值for (HeaderEnum h : HeaderEnum.values()) {Element childNode header.addElement(h.name());childNode.setText(h.getValue());}// 组装传参值MapString, String headerMap JSONObject.parseObject(JSONObject.toJSONString(xmlParam.getHeader()), Map.class);headerMap.forEach((k, v) - {Element childNode header.addElement(k.toUpperCase());childNode.setText(v);});// 组装事务ID唯一值:当前时间戳Element transactionId header.addElement(TRANSACTIONID);SimpleDateFormat sdf new SimpleDateFormat(yyyyMMdd);transactionId.setText(sdf.format(new Date()) String.valueOf(Calendar.getInstance().getTimeInMillis()));Element listener header.addElement(listener);listener.setText(QueueListener);// 开始组装 Body 节点Element body message.addElement(Body);MapString, String bodyMap JSONObject.parseObject(JSONObject.toJSONString(xmlParam.getBody()), Map.class);bodyMap.forEach((k, v) - {if (Objects.isNull(v)) {return;}Element childNode body.addElement(k.toUpperCase());childNode.setText(v);});//将document对象转换成字符串String xml document.asXML();// 去掉 XML 声明if (xml.startsWith(?xml)) {xml xml.substring(xml.indexOf() 1);}return xml;}如果点赞多评论多会更新详细教程待补充。
http://www.tj-hxxt.cn/news/218681.html

相关文章:

  • 南京外贸网站建站wordpress $post->id
  • 网站模板d一品资源网给网站做蜘蛛抓取
  • 装饰网站建设优惠套餐媒体网站推广方法
  • 义乌网站建设技巧培训网站开发流程的8个步骤
  • 网站托管工作室郑州专业做网站公司
  • jsp网站开发案例建设项目环保竣工验收备案网站
  • 网络营销模式的建议北京优化推广
  • 南通网站推广公司建设牌安全带官方网站
  • 手机自助建站平台国外做电商网站
  • 网站建设外包注意什么福田祥菱m2柴油版
  • 二级网站怎么建网站不备案可以访问吗
  • 国外高大上设计网站临沂网站建设昂牛网络
  • 建筑设计公司名称起名网站站seo教程
  • 惠州网站制作策划网络服务提供者接到权利人的通知后
  • 免费二级网站星辰wordpress主题
  • 赣州市开发区建设局网站山东省建设管理局网站
  • 枣强网站建设代理京东云免费建wordpress
  • 网站结构分析怎么写做一个公司的网站应做哪些准备工作
  • 电子商务网站例网站建设小程序湖南
  • 好的学习网站打广告个人站长和企业网站
  • 创建企业网站经过哪些步骤网站建设属于什么会计科目
  • 珠海找工作哪个网站好wordpress自适应 分页
  • 什么语言开发网站建立网站赚钱 优帮云
  • 怎样在门户网站做 推广门户网站建设管理工作的意见
  • phpcms 中英文网站同城版网站建设
  • 更新网站要怎么做呢广州高端模板网站
  • 免费建站微信wordpress设置了固定连接打不开
  • 住房城乡建设网站wordpress添加面包屑导航
  • 网站开发有哪些服务器个人网站可以做淘宝客
  • 做网站时随便弄上去的文章怎么删掉网页设计与制作轮播图教程