图4 消息队列工作流程图
首先需要实例化得到ConnectionFactory。然后ConnectionFactory创建一个Connection, 同时启动这个Connection:
Connection connection = factory.createConnection();
connection.start();
接下来需要由Connection创建一个Session。获得Destination。 下面就可以创建Message了,这里创建一个TextMessage。要想把刚才创建的消息发送出去,需要由Session和Destination创建一个消息生产者。这样就可以发送刚才创建的消息了。消息发送完成之后,需要创建一个消息消费者来接收这个消息。消息消费者接收到这个消息之后,就可以得到它的内容。
4.4服务器
4.4.1 服务器模块实现
(1)删除数据库(DropDB)
当服务器端接受到drop database DB1;语句时,首先将该语句通过split(";")方法去分号得到drop database DB1字符串,然后通过indexOf("drop")方法判断是否有drop,如果没有,就是其它操作,跳出;如果有drop,再判断是否有database,如果没有,就是其它操作,跳出;如果有,就取出字符串DB1作为目录名,然后删除DB1文件夹,数据库DB1就删除成功。
(2)查询表结构具体实现
定义List存放查询结果,用getRootElement方法得到根节点root,根节点root,调用elementIterator方法以遍历此树结构,利用双重while循环得到各级节点,用attribute方法得到对应标签的值,将所得结果存入List。定义StringBulder,用以存放处理之后的具体结果,用append方法给查询结果加主键,用append给,List的各元素间加空格,ToString方法将结果转为字符串,返回结果。
(3)对select方法的解析
调用select方法之后,首先进行字符串解析,将其分割成一个字符串数组,因为要使用其中的条件或者模拟的数据库表字段名。首先判断有没有where关键字,例如语句”select name from user where id=1”有的话取到user关键字,打开user.xml文件,然后new一个document得到这个文件的文档,接下来找到根节点root,然后利用Xpath技术找到条件id=1的节点,然后把里面的属性遍历出来,然后将节点内容发给MQ。
上一页 [1] [2] [3] [4] [5] [6] [7] 下一页