Code got messed up, resending:
//Java cod starts
//using Qpid Java client 0.28 AMQP1.0 libraries
package org.apache.qpid.amqp_1_0.jms.example;
import javax.jms.*;import javax.naming.Context;import
javax.naming.InitialContext;import java.util.Hashtable;
public class Spout{
public Spout() { }
@SuppressWarnings({ "rawtypes", "unchecked" }) public static void
main(String[] args) { try {
Class.forName("org.apache.qpid.amqp_1_0.jms.jndi.PropertiesFileInitialContextFactory");
Hashtable env = new Hashtable();
env.put("java.naming.provider.url", "hello.properties");
env.put("java.naming.factory.initial",
"org.apache.qpid.amqp_1_0.jms.jndi.PropertiesFileInitialContextFactory");
Context context = new InitialContext(env);
ConnectionFactory connectionFactory = (ConnectionFactory)
context.lookup("localhost"); Connection connection =
connectionFactory.createConnection(); connection.start();
Session producersession = connection.createSession(false,
Session.AUTO_ACKNOWLEDGE); Destination topic =
producersession.createTopic("news");//if i change the address to
"news/somestuff" sub can't see, even if addresses match
int count = 2;
MessageProducer producer = producersession.createProducer(topic);
for (int i=0; i < count; i++) {
Message msg = producersession.createTextMessage("Hello news!");
producer.send(msg); System.out.println("\n-------------
Msg -------------"); System.out.println(msg);
System.out.println("-------------------------------\n"); }
producer.close();
connection.close(); context.close(); }
catch (Exception exp) { System.out.println("Caught exception:
" + exp.getMessage()); exp.printStackTrace(); } }}
//Java code ends
//C++ code starts
#include <qpid/messaging/Connection.h>
#include <qpid/messaging/Message.h>
#include <qpid/messaging/Message_io.h>
#include <qpid/messaging/Receiver.h>
#include <qpid/messaging/Session.h>
#include <iostream>
using namespace qpid::messaging;using namespace qpid::types;using namespace std;
int main(){ Connection connection; try { string url =
"localhost:5672"; string connectionOptions = "{protocol:amqp1.0}";
string address = "news";//if i change the address to "news/somestuff" sub
can't see, even if addresses match
connection = Connection(url, connectionOptions);
connection.open(); Session session = connection.createSession();
Receiver receiver = session.createReceiver(address); Duration timeout =
300 * Duration::SECOND; int count = 5; Message message;
int i = 0;
while (receiver.fetch(message, timeout)) { std::cout <<
message << std::endl; session.acknowledge(); if (count &&
(++i == count)) break; } receiver.close();
session.close(); connection.close(); return 0; } catch(const
std::exception& error) { std::cout << "Error: " << error.what() <<
std::endl; connection.close(); } return 1;}//C++ code ends