On Wed, 2010-07-14 at 08:07 -0700, manua wrote:
> Hi Tim,
> 
> The issue is resolved, It was mysql quey block which was throwing the
> exception, but it was being catched in wrong catch block.
> 
> Thanks,
> Manu

Great, glad its now working for you.

Regards


> 
> 
> Timothy Bish wrote:
> > 
> > On Thu, 2010-07-01 at 07:18 -0700, manua wrote:
> >> Hi Tim,
> >> 
> >> Please find below my code snippet,
> >> 
> >> int get_ref_data(string s){
> >>    mysqlpp::Connection conn;
> >>    if (conn.connect("Database", "localhost", "proddbuser", "proddblander"))
> >> {
> >>            cout << "DB Connected" << endl;
> >>            mysqlpp::Query query = conn.query();
> >>            query << "SELECT * from table where symbol=" << s << " and
> >> date='20100628'";
> >>            if (mysqlpp::StoreQueryResult res = query.store()) {
> >>                    cout << "Query Data:" << endl;
> >>                    for (size_t i = 0; i < res.num_rows(); ++i) {
> >>                            cout << '\t' << res[i][0] << " , "<< res[i][1] 
> >> << " , "<< res[i][2]
> >> << "
> >> , "<< res[i][3] << " , "<< res[i][4] << endl;
> >>                    }
> >>            }else{
> >>                    cout << "Couldn't execute the query";
> >>            }
> >>    }
> >>    cout <<endl;
> >>    return 1;
> >> }
> >> 
> >> void onRequest( void *msg ){
> >>    const TextMessage* txtMessage = dynamic_cast< const TextMessage* >(
> >> (Message *)msg );
> >>    string s1 = txtMessage->getText();
> >>    istringstream is1(s1);
> >>    Stream_reader<istringstream, mValue> reader(is1);
> >> 
> >>    mValue value;
> >>    reader.read_next(value);
> >>    mObject& O = value.get_obj();
> >> 
> >>    for(mObject::iterator it=O.begin();it != O.end();++it){
> >>        cout <<endl<< (it)->first;
> >>        if(!(it)->first.compare("Portfolio")){
> >>            mArray& a = O["Portfolio"].get_array();
> >>            for(int i=0;i<a.size();i++){
> >>                    mArray& tmp = a[i].get_array();
> >>                    cout << endl << "       ";
> >>                    string t = tmp[0].get_value<string>();
> >>                    get_ref_data(t);
> >>                    for(int j=0;j<tmp.size();j++){
> >>                            cout <<"  " << tmp[j].get_value<string>();
> >>                    }
> >>            }
> >>        }
> >>    }
> >> 
> >>    txtMessage->acknowledge();
> >> 
> >> // testing the slave response part. The same Object is being sent as
> >> received.
> >>    ofstream os( "json_cpp.txt" );
> >>    write_stream( mValue( O ), os, true );
> >> 
> >>    mObject OR;
> >>    OR["response"] = "done";
> >>    OR["input"] = O;
> >>    string s2 = write_string(mValue( OR ),true);
> >> 
> >>    destURI = "Data.Response.Q";
> >>    respProducer = new clAMQ(brokerURI, destURI);
> >>    respProducer->connect();
> >>    respProducer->createProducer();
> >> 
> >>    void *rmsg = respProducer->createTextMessage();
> >>    clAMQ::addPayLoadToTextMessage(rmsg,s2);
> >>    respProducer->sendMsg(rmsg);
> >> }
> >> 
> >> 
> >> In the above function, when get_data() is called, I got the error
> >> message.
> >> 
> > 
> > I don't really see much error handling in these methods so it likely
> > something in there is throwing an exception, I'd recommend maybe
> > stepping through the code with the debugger to see if that's true and if
> > so then you can see where its coming from.  
> > 
> > Regards
> > Tim.
> > 
> >> Please let me your inputs.
> >> 
> >> Thanks,
> >> Manu
> >> 
> >> 
> >> Timothy Bish wrote:
> >> > 
> >> > On Thu, 2010-07-01 at 06:47 -0700, manua wrote:
> >> >> Hi All,
> >> >> 
> >> >> I am getting the following error, when processing the received
> >> message,
> >> >> 
> >> >> caught unknown exception
> >> >>         FILE: activemq/core/ActiveMQConsumer.cpp, LINE: 987
> >> >>         FILE: activemq/core/ActiveMQSessionExecutor.cpp, LINE: 133
> >> >> 
> >> >> My application is divided into three parts,
> >> >> 
> >> >> 1. On receiving the message, its extracting the test message and
> >> passing
> >> >> that to json_spirit function. 
> >> >> 2. The json spirit function converts the text message to a json and
> >> >> extract
> >> >> the various vector/map parameters. It then pass the extracted
> >> parameter
> >> >> to
> >> >> the Db Function.
> >> >> 3. The Db function takes the string as a input and accordingly fetch
> >> the
> >> >> data from the db.
> >> >> 
> >> >> Its working fine till Step 2. In step 3, Db connection is made but the
> >> >> moment it hits the query part, I got the above error.
> >> >> 
> >> >> Am I doing something wrong, or is there a better way to do it.
> >> >> Please let me know your inputs.
> >> >> 
> >> >> Thanks,
> >> >> Manu
> >> > 
> >> > Without seeing the code my first guess would be that your onMessage
> >> > method is throwing an exception somewhere in your step three which
> >> > propagates back through the ActiveMQConsumer to the
> >> > ActiveMQSessionExecutor.  I'd add some more exception handing in you
> >> > onMessage handler to see what your code is throwing.
> >> > 
> >> > Regards
> >> > 
> >> > -- 
> >> > Tim Bish
> >> > 
> >> > Open Source Integration: http://fusesource.com
> >> > ActiveMQ in Action: http://www.manning.com/snyder/
> >> > 
> >> > Follow me on Twitter: http://twitter.com/tabish121
> >> > My Blog: http://timbish.blogspot.com/
> >> > 
> >> > 
> >> > 
> >> 
> > 
> > -- 
> > Tim Bish
> > 
> > Open Source Integration: http://fusesource.com
> > ActiveMQ in Action: http://www.manning.com/snyder/
> > 
> > Follow me on Twitter: http://twitter.com/tabish121
> > My Blog: http://timbish.blogspot.com/
> > 
> > 
> > 
> 

-- 
Tim Bish

Open Source Integration: http://fusesource.com
ActiveMQ in Action: http://www.manning.com/snyder/

Follow me on Twitter: http://twitter.com/tabish121
My Blog: http://timbish.blogspot.com/

Reply via email to