var deasync = require('deasync');  //导入模板
var mysql=require('mysql');
var Stomp = require('stompjs');
var wordname=null;
var url=null;
var row1=null;
var row2=null;
var conn=mysql.createConnection(
{
host:'localhost',
user:'root',
password:'Aa1234',
database:'ec_spc',
port:3306
}
);
conn.connect();
select();//数据库的操作
wordname=new String(row1[0].WORD_NAME);//取得字段值
url=new String(row2[0].BAITAI_URL);//取得字段值
sendMessage(wordname,url);//发送消息
function select(){
var selectSql1="select * from spc_word_mst where WORD_ID=? limit 0,1 "
var selectSql2="select * from spc_baitai_mst where BAITAI_ID=? limit 0,1"
//SPC_Result_JH
var key1='001';
var key2='001';
var sync1=true;
var sync2=true;
conn.query(selectSql1,[key1],function(error,rows){
if(error) console.log(error)
row1=rows;
sync1=false;
});
while(sync1){deasync.sleep(400);}
conn.query(selectSql2,[key2],function(error1,rows){
if(error1) console.log(error1)
row2=rows;
sync2=false; });
while(sync2){deasync.sleep(400);}
return row1;
return row2;
}
function sendMessage(wordname,url)
{
// Use raw TCP sockets
// 用原始的tcp接口
var client = Stomp.overTCP('localhost', 61613);
// uncomment to print out the STOMP frames //client.debug = console.log; var connectCallback = function(frame) {
console.log ('Connected! sending some message');
client.send('/queue/FirstQueue', {}, "wordname:" + wordname+",url:"+url);
}; var errorCallback = function(error){
console.log(error.headers.message);
}; client.connect('admin', 'admin', connectCallback,connectCallback);
}

  

前提  启动activemq

接收消息

var Stomp=require('stompjs');
var args=process.argv.slice(2); //get param from bat
var flag=args[0];// get flag
var key_=args[1];// get key
var clientTime=new Date().toLocaleString();
var client=Stomp.overTCP('localhost',61613);
var connectCallBack=function(frame)
{
console.log ('Connected! sending some message');
client.send('/queue/FirstQueue', {}, "flag:" + flag+",key:"+key_+",clientTime:"+clientTime);
}
var errorCallBack=function(error)
{
console.log(error.headers.message);
}
client.connect('admin','admin',connectCallBack,errorCallBack);

  nodejs   数据库操作,消息的发送和接收,模拟同步。nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步nodejs   数据库操作,消息的发送和接收,模拟同步

nodejs 数据库操作,消息的发送和接收,模拟同步的更多相关文章

  1. 探索 OpenStack 之(15):oslo.messaging 和 Cinder 中 MessageQueue 消息的发送和接收

    前言:上一篇文章 只是 RabbitMQ 的科普,本文将仔细分析 Cinder 中 RabbitMQ 的各组件的使用.消息的发送和接收等.由于各流程步骤很多,本文只会使用若干流程图来加以阐述,尽量做到 ...

  2. Queue 消息的发送与接收(PTP 消息传递模型)

    上篇博客写到了JMS两种消息模型(P2P.pub/sub)<JMS两种消息模型>.本篇博客通过一个实例来进一步了解P2P模型. Queue消息的发送与接收--PTP消息传递模型,样例: Q ...

  3. Udp实现消息的发送和接收、以及图片的上传

    //Udp实现消息的发送和接收 import java.io.IOException; import java.net.DatagramPacket; import java.net.Datagram ...

  4. msgrcv,msgsnd进程通信,消息的发送和接收

    //进程通信,消息的发送和接收 //client.c #include <unistd.h> #include <sys/types.h> #include <sys/s ...

  5. 【Spring Boot】Spring Boot之整合RabbitMQ并实现消息的发送和接收

    一.项目配置 1)引入maven坐标 <!--amqp--> <dependency> <groupId>org.springframework.boot</ ...

  6. 用PHP尝试RabbitMQ(amqp扩展)实现消息的发送和接收

    消费者:接收消息 逻辑:创建连接-->创建channel-->创建交换机-->创建队列-->绑定交换机/队列/路由键-->接收消息 <?php /********* ...

  7. RabbitMQ消息确认(发送确认,接收确认)

    前面几篇记录了收发消息的demo,今天记录下关于 消息确认方面的 问题. 下面是几个问题: 1.为什么要进行消息确认? 2.rabbitmq消息确认 机制是什么样的? 3.发送方如何确认消息发送成功? ...

  8. 使用spring-rabbit测试RabbitMQ消息确认(发送确认,接收确认)

    1.首先是rabbitmq的配置文件: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns ...

  9. DICOM医学图像处理:DIMSE消息发送与接收“大同小异”之DCMTK fo-dicom mDCM

    背景: 从DICOM网络传输一文开始,相继介绍了C-ECHO.C-FIND.C-STORE.C-MOVE等DIMSE-C服务的简单实现,博文中的代码给出的实例都是基于fo-dicom库来实现的,原因只 ...

随机推荐

  1. [luogu1912][bzoj4196][NOI2015]软件管理器

    题解 树剖模板题,每次改变是\(1\)或者是\(0\),区间求和和区间修改就可了. ac代码 # include <cstdio> # include <cstring> # ...

  2. WinRM不起作用 Connecting to remote server failed with the following error message : WinRM cannot complete the operation

    当我运行下面的 powershell  脚本时: $FarmAcct = 'domain\user'  $secPassword = ConvertTo-SecureString 'aaa' -AsP ...

  3. nowcoder172A 中位数 (二分答案)

    二分一下答案,假设是x. 我们把大于x的看成1,小于x的看成-1,等于x的看成0 那某个区间的和如果是正的,就说明这个区间中位数大于x:如果是0,就等于x:如果是负的,就小于x: 这样的话,做一个前缀 ...

  4. django xadmin

    1.11.13版本下的[安装]: 1.下载分支版本 https://github.com/nocmt/Xadmin1.11.x/archive/master.zip 2.解压,并将其放在site-pa ...

  5. [luogu3197][越狱]

    luogu3197 思路 看了很久没思路,看了题解发现自己好zz.用全部的情况减去不合法的情况就行了.全部的情况就是每个人随便选,总共有\(m^n\)种情况,然后考虑不合法的情况,也就是任意相邻的两个 ...

  6. [luogu1655][小朋友的球]

    luogu1665 思路 一道第二类斯特兰数的模板题.只不过需要写个高精. f[i][j]表示前i个球放到j个盒子里的方案数.第i个球可以单独一个盒子,所以f[i][j]+=f[i-1][j-1].还 ...

  7. pascal与其它语言代码书写的不同和pascal的快捷键

    1.把很多简单语句括起来 begin end; 2.开始,结束 begin end. 3.判断if if (布尔表达式) then begin 语句 end  //没有‘:’ else if () b ...

  8. 网络编程基础【day10】:IO多路复用

    这些名词比较绕口,理解涵义就好.一个epoll场景:一个酒吧服务员(一个线程),前面趴了一群醉汉,突然一个吼一声“倒酒”(事件),你小跑过去给他倒一杯,然后随他去吧,突然又一个要倒酒,你又过去倒上,就 ...

  9. Swift学习笔记9--错误控制

    1.Swift 中有4种处理错误的方式.你可以把函数抛出的错误传递给调用此函数的代码.用do-catch语句处理错误.将错误作为可选类型处理.或者断言此错误根本不会发生. 2.wift 中的错误处理并 ...

  10. CM记录-JVM调优

    1.堆栈大小 2.JVM重用 3.GC