| Summary: | Examples need to be cleaned up and some removed/replaced | ||
|---|---|---|---|
| Product: | Red Hat Enterprise MRG | Reporter: | William Henry <whenry> |
| Component: | qpid-cpp | Assignee: | messaging-bugs <messaging-bugs> |
| Status: | CLOSED WONTFIX | QA Contact: | MRG Quality Engineering <mrgqe-bugs> |
| Severity: | urgent | Docs Contact: | |
| Priority: | medium | ||
| Version: | 1.3 | CC: | gsim, jross |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2013-04-15 14:48:13 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
|
Description
William Henry
2011-02-16 23:24:20 UTC
Which rpms do you have installed? I don't see the old examples: # rpm -qv qpid-cpp-client-devel qpid-cpp-client-devel-0.7.946106-28.el5 # rpm -ql qpid-cpp-client-devel | grep examples /usr/share/qpidc/examples/messaging /usr/share/qpidc/examples/messaging/Makefile /usr/share/qpidc/examples/messaging/OptionParser.cpp /usr/share/qpidc/examples/messaging/OptionParser.h /usr/share/qpidc/examples/messaging/client.cpp /usr/share/qpidc/examples/messaging/drain.cpp /usr/share/qpidc/examples/messaging/hello_world.cpp /usr/share/qpidc/examples/messaging/hello_xml.cpp /usr/share/qpidc/examples/messaging/map_receiver.cpp /usr/share/qpidc/examples/messaging/map_sender.cpp /usr/share/qpidc/examples/messaging/server.cpp /usr/share/qpidc/examples/messaging/spout.cpp I'll check my MRG install. Perhaps this should be a Jira for upstream instead. We are not shipping the old examples. Good. However this doesn't address the organization of the current examples and the lack of detailed examples. To use drain and spout you kinda need to know the addressing. We need more examples of addressing for different cases. True that we encourage people to setup queues and exchanges using qpid-config. (I'm not sure if we explicitly encourage this in the docs.) Suggestions: Examples that actually script different exchange/queue/binding setup/remove etc. Examples that show various addressing in C++ API. Some programmers will be using MRG-M for building up infrastructure - e.g. wrapping existing infrastructure calls. Therefore managing exchange/queue/binding setup through Sender and Receiver addressing will be done programmatically. Examples that show how addressing to setup and use topic exchange and topics. Other suggestions. The feeddemo (moved upstream) shows how to do addressing for Receivers of topics. (may need review).
Example for a topic (using Ruby with C++ API):
newtopic = "my-topic;{node:{type:topic, x-declare:{type:topic}}, {create:always}"
sender = session.createSender(newtopic)
I don't think dynamically creating exchanges in this way is a very common pattern and most cases that think they need to do that don't really need to at all. I would not want to encourage people to follow that pattern as it is more error prone as well as being more complex and scary in the addressing options. Examples 2.5 and 2.6 in the Programming Guide to explain how to use addresses for simple topic use cases. |