Search code examples
tibco

Creating a listener in TIBCO Rendezvous


I'm trying to create a listener in tibco rendezvous. I want to listen in on a particular subject. I'm aware that its supposed to look something like this:

TibrvListener(
TibrvQueue queue,
TibrvMsgCallback callback,
TibrvTransport transport,
java.lang.String subject,
java.lang.Object closure)
throws TibrvException

I have this code. However, I don't know a couple of things. How do I create a TibrvMsgCallback object? How do I pass in the transport? I have a publisher that sends the message as a seperate program. Do I recreate an identical transport in my subscribe program?

queue = new TibrvQueue();
dispatcher = new TibrvDispatcher(queue);
queue.setName(key);
this.listener = new TibrvListener(queue, null, null, subject, null);
TibrvTransport message = this.listener.getTransport();

Solution

  • You first open the Tibrv Tibrv.open(Tibrv.IMPL_NATIVE);

    Create transport TibrvTransport transport = new TibrvRvdTransport(service, network, daemon);

    Create Listener new TibrvListener(Tibrv.defaultQueue(), this, transport, subject, null);

    If your listener is "this", your class needs to implement TibrvMsgCallback

    Messages can be processed on arrival in the onMsg(TibrvListener listener, TibrvMsg msg) method.