mycq::CQManager Class Reference
Manages continuous queries of MyCQ Server.
More...
#include <CQManager.h>
List of all members.
Public Member Functions |
virtual void | createCQ (string cqName, string cqStatement, int cqResultQueueSize)=0 |
| Create a CQ(Continuous Query) and CQ's result queue in a MyCQ Server.
|
virtual void | deleteCQ (string cqName)=0 |
| Delete a CQ(Continuous Query).
|
virtual void | deleteAllCQ ()=0 |
| Delete all CQ(Continuous Query)s in a MyCQ Server.
|
virtual string | getCQStatement (string cqName)=0 |
| Get a CQ(Continuous Query) statement in a MyCQ Server.
|
virtual void | setHeartBeat (int msec)=0 |
| Set heart beat. (Heart beat is the speed value of continuous query scheduling.).
|
virtual int | getHeartBeat ()=0 |
| Get heart beat. (Heart beat is the speed value of continuous query scheduling.).
|
virtual vector< string > | getAllCQNames ()=0 |
| Get all CQ(Continuous Query) names in a MyCQ Server.
|
virtual vector< string > | getCQNamesByQueueName (string queueName)=0 |
| Get all CQ(Continuous Query) names related to a queue name in a MyCQ Server.
|
Detailed Description
Manages continuous queries of MyCQ Server.
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
#include "../MyCQClientCPP/MyCQClient.h"
using namespace mycq;
void examSetQueueSchema2(QueueSchema* queueSchema)
{
queueSchema->addBoolean("boolean");
queueSchema->addByte("byte");
queueSchema->addShort("short");
queueSchema->addUShort("ushort");
queueSchema->addInt("int");
queueSchema->addLong("long");
queueSchema->addFloat("float");
queueSchema->addDouble("double");
queueSchema->addDate("date");
queueSchema->addTime("time");
queueSchema->addDateTime("datetime");
queueSchema->addString("string", 100);
queueSchema->addVarString("varstring");
queueSchema->addBinary("binary", 100);
queueSchema->addVarBinary("varbinary");
}
void examCQManager()
{
MyCQClient* client = MyCQFactory::getMyCQClient();
try
{
client->connect("localhost", 3030, "root", "1234");
QueueManager* queueManager = client->getQueueManager();
CQManager* cqManager = client->getCQManager();
cqManager->deleteAllCQ();
queueManager->deleteAllQueues();
QueueSchema* queueSchema = MyCQFactory::getQueueSchema();
examSetQueueSchema2(queueSchema);
queueManager->createP2PQueue("p2pQueue", queueSchema, 100);
queueManager->createTopicQueue("topicQueue", queueSchema, 100);
string cq1 = "window p2pQueue as win1[size=30sec, slide=30sec] \
select count(*) from win1";
cqManager->createCQ("cq1", cq1, 100);
string cq2 = "window topicQueue as win1[size=30sec, slide=30sec] \
select count(*) from win1";
cqManager->createCQ("cq2", cq2, 100);
vector<string> result;
result = cqManager->getAllCQNames();
for(size_t i=0; i<result.size(); i++)
{
std::cout << result[i] << std::endl;
std::cout << cqManager->getCQStatement(result[i]) << std::endl;
}
result = cqManager->getCQNamesByQueueName("p2pQueue");
for(size_t i=0; i<result.size(); i++)
{
std::cout << result[i] << std::endl;
}
cqManager->setHeartBeat(500);
std::cout << "heart beat:" << cqManager->getHeartBeat() << std::endl;
cqManager->setHeartBeat(1000);
std::cout << "heart beat:" << cqManager->getHeartBeat() << std::endl;
cqManager->deleteCQ("cq1");
cqManager->deleteAllCQ();
queueManager->deleteAllQueues();
MyCQFactory::close(queueSchema);
}
catch(MyCQException& ex)
{
std::cout << "code:" << ex.getCode() << ", message:" << ex.getMessage();
}
client->close();
MyCQFactory::close(client);
}
Member Function Documentation
virtual void mycq::CQManager::createCQ |
( |
string |
cqName, |
|
|
string |
cqStatement, |
|
|
int |
cqResultQueueSize | |
|
) |
| | [pure virtual] |
Create a CQ(Continuous Query) and CQ's result queue in a MyCQ Server.
- Parameters:
-
| cqName | A continuous query name to create. CQ result queue name will be the equal name to cq name. (size:= under 64). A cq name is a combination of alphabets and numerics which starts with alphabet character. |
| cqStatement | A continuous query statement. See MyCQL documents. |
| cqResultQueueSize | An integer greater than zero that will be the size of a cq result queue to be created. |
- Exceptions:
-
| MyCQException | An error occurred while creating a new continuos query. |
virtual void mycq::CQManager::deleteAllCQ |
( |
|
) |
[pure virtual] |
Delete all CQ(Continuous Query)s in a MyCQ Server.
- Exceptions:
-
virtual void mycq::CQManager::deleteCQ |
( |
string |
cqName |
) |
[pure virtual] |
Delete a CQ(Continuous Query).
- Parameters:
-
| cqName | A continuous query name to delete. |
- Exceptions:
-
| MyCQException | An error occurred while deleting a continuos query. |
virtual vector<string> mycq::CQManager::getAllCQNames |
( |
|
) |
[pure virtual] |
Get all CQ(Continuous Query) names in a MyCQ Server.
- Returns:
- CQ name list.
- Exceptions:
-
virtual vector<string> mycq::CQManager::getCQNamesByQueueName |
( |
string |
queueName |
) |
[pure virtual] |
Get all CQ(Continuous Query) names related to a queue name in a MyCQ Server.
- Parameters:
-
- Returns:
- CQ name list.
- Exceptions:
-
virtual string mycq::CQManager::getCQStatement |
( |
string |
cqName |
) |
[pure virtual] |
Get a CQ(Continuous Query) statement in a MyCQ Server.
- Parameters:
-
| cqName | A continuous query name. |
- Returns:
- CQ statement.
- Exceptions:
-
virtual int mycq::CQManager::getHeartBeat |
( |
|
) |
[pure virtual] |
Get heart beat. (Heart beat is the speed value of continuous query scheduling.).
- Returns:
- An integer(msec>=0) value of miliseconds.
- Exceptions:
-
virtual void mycq::CQManager::setHeartBeat |
( |
int |
msec |
) |
[pure virtual] |
Set heart beat. (Heart beat is the speed value of continuous query scheduling.).
- Parameters:
-
| msec | An integer(msec>=0) value of miliseconds. |
- Exceptions:
-
The documentation for this class was generated from the following file: