On Thu, Feb 10, 2011 at 11:18:59PM -0500, Ted Ross wrote:
> Angus,
> 
> I've put an example C++ console that receives V2 events and prints
> them in subversion.  It's at
> qpid/cpp/bindings/qmf2/examples/cpp/print_events.cpp.  This should
> get you unblocked.

Wow, that was quick! Thanks, I give it a go.

-Angus

> 
> -Ted
> 
> On 02/10/2011 05:57 PM, Angus Salkeld wrote:
> >Hi
> >
> >I am trying to write a c++ client to Matahari. It Exposes an event which I
> >need to receive. It is sending the event useing the following call:
> >
> >this->_agent->raiseEvent(_qmf::EventHeartbeat(timestamp, 
> >_heartbeat_sequence++));
> >
> >If i follow the code it seems to go to Agentsession.cpp: 544:
> >void AgentSessionImpl::raiseEvent(const Data&  data, int severity)
> >{
> >     Message msg;
> >     Variant::Map map;
> >     Variant::Map&  headers(msg.getProperties());
> >     string subject("agent.ind.event");
> >
> >Note the "agent.ind.event" ^^^
> >
> >The only way I have succeeded in receiving this is using "qpid-printevents". 
> >I have
> >tried coping the different versions of C++ examples to no avail.
> >
> >So when I use qpid-printevents I get the following bind events:
> >
> >Thu Feb 10 22:34:43 2011 INFO  org.apache.qpid.broker:bind 
> >broker=localhost:49000
> >rhost=127.0.0.1:33154 user=anonymous exName=qpid.management 
> >qName=topic-troll.bigpond.7363.1
> >key=console.event.# args={}
> >
> >version 1 bind ^^^
> >
> >Thu Feb 10 22:34:43 2011 INFO  org.apache.qpid.broker:bind 
> >broker=localhost:49000
> >rhost=127.0.0.1:33154 user=anonymous exName=qmf.default.topic 
> >qName=qmfc-v2-hb-troll.bigpond.7363.1
> >key=agent.ind.heartbeat.# args={}
> >Thu Feb 10 22:34:43 2011 INFO  org.apache.qpid.broker:bind 
> >broker=localhost:49000
> >rhost=127.0.0.1:33154 user=anonymous exName=qmf.default.topic 
> >qName=qmfc-v2-ui-troll.bigpond.7363.1
> >key=agent.ind.event.# args={}
> >
> >version 2 binds ^^^
> >
> >When I use a c++ client only get the version 1 binds.
> >
> >If I "grep -R "\<agent.ind\>" *" in the code base I find:
> >
> >cpp/src/qmf/AgentSession.cpp
> >cpp/src/qpid/agent/ManagementAgentImpl.cpp
> >cpp/src/qpid/management/ManagementAgent.cpp
> >cpp/src/tests/BrokerMgmtAgent.cpp
> >extras/qmf/build/lib/qmf2/agent.py
> >extras/qmf/build/lib/qmf2/common.py
> >extras/qmf/build/lib/qmf2/console.py
> >extras/qmf/build/lib/qmf/console.py
> >extras/qmf/src/py/qmf2/agent.py
> >extras/qmf/src/py/qmf2/common.py
> >extras/qmf/src/py/qmf2/console.py
> >extras/qmf/src/py/qmf/console.py
> >
> >It seems to me that the c++ console files are not v2 aware and
> >thus v2 client applications can't receive v2 events.
> >Is this correct, or am I off base here (only too happy to be wrong here)?
> >
> >Note: I was initially using standard Fedora 14 qpid, but then moved to
> >a build from the latest git.
> >
> >Regards
> >Angus Salkeld
> >
> >
> >---------------------------------------------------------------------
> >Apache Qpid - AMQP Messaging Implementation
> >Project:      http://qpid.apache.org
> >Use/Interact: mailto:[email protected]
> >
> 
> 
> ---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:[email protected]

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to