Oracle9i Application Developer's Guide - Advanced Queuing
Release 1 (9.0.1)

Part Number A88890-02
Go To Documentation Library
Home
Go To Product List
Book List
Go To Table Of Contents
Contents
Go To Index
Index

Master Index

Feedback

Go to previous page Go to beginning of chapter Go to next page

JMS Operational Interface: Basic Operations (Publish-Subscribe), 18 of 37


Creating a Durable Subscriber for a JMS Topic with Selector

Figure 15-16 Use Case Diagram: Publish-Subscribe - Create a Durable Subscriber for a JMS Topic with Selector


Text description of adq15jps15.gif follows
Text description of the illustration adq15jps15.gif


To refer to the table of all basic operations having to do with the Operational Interface see:

  • "Use Case Model: Operational Interface -- Basic Operations"

 

Purpose

Create a durable subscriber for a jms topic with selector.

Usage Notes

The client creates a durable subscriber by specifying a subscriber name and JMS topic. Optionally, a message selector can be specified. Only messages with properties matching the message selector expression are delivered to the subscriber. The selector value may be null. The selector can contain any SQL92 expression that has a combination of one or more of the following:

  • User defined message properties

    For example:

    color IN ('RED', BLUE', 'GREEN') AND price < 30000 
    
    

    Operators allowed are:

    A client can change an existing durable subscription by creating a durable TopicSubscriber with the same name and a different message selector. An unsubscribe call is needed to end the subscription to the topic.

    Syntax

    Example

    Example 1 - subscribe specifying selector
    
    TopicConnectionFactory    tc_fact   = null;
    TopicConnection           t_conn    = null;
    TopicSession              jms_sess;
    TopicSubscriber           subscriber1;
    Topic                     shipped_orders;
    int                       myport = 5521;
    AQjmsAgent[]              recipList;    
      
    /* create connection and session */
    tc_fact = AQjmsFactory.getTopicConnectionFactory("MYHOSTNAME",
                                                      "MYSID", myport, "oci8");
    t_conn = tc_fact.createTopicConnection("jmstopic", "jmstopic");
    jms_sess = t_conn.createTopicSession(true, Session.CLIENT_ACKNOWLEDGE);    
      
    shipped_orders = ((AQjmsSession )jms_sess).getTopic("OE", "Shipped_Orders_
    Topic");
    
    /* create a subscriber */
    /*  with condition on JMSPriority and user property 'Region' */
    subscriber1 = jms_sess.createDurableSubscriber(shipped_orders, 
    'WesternShipping',
                                    "JMSPriority > 2 and Region like 'Western%'", 
    false);
    
    

  • Go to previous page Go to beginning of chapter Go to next page
    Oracle
    Copyright © 1996-2001, Oracle Corporation.

    All Rights Reserved.
    Go To Documentation Library
    Home
    Go To Product List
    Book List
    Go To Table Of Contents
    Contents
    Go To Index
    Index

    Master Index

    Feedback