Bradshaw D.K., MacDowell K., Raphaely D.
Table of contents :
Contents……Page 3
Send Us Your Comments……Page 47
Organization……Page 49
Related Documentation……Page 52
Conventions……Page 53
Documentation Accessibility……Page 55
What’s New in Advanced Queuing?……Page 57
Oracle9i New Features in Advanced Queuing……Page 58
Oracle8i New Features in Advanced Queuing……Page 61
1 Introduction to Oracle Advanced Queuing……Page 63
Advanced Queuing in Integrated Application Environments……Page 64
Interfaces to Advanced Queuing……Page 65
Queuing System Requirements……Page 66
General Features of Advanced Queuing……Page 67
Point-to-Point and Publish-Subscribe Messaging……Page 68
Message Format Transformation……Page 69
SQL Access……Page 70
Retention and Message History……Page 71
Nonpersistent Queues……Page 72
XMLType Attributes in Object Types……Page 73
Internet Integration and IDAP……Page 74
Enqueue Features……Page 76
Subscription and Recipient Lists……Page 77
Propagation……Page 78
Asynchronous Notification……Page 79
Optimization of Waiting for the Arrival of Messages……Page 80
Dequeue Message Header with No Payload……Page 81
Enhanced Propagation Scheduling Capabilities……Page 82
Message……Page 83
Agent……Page 84
Recipient and Subscription Lists……Page 85
Queue Monitor……Page 86
Demos……Page 87
2 Basic Components……Page 89
Type Name (type_name)……Page 90
Agent Type (aq$_agent)……Page 91
AQ Subscriber List Type (aq$_subscriber_list_t)……Page 92
AQ Registration Info Type……Page 93
AQ Notification Descriptor Type……Page 95
Enumerated Constants in the Administrative Interface……Page 96
INIT.ORA Parameter File Considerations……Page 97
JOB_QUEUE_PROCESSES Parameter……Page 98
3 AQ Programmatic Environments……Page 101
Programmatic Environments for Accessing AQ……Page 102
Using PL/SQL to Access AQ……Page 103
Using OCI to Access AQ……Page 104
Using Visual Basic (OO4O) to Access AQ……Page 105
Using AQ Java (oracle.AQ) Classes to Access AQ……Page 106
Advanced Queuing Examples……Page 107
Standard JMS Features……Page 108
Accessing Standard and Oracle JMS……Page 109
Using the AQ XML Servlet to Access AQ……Page 110
AQ Administrative Interfaces……Page 112
AQ Operational Interfaces……Page 115
4 Managing AQ……Page 125
User Role……Page 126
Security……Page 127
Privileges and Access Control……Page 128
Exporting Queue Table Data……Page 129
Creating AQ Administrators and Users……Page 131
Oracle Enterprise Manager Support……Page 132
Restrictions on Queue Management……Page 133
Nonpersistent Queues……Page 134
The Number of Job Queue Processes……Page 135
Optimizing Propagation……Page 136
Guidelines for Debugging AQ Propagation Problems……Page 137
Oracle 8.0-Style Queues……Page 138
Migrating To and From 8.0……Page 139
Roles in 8.0……Page 140
Autocommit Features in the DBMS_AQADM Package……Page 141
5 Performance and Scalability……Page 143
Running Enqueue and Dequeue Processes Concurrently—Single Queue Table……Page 144
Propagation Tuning Tips……Page 145
General Questions……Page 147
JMS Questions……Page 152
Internet Access Questions……Page 153
Transformation Questions……Page 155
Performance Questions……Page 156
Installation Questions……Page 157
7 Modeling and Design……Page 161
Modeling Queue Entities……Page 162
Basic Queuing Illustrated……Page 163
AQ Client-Server Communication……Page 164
Multiple-Consumer Dequeuing of the Same Message……Page 166
Dequeuing of Specified Messages by Specified Recipients……Page 169
AQ Implementation of Workflows……Page 171
AQ Implementation of Publish/Subscribe……Page 172
Message Propagation……Page 175
8 A Sample Application Using AQ……Page 179
System-Level Access Control……Page 180
Message Format Transformation……Page 182
Structured Payloads……Page 188
Queue Payloads Containing XMLType Attributes……Page 191
Queue-Level Access Control……Page 194
Nonpersistent Queues……Page 195
Retention and Message History……Page 206
Publish-Subscribe Support……Page 207
Support for Oracle Real Application Clusters……Page 209
Support for Statistics Views……Page 213
Enqueue Features……Page 214
Subscriptions and Recipient Lists……Page 215
Priority and Ordering of Messages……Page 217
Time Specification: Delay……Page 224
Time Specification: Expiration……Page 227
Message Grouping……Page 230
Message Transformation During Enqueue……Page 233
Enqueue Using the AQ XML Servlet……Page 234
Dequeue Features……Page 236
Dequeue Methods……Page 237
Multiple Recipients……Page 241
Local and Remote Recipients……Page 242
Message Navigation in Dequeue……Page 244
Modes of Dequeuing……Page 248
Optimization of Waiting for Arrival of Messages……Page 253
Retry with Delay Interval……Page 255
Exception Handling……Page 259
Rule-Based Subscription……Page 264
Listen Capability……Page 268
Message Transformation During Dequeue……Page 274
Asynchronous Notifications……Page 275
Registering for Notifications Using the AQ XML Servlet……Page 284
Propagation……Page 285
Propagation Scheduling……Page 286
Propagation of Messages with LOB Attributes……Page 289
Enhanced Propagation Scheduling Capabilities……Page 292
Exception Handling During Propagation……Page 295
Message Format Transformation During Propagation……Page 296
Propagation Using HTTP……Page 297
9 Administrative Interface……Page 301
Use Case Model: Administrative Interface — Basic Operations……Page 302
Creating a Queue Table……Page 306
Usage Notes……Page 307
Examples……Page 309
PL/SQL (DBMS_AQADM Package): Creating a Queue Table……Page 310
Java (JDBC): Creating a Queue Table……Page 312
Creating a Queue Table [Set Storage Clause]……Page 315
Usage Notes……Page 316
PL/SQL (DBMS_AQADM Package): Altering a Queue Table……Page 317
Java (JDBC): Altering a Queue Table……Page 318
Dropping a Queue Table……Page 319
PL/SQL (DBMS_AQADM Package): Dropping a Queue Table……Page 320
Java (JDBC): Dropping a Queue Table……Page 321
Creating a Queue……Page 322
Usage Notes……Page 323
PL/SQL (DBMS_AQADM): Creating a Queue……Page 324
Java (JDBC): Creating a Queue……Page 326
Usage Notes……Page 328
PL/SQL (DBMS_AQADM): Creating a Nonpersistent Queue……Page 329
Java (JDBC): Creating a Nonpersistent Queue……Page 330
Altering a Queue……Page 331
Examples……Page 332
Java (JDBC): Altering a Queue……Page 333
Dropping a Queue……Page 334
Examples……Page 335
Java (JDBC): Dropping a Queue……Page 336
Purpose……Page 337
PL/SQL (DBMS_AQADM): Creating a Transformation……Page 338
Java (JDBC)……Page 339
Purpose……Page 340
Usage Notes……Page 341
Applying a Transformation……Page 342
Usage Notes……Page 343
Purpose……Page 344
PL/SQL (DBMS_AQADM Package): Starting a Queue……Page 345
Java (JDBC): Starting a Queue……Page 346
Stopping a Queue……Page 347
PL/SQL (DBMS_AQADM): Stopping a Queue……Page 348
Java (JDBC): Stopping a Queue……Page 349
Granting System Privilege……Page 350
Examples……Page 351
Java (JDBC): Granting System Privilege……Page 352
Purpose……Page 353
Using PL/SQL (DBMS_AQADM): Revoking System Privilege……Page 354
Purpose……Page 355
Java (JDBC): Granting Queue Privilege……Page 356
Revoking Queue Privilege……Page 358
PL/SQL (DBMS_AQADM): Revoking Queue Privilege……Page 359
Java (JDBC): Revoking Queue Privilege……Page 360
Adding a Subscriber……Page 361
Syntax……Page 362
PL/SQL (DBMS_AQADM): Adding Subscriber……Page 363
PL/SQL (DBMS_AQADM): Adding a Rule-Based Subscriber……Page 364
Java (JDBC): Adding a Subscriber……Page 365
Altering a Subscriber……Page 367
Examples……Page 368
PL/SQL (DBMS_AQADM): Altering Subscriber……Page 369
Java (JDBC): Altering a Subscriber……Page 370
Removing a Subscriber……Page 371
Examples……Page 372
Java (JDBC): Removing a Subscriber……Page 373
Scheduling a Queue Propagation……Page 374
Examples……Page 375
Java (JDBC): Scheduling a Queue Propagation……Page 376
Syntax……Page 378
Java (JDBC): Unscheduling a Queue propagation……Page 379
Usage Notes……Page 381
PL/SQL (DBMS_AQADM): Verifying a Queue Type……Page 382
Java (JDBC): Verifying a Queue type……Page 383
Altering a Propagation Schedule……Page 384
Examples……Page 385
Java (JDBC): Altering a Propagation Schedule……Page 386
Syntax……Page 388
Java (JDBC): Enabling a Propagation Schedule……Page 389
Syntax……Page 391
Java (JDBC): Disabling a Propagation Schedule……Page 392
Creating an AQ Agent……Page 394
Examples……Page 395
Altering an AQ Agent……Page 397
Examples……Page 398
Syntax……Page 399
Examples……Page 400
Usage Notes……Page 401
Examples……Page 402
Syntax……Page 403
Examples……Page 404
Usage Notes……Page 405
Examples……Page 406
Syntax……Page 407
Examples……Page 408
10 Administrative Interface: Views……Page 409
Use Case Model: Administrative Interface — Views……Page 410
Selecting All Queue Tables in Database……Page 412
Selecting User Queue Tables……Page 414
Selecting All Queues in Database……Page 416
Selecting All Propagation Schedules……Page 418
Selecting Queues for Which User Has Any Privilege……Page 422
Selecting Queues for Which User Has Queue Privilege……Page 424
Selecting Messages in Queue Table……Page 426
Selecting Queue Tables in User Schema……Page 430
Selecting Queues In User Schema……Page 432
Selecting Propagation Schedules in User Schema……Page 434
Selecting Queue Subscribers……Page 438
Selecting Queue Subscribers and Their Rules……Page 440
Selecting the Number of Messages in Different States for the Whole Database……Page 442
Selecting the Number of Messages in Different States for Specific Instances……Page 444
Selecting the AQ Agents Registered for Internet Access……Page 446
Selecting User Transformations……Page 447
Selecting All Transformations……Page 448
Selecting All Transformation Functions……Page 449
11 Operational Interface: Basic Operations……Page 451
Use Case Model: Operational Interface — Basic Operations……Page 452
Purpose:……Page 455
Examples……Page 456
Enqueuing a Message [Specify Options]……Page 457
Syntax……Page 458
Examples……Page 459
Enqueuing a Message [Specify Message Properties]……Page 460
Syntax……Page 461
Examples……Page 462
Usage Notes……Page 463
Examples……Page 464
Usage Notes……Page 465
Examples……Page 466
PL/SQL (DBMS_AQ Package): Enqueue of Object Type Messages……Page 467
Java (JDBC): Enqueue a message (add payload)……Page 469
Visual Basic (OO4O): Enqueue a message……Page 472
Usage Notes……Page 474
Examples……Page 475
Usage Notes……Page 476
PL/SQL (DBMS_AQ Package): Listen to Queues……Page 477
Java (JDBC): Listen to Queues……Page 478
C (OCI): Listen to Single-Consumer Queue(s)……Page 479
Listening to One (Many) Multi-Consumer Queue(s)……Page 488
Examples……Page 489
PL/SQL (DBMS_AQ Package): Listen to Queue(s)……Page 490
C (OCI): Listen to Multi-Consumer Queue(s)……Page 491
Purpose……Page 497
Usage Notes……Page 498
Examples……Page 499
Dequeuing a Message from a Single-Consumer Queue [SpecifyOptions]……Page 500
Syntax……Page 501
Java (JDBC): Dequeue a message from a single consumer queue (specify options)……Page 502
Visual Basic (OO4O): Dequeue a message……Page 503
Dequeuing a Message from a Multi-Consumer Queue [Specify Options]……Page 505
Examples……Page 506
Java (JDBC): Dequeue a message from a multi consumer queue (specify options)……Page 507
Registering for Notification……Page 508
Syntax……Page 509
Examples……Page 510
Registering for Notification [Specifying Subscription Name — Single-Consumer Queue]……Page 511
Usage Notes……Page 512
C (OCI): Register for Notifications For Single-Consumer and Multi-Consumer Queries……Page 513
Posting for Subscriber Notification……Page 519
Syntax……Page 520
PL/SQL (DBMS_AQ Package): Post of Object-Type Messages……Page 521
Usage notes……Page 523
Examples……Page 524
Syntax……Page 525
Examples……Page 526
12 Creating Applications Using JMS……Page 527
General Features of JMS……Page 528
JMS Connection and Session……Page 529
JMS Destinations – Queue and Topic……Page 536
System-Level Access Control in JMS……Page 540
Destination-Level Access Control in JMS……Page 541
Retention and Message History in JMS……Page 542
Supporting Oracle Real Application Clusters in JMS……Page 543
Structured Payload/Message Types in JMS……Page 545
Payload Used by JMS Examples……Page 555
JMS Point-to-Point Model Features……Page 561
Queue Sender……Page 562
Queue Receiver……Page 563
Queue Browser……Page 565
JMS Publish-Subscribe Model Features……Page 567
Topic……Page 568
Durable Subscriber……Page 569
Topic Publisher……Page 572
Recipient Lists……Page 574
TopicReceiver……Page 575
Topic Browser……Page 577
JMS Message Producer Features……Page 579
Priority and Ordering of Messages……Page 580
Time Specification – Delay……Page 583
Time Specification – Expiration……Page 584
Message Grouping……Page 586
Receiving Messages……Page 590
Message Navigation in Receive……Page 593
Modes for Receiving Messages……Page 596
Retry With Delay Interval……Page 598
Asynchronously Receiving Message Using Message Listener……Page 600
AQ Exception Handling……Page 604
JMS Propagation……Page 607
Remote Subscribers……Page 608
Scheduling Propagation……Page 612
Enhanced Propagation Scheduling Capabilities……Page 614
Exception Handling During Propagation……Page 616
Defining Message Transformations……Page 617
Sending Messages to a Destination Using a Transformation……Page 619
Receiving Messages from a Destination Using a Transformation……Page 620
Specifying Transformations for Topic Subscribers……Page 621
Specifying Transformations for Remote Subscribers……Page 622
13 JMS Administrative Interface: Basic Operations……Page 625
Use Case Model: JMS Administrative Interface — Basic Operations……Page 626
Use Case Model Diagram: JMS Administrative Interface — Basic Operations……Page 628
Two Ways to Register a Queue/Topic Connection Factory through the Database……Page 629
Purpose……Page 630
Example……Page 631
Purpose……Page 632
Example……Page 633
Two Ways to Register a Queue/Topic Connection Factory through LDAP……Page 634
Registering through LDAP with JDBC Connection Parameters……Page 635
Example……Page 636
Usage Notes……Page 638
Example……Page 639
Example……Page 640
Syntax……Page 642
Example……Page 643
Point-to-Point – Two Ways to Create a Queue Connection Factory……Page 644
Usage Notes……Page 645
Example……Page 646
Getting a Queue Connection Factory with JDBC Connection Parameters……Page 647
Example……Page 648
Publish-Subscribe – Two Ways to Create a Topic Connection Factory……Page 649
Usage Notes……Page 650
Example……Page 651
Getting a Topic Connection Factory with JDBC Connection Parameters……Page 652
Example……Page 653
Example……Page 654
Example……Page 655
Purpose……Page 656
Example……Page 657
Example……Page 658
Purpose……Page 660
Example……Page 661
Specifying Destination Properties……Page 662
Example……Page 663
Purpose……Page 664
Example……Page 665
Purpose……Page 666
Example……Page 667
Purpose……Page 668
Example……Page 669
Usage Notes……Page 670
Example……Page 671
Publish-Subscribe – Granting Topic Privileges……Page 672
Example……Page 673
Purpose……Page 674
Example……Page 675
Point-to-Point: Granting Queue Privileges……Page 676
Example……Page 677
Point-to-Point: Revoking Queue Privileges……Page 678
Example……Page 679
Purpose……Page 680
Example……Page 681
Stopping a Destination……Page 682
Example……Page 683
Usage Notes……Page 684
Example……Page 685
Syntax……Page 686
Example……Page 687
Scheduling a Propagation……Page 688
Example……Page 689
Usage Notes……Page 690
Example……Page 691
Altering a Propagation Schedule……Page 692
Example……Page 693
Usage Notes……Page 694
Example……Page 695
Usage Notes……Page 696
Example……Page 697
14 JMS Operational Interface: Basic Operations (Point-to-Point)……Page 699
Use Case Model: Operational Interface — Basic Operations……Page 700
Four Ways of Creating a Queue Connection……Page 701
Usage Notes……Page 703
Purpose……Page 704
Example……Page 705
Syntax……Page 706
Example……Page 707
Usage Notes……Page 709
Example……Page 710
Syntax……Page 711
Two Ways of Sending Messages Using a Queue Sender……Page 712
Purpose……Page 713
Example……Page 714
Sending Messages Using a Queue Sender by Specifying Send Options……Page 715
Syntax……Page 716
Example……Page 717
Two Ways of Creating a Queue Browser for JMS Message Queues……Page 718
Purpose……Page 719
Example……Page 720
Purpose……Page 721
Example……Page 722
Two Ways of Creating a Queue Browser for Oracle Object Type (ADT) Messages Queues……Page 723
Creating a Queue Browser for Queues of Oracle Object Type (ADT) Messages……Page 724
Example……Page 725
Example……Page 726
Syntax……Page 727
Example……Page 728
Two Ways of Creating a Queue Receiver……Page 729
Purpose……Page 730
Example……Page 731
Creating a Queue Receiver for Queues of Oracle Object Type (ADT) Messages……Page 732
Example……Page 733
Usage notes……Page 734
Example……Page 735
15 JMS Operational Interface: Basic Operations (Publish-Subscribe)……Page 737
Use Case Model: JMS Operational Interface — Basic Operations (Publish-Subscribe)……Page 738
Four Ways of Creating a Topic Connection……Page 740
Usage Notes……Page 742
Example……Page 743
Syntax……Page 744
Example……Page 745
Syntax……Page 746
Syntax……Page 747
Example……Page 748
Usage Notes……Page 749
Purpose……Page 750
Syntax……Page 751
Four Ways of Publishing Messages Using a Topic Publisher……Page 752
Purpose……Page 753
Example……Page 754
Publishing a Message Specifying Correlation and Delay……Page 756
Example……Page 757
Publishing a Message Specifying Priority and Time-To-Live……Page 759
Example……Page 760
Publishing Messages Specifying a Recipient List Overriding Topic Subscribers……Page 761
Example……Page 762
Two Ways of Creating a Durable Subscriber for a Topic of Standard JMS Type Messages……Page 764
Usage Notes……Page 765
Example……Page 766
Creating a Durable Subscriber for a JMS Topic with Selector……Page 767
Usage Notes……Page 768
Example……Page 769
Two Ways of Creating a Durable Subscriber for a Topic of Oracle Object Type (ADT) Messages……Page 770
Purpose……Page 771
Example……Page 772
Creating a Durable Subscriber for an ADT Topic with Selector……Page 773
Syntax……Page 774
Example……Page 775
Two Ways of Creating a Remote Subscriber……Page 776
Purpose……Page 777
Example……Page 778
Creating a Remote Subscriber for Topics of Oracle Object Type (ADT) Messages……Page 780
Usage Notes……Page 781
Example……Page 782
Two Ways of Unsubscribing a Durable Subscription……Page 783
Purpose……Page 784
Example……Page 785
Usage Notes……Page 786
Example……Page 787
Two Ways of Creating a Topic Receiver……Page 788
Creating a Topic Receiver for a Topic of Standard JMS Type Messages……Page 789
Example……Page 790
Creating a Topic Receiver for a Topic of Oracle Object Type (ADT) Messages……Page 791
Example……Page 792
Two Ways of Creating a Topic Browser for JMS Message Queues……Page 793
Purpose……Page 794
Example……Page 795
Purpose……Page 796
Example……Page 797
Two Ways of Creating a Topic Browser for Oracle Object Type (ADT) Message Topics……Page 798
Creating a Topic Browser for Topics of Oracle Object Type (ADT) Messages……Page 799
Example……Page 800
Creating a Topic Browser for Topics of Oracle Object Type (ADT) Messages, Locking Messages While ………Page 802
Example……Page 803
Example……Page 804
16 JMS Operational Interface: Basic Operations (Shared Interfaces)……Page 807
Use Case Model: JMS Operational Interface — Basic Operations (Shared Interfaces)……Page 808
Usage Notes……Page 812
Examples……Page 813
Syntax……Page 814
Usage Notes……Page 815
Purpose……Page 816
Examples……Page 817
Syntax……Page 818
Usage Notes……Page 819
Examples……Page 820
Syntax……Page 821
Usage Notes……Page 822
Purpose……Page 823
Examples……Page 824
Usage Notes……Page 825
Examples……Page 826
Usage Notes……Page 827
Examples……Page 828
Usage Notes……Page 829
Examples……Page 830
Usage Notes……Page 831
Examples……Page 832
Specifying JMS Message Property……Page 833
Usage Notes……Page 834
Usage Notes……Page 835
Examples……Page 836
Usage Notes……Page 837
Examples……Page 838
Usage Notes……Page 839
Examples……Page 840
Usage Notes……Page 841
Examples……Page 842
Usage Notes……Page 843
Examples……Page 844
Usage Notes……Page 845
Examples……Page 846
Usage Notes……Page 847
Examples……Page 848
Usage Notes……Page 849
Examples……Page 850
Usage Notes……Page 851
Setting Default TimeToLive for All Messages Sent by a Message Producer……Page 852
Examples……Page 853
Syntax……Page 854
Examples……Page 855
Purpose……Page 856
Examples……Page 857
Usage Notes……Page 858
Examples……Page 859
Purpose……Page 860
Examples……Page 861
Syntax……Page 862
Specifying the Navigation Mode for Receiving Messages……Page 863
Examples……Page 864
Two Ways of Specifying a Message Listener to Receive a Message Asynchronously……Page 866
Usage Notes……Page 867
Examples……Page 868
Usage Notes……Page 870
Purpose……Page 871
Examples……Page 872
Two Ways of Getting the Message ID of a Message……Page 873
Syntax……Page 874
Usage Notes……Page 875
Examples……Page 876
Getting the JMS Message Property……Page 877
Syntax……Page 879
Purpose……Page 880
Examples……Page 881
Syntax……Page 882
Examples……Page 883
Syntax……Page 884
Purpose……Page 885
Examples……Page 886
Syntax……Page 887
Purpose……Page 888
Examples……Page 889
Syntax……Page 890
Purpose……Page 891
Examples……Page 892
Syntax……Page 893
Usage Notes……Page 894
Examples……Page 895
Syntax……Page 896
Usage Notes……Page 897
Examples……Page 898
Syntax……Page 899
Usage Notes……Page 900
Purpose……Page 901
Examples……Page 902
Syntax……Page 903
Usage Notes……Page 904
Purpose……Page 905
Examples……Page 906
Usage Notes……Page 907
Examples……Page 908
Examples……Page 909
Usage Notes……Page 910
Purpose……Page 911
Examples……Page 912
17 Internet Access to Advanced Queuing……Page 913
Overview of Advanced Queuing Operations Over the Internet……Page 914
The Internet Data Access Presentation (IDAP)……Page 915
IDAP Message Structure……Page 916
IDAP Method Invocation……Page 917
AQ XML Documents……Page 918
IDAP and AQ XML Schemas……Page 945
The IDAP Schema……Page 946
AQ XML Schema……Page 947
Creating the AQ XML Servlet Class……Page 959
Compiling the AQ XML Servlet……Page 960
User Authentication……Page 961
User Authorization……Page 962
Using an LDAP Server with an AQ XML Servlet……Page 964
Setup for Receiving AQ XML Requests Using SMTP (Email)……Page 965
Using HTTP to Access the AQ XML Servlet……Page 968
User Sessions and Transactions……Page 971
High-Level Architecture……Page 972
Customizing the AQ Servlet……Page 975
Setting the Session Timeout……Page 976
Setting the Style Sheet for All Responses from the Servlet……Page 977
Callbacks Before and After AQ Operations……Page 978
A Oracle Advanced Queuing by Example……Page 983
Creating a Queue Table and Queue of Object Type……Page 986
Creating a Multiple-Consumer Queue Table and Queue……Page 987
Setting Up Java AQ Examples……Page 988
Creating an Java AQ Session……Page 989
Creating a Queue Table and Queue Using Java……Page 990
Creating a Multi-Consumer Queue and Add Subscribers Using Java……Page 991
Enqueuing and Dequeuing of Object Type Messages Using PL/SQL……Page 993
Enqueuing and Dequeuing of Object Type Messages Using Pro*C/C++……Page 994
Enqueuing and Dequeuing of Object Type Messages Using OCI……Page 996
Enqueuing and Dequeuing of Object Type Messages (CustomDatum interface) Using Java……Page 998
Enqueuing and Dequeuing of Object Type Messages (using SQLData interface) Using Java……Page 1000
Enqueuing and Dequeuing of RAW Type Messages Using PL/SQL……Page 1003
Enqueuing and Dequeuing of RAW Type Messages Using Pro*C/C++……Page 1004
Enqueuing and Dequeuing of RAW Type Messages Using OCI……Page 1007
Enqueue of RAW Messages using Java……Page 1008
Dequeue of Messages Using Java……Page 1009
Dequeue of Messages in Browse Mode Using Java……Page 1010
Enqueuing and Dequeuing of Messages by Priority Using PL/SQL……Page 1012
Enqueue of Messages with Priority Using Java……Page 1014
Dequeue of Messages after Preview by Criterion Using PL/SQL……Page 1015
Enqueuing and Dequeuing of Messages with Time Delay and Expiration Using PL/SQL……Page 1019
Enqueuing and Dequeuing of Messages by Correlation and Message ID Using Pro*C/C++……Page 1020
Enqueuing and Dequeuing of Messages by Correlation and Message ID Using OCI……Page 1024
Enqueuing and Dequeuing of Messages to/from a Multiconsumer Queue Using PL/SQL……Page 1026
Enqueuing and Dequeuing of Messages to/from a Multiconsumer Queue using OCI……Page 1029
Enqueuing and Dequeuing of Messages Using Message Grouping Using PL/SQL……Page 1033
Enqueuing and Dequeuing Object Type Messages That Contain LOB Attributes Using PL/SQL……Page 1035
Enqueuing and Dequeuing Object Type Messages That Contain LOB Attributes Using Java……Page 1038
Enqueue of Messages for remote subscribers/recipients to a Multiconsumer Queue and Propagation Sc………Page 1044
Manage Propagation From One Queue To Other Queues In Another Database Using PL/SQL……Page 1046
Unscheduling Propagation Using PL/SQL……Page 1047
Dropping AQ Objects……Page 1048
Revoking Roles and Privileges……Page 1049
Deploying AQ with XA……Page 1050
Enqueuing Messages (Free Memory After Every Call) Using OCI……Page 1054
Enqueuing Messages (Reuse Memory) Using OCI……Page 1058
Dequeuing Messages (Free Memory After Every Call) Using OCI……Page 1062
Dequeuing Messages (Reuse Memory) Using OCI……Page 1066
B Oracle JMS Interfaces, Classes and Exceptions……Page 1071
Oracle JMSClasses (part 1)……Page 1076
Oracle JMS Classes (part 2)……Page 1077
Oracle JMS Classes (part 3)……Page 1078
Oracle JMS Classes (part 4)……Page 1079
Oracle JMS Classes (part 5)……Page 1080
Oracle JMS Classes (part 6)……Page 1081
Oracle JMS Classes (part 6 continued)……Page 1082
Oracle JMS Classes (part 7)……Page 1083
Oracle JMS Classes (part 8)……Page 1084
Oracle JMS Classes (part 9)……Page 1085
Oracle JMS Classes (part 10)……Page 1086
Oracle JMS Classes (part 10 continued)……Page 1087
Interface – javax.jms.BytesMessage……Page 1088
Interface – javax.jms.Connection……Page 1089
Interface – javax.jms.ConnectionFactory……Page 1090
Interface – javax.jms.ConnectionMetaData……Page 1091
Interface – javax.jms.DeliveryMode……Page 1092
Interface – javax.jms.Destination……Page 1093
Interface – javax.jms.MapMessage……Page 1094
Interface – javax.jms.Message……Page 1095
Interface – javax.jms.MessageConsumer……Page 1097
Interface – javax.jms.MessageListener……Page 1098
Interface – javax.jms.MessageProducer……Page 1099
Interface – javax.jms.ObjectMessage……Page 1100
Interface – javax.jms.Queue……Page 1101
Interface – javax.jms.QueueBrowser……Page 1102
Interface – javax.jms.QueueConnection……Page 1103
Interface – javax.jms.QueueConnectionFactory……Page 1104
Interface – javax.jms.QueueReceiver……Page 1105
Interface – javax.jms.QueueSender……Page 1106
Interface – javax.jms.QueueSession……Page 1107
Interface – javax.jms.Session……Page 1108
Interface – javax.jms.StreamMessage……Page 1109
Interface – javax.jms.TextMessage……Page 1110
Interface – javax.jms.Topic……Page 1111
Interface – javax.jms.TopicConnection……Page 1112
Interface – javax.jms.TopicConnectionFactory……Page 1113
Interface – javax.jms.TopicPublisher……Page 1114
Interface – javax.jms.TopicSession……Page 1115
Interface – javax.jms.TopicSubscriber……Page 1116
Exception javax.jms.InvalidDestinationException……Page 1117
Exception javax.jms.InvalidSelectorException……Page 1118
Exception javax.jms.JMSException……Page 1119
Exception javax.jms.MessageEOFException……Page 1120
Exception javax.jms.MessageFormatException……Page 1121
Exception javax.jms.MessageNotReadableException……Page 1122
Exception javax.jms.MesageNotWriteableException……Page 1123
Interface – oracle.jms.AdtMessage……Page 1124
Interface – oracle.jms.AQjmsQueueReceiver……Page 1125
Interface – oracle.jms.AQjmsQueueSender……Page 1126
Interface – oracle.jms.AQjmsTopicPublisher……Page 1127
Interface – oracle.jms.TopicReceiver……Page 1128
Interface – oracle.jms.AQjmsTopicSubscriber……Page 1129
Interface – oracle.jms.AQjmsTopicReceiver……Page 1130
Class – oracle.jms.AQjmsAdtMessage……Page 1131
Class – oracle.jms.AQjmsAgent……Page 1132
Class – oracle.jms.AQjmsBytesMessage……Page 1133
Class – oracle.jms.AQjmsConnection……Page 1134
Interface – oracle.jms.AQjmsConnectionMetadata……Page 1135
Class – oracle.jms.AQjmsConstants……Page 1136
Interface – oracle.jms.AQjmsConsumer……Page 1137
Class – oracle.jms.AQjmsDestination……Page 1138
Class – oracle.jms.AQjmsDestinationProperty……Page 1140
Class – oracle.jms.AQjmsFactory……Page 1141
Class – oracle.jms.AQjmsMapMessage……Page 1142
Class – oracle.jms.AQjmsMessage……Page 1143
Class – oracle.jms.AQjmsObjectMessage……Page 1144
Class – oracle.jms.AQjmsOracleDebug……Page 1145
Class – oracle.jms.AQjmsProducer……Page 1146
Class – oracle.jms.AQjmsQueueBrowser……Page 1147
Class – AQjmsQueueConnectionFactory……Page 1148
Class – oracle.jms.AQjmsSession……Page 1149
Class – oracle.jms.AQjmsStreamMessage……Page 1152
Class – oracle.jms.AQjmsTextMessage……Page 1153
Class – oracle.jms.AQjmsTopicConnectionFactory……Page 1154
Exception oracle.jms.AQjmsException……Page 1155
Exception oracle.jms.AQjmsInvalidDestinationException……Page 1156
Exception oracle.jms.AQjmsInvalidSelectorException……Page 1157
Exception oracle.jms.AQjmsMessageEOFException……Page 1158
Exception oracle.jms.AQjmsMessageFormatException……Page 1159
Exception oracle.jms.AQjmsMessageNotReadableException……Page 1160
Exception oracle.jms.AQjmsMesssageNotWriteableException……Page 1161
Interface – oracle.AQ.AQQueueTable……Page 1162
Class – oracle.AQ.AQQueueTableProperty……Page 1163
Interface – oracle.jms.TopicBrowser……Page 1165
Class – oracle.jms.AQjmsTopicBrowser……Page 1166
C Scripts for Implementing ’BooksOnLine’……Page 1167
tkaqdoca.sql: Script to Create Users, Objects, Queue Tables, Queues & Subscribers……Page 1168
tkaqdocd.sql: Examples of Administrative and Operational Interfaces……Page 1182
tkaqdoce.sql: Operational Examples……Page 1187
tkaqdocp.sql: Examples of Operational Interfaces……Page 1188
tkaqdocc.sql: Clean-Up Script……Page 1203
D JMS and AQ XML Servlet Error Messages……Page 1205
JMS Error Messages……Page 1206
AQ XML Servlet Error Messages……Page 1220
Use Case Diagrams……Page 1227
State Diagrams……Page 1233
Links in Online Versions of this Document……Page 1234
Index……Page 1239
Reviews
There are no reviews yet.