Knowledge

Jakarta Messaging

Source đź“ť

1109: 275:, senders, and receivers. Each message is addressed to a specific queue, and the receiving clients extract messages from the queues established to hold their messages. While any number of producers can send messages to the queue, each message is guaranteed to be delivered, and consumed by one consumer. Queues retain all messages sent to them until the messages are consumed or until the messages expire. If no consumers are registered to consume the messages, the queue holds them until a consumer registers to consume them. 304:
There is a timing dependency between publishers and subscribers. The publisher has to create a message topic for clients to subscribe. The subscriber has to remain continuously active to receive messages, unless it has established a durable subscription. In that case, messages published while the
235:
A staging area that contains messages that have been sent and are waiting to be read (by only one consumer). As the name queue suggests, the messages are delivered in the order sent. A JMS queue guarantees that each message is processed only
113:) by the introduction of an intermediary component. This approach allows software components to communicate with each other indirectly. Benefits of this include message senders not needing to have precise knowledge of their receivers. 803: 93:
distributed communication, where in this context the term 'communication' can be understood as an exchange of messages between software components. Message-oriented technologies attempt to relax
897: 839: 465: 205:
An implementation of the JMS interface for message-oriented middleware (MOM). Providers are implemented as either a Java JMS implementation or an adapter to a non-Java MOM.
116:
The advantages of messaging include the ability to integrate heterogeneous platforms, reduce system bottlenecks, increase scalability, and respond more quickly to change.
325:
to connect to the queue or topic, and then use populate and send or publish the messages. On the receiving side, the clients then receive or subscribe to the messages.
297:
on a particular message topic. In this model, neither the publisher nor the subscriber knows about each other. A good analogy for this is an anonymous bulletin board.
771: 348:
To use JMS, one must have a JMS provider that can manage the sessions, queues and topics. Starting from Java EE version 1.4, a JMS provider has to be contained in
459: 796: 890: 271:
messaging system, messages are routed to individual consumers who maintain queues of incoming messages. This messaging type is built on the concept of
828: 521:
standardized real-time messaging system with over ten implementations that have demonstrated interoperability between publishers and subscribers
106: 677: 411: 1025: 713: 626: 1084: 566: 764: 1428: 1423: 1163: 367: 17: 318: 742: 655: 1418: 508: 46: 392: 1433: 1120: 353: 1312: 1307: 489: 285: 110: 98: 54: 1297: 1204: 1382: 1199: 553:. In Middleware for Communications, ed. Qusay H Mahmoud, 1-28. Chichester, England: John Wiley and Sons. 363: 78: 50: 43: 1026:"Choosing a messaging system: WebSphere MQ vs. the WebSphere Application Server Service Integration Bus" 1392: 1387: 1319: 184: 65:
and was originally defined by a specification developed at Sun Microsystems before being guided by the
524: 514: 1302: 1249: 1156: 314: 1057: 518: 352:
Java EE application servers. This can be implemented using the message inflow management of the
1356: 550: 435: 180: 66: 1131: 89: 864: 511:(AMQP) — standardized message queue protocol with multiple independent implementations 242:
A distribution mechanism for publishing messages that are delivered to multiple subscribers.
1264: 1239: 1194: 8: 1335: 1279: 1254: 1231: 1149: 478: 998: 681: 1366: 1340: 1274: 1108: 1043: 974: 835: 445: 424: 420: 1080: 706: 562: 922: 615: 622: 554: 494: 454: 386: 1361: 1244: 1189: 1181: 1102: 406: 398: 372: 310: 82: 58: 528: 415: 57:, that can be used to facilitate the sending and receiving of messages between 1074: 1412: 1209: 738: 651: 483: 272: 102: 1141: 1269: 558: 1289: 377: 305:
subscriber is not connected will be redistributed whenever it reconnects.
1172: 1136: 1114: 948: 578: 337: 229:
An object that contains the data being transferred between JMS clients.
62: 1221: 439: 321:(JNDI) information for the desired provider. The classes first use a 317:
can be used to communicate with different JMS providers by using the
712:. Sun Microsystems (published December 17, 1999). November 9, 1999. 289:
model supports publishing messages to a particular message "topic".
1214: 450: 1125: 1075:
Richards, Mark; Richard Monson-Haefel; David A. Chappell (2009).
429: 402: 211:
An application or process that produces and/or receives messages.
1397: 1010: 381: 53:. It provides generic messaging models, able to handle the 309:
JMS provides a way of separating the application from the
190:
JMS 3.0 is under early development as part of Jakarta EE.
680:. Sun Microsystems. October 29, 1998. Archived from 356:, which was first made available in that version. 359:The following is a list of common JMS providers: 1410: 301:Zero or more consumers will receive the message. 1137:A historical comparison matrix of JMS providers 678:"Java Message Service Source - Version 1.0.1a" 610: 608: 278: 1171: 1157: 972: 217:A JMS client that creates and sends messages. 527:— similar technology, implemented for 293:may register interest in receiving messages 72: 973:Monson-Haefel, Richard (December 6, 2018). 605: 343: 1164: 1150: 1107: 1011:"Apache Qpid™: Open Source AMQP Messaging" 251:The JMS API supports two distinct models: 179:JMS 2.0 is currently maintained under the 992: 579:"JSR 914: Java Message Service (JMS) API" 1044:"TIBCO Cloud™ Messaging TIBCO Software" 741:. Sun Microsystems. December 23, 1999. 262: 14: 1411: 654:. Sun Microsystems. October 30, 1998. 389:(formerly MQSeries, then WebSphere MQ) 27:Java application programming interface 1145: 770:. Sun Microsystems. August 27, 2001. 1077:Java Message Service, Second Edition 802:. Sun Microsystems. April 12, 2002. 739:"Java Message Service Documentation" 652:"Java Message Service Documentation" 223:A JMS client that receives messages. 1058:"TIBCO Enterprise Message Service™" 949:"JSR 343: Java Message Service 2.0" 319:Java Naming and Directory Interface 24: 1068: 1023: 953:The Java Community Process Program 927:Java Message Service Specification 869:Java Message Service Specification 583:The Java Community Process Program 486:— the concept underlying JMS 395:'s Service Integration Bus (SIBus) 119: 25: 1445: 1115:JSR 343: Java Message Service 2.0 1094: 509:Advanced Message Queuing Protocol 313:of providing data. The same Java 61:. Jakarta Messaging is a part of 47:application programming interface 923:"JMS 2.0 errata release (Rev a)" 466:TIBCO Enterprise Message Service 393:IBM WebSphere Application Server 198:The following are JMS elements: 1132:Oracle's Java EE 7 JMS tutorial 1050: 1036: 1017: 1003: 966: 941: 915: 903:from the original on 2022-10-09 883: 857: 845:from the original on 2022-10-09 821: 809:from the original on 2022-10-09 789: 777:from the original on 2022-10-09 745:from the original on 2000-02-29 719:from the original on 2000-08-23 658:from the original on 1999-02-24 632:from the original on 1999-02-24 505:implement the JMS API include: 501:Messaging technologies that do 757: 731: 699: 670: 644: 596: 571: 543: 354:Java EE Connector Architecture 340:for the Java Message Service. 13: 1: 551:"Message-Oriented Middleware" 536: 519:Object Management Group (OMG) 490:Service-oriented architecture 328: 7: 1429:Message-oriented middleware 1424:Java specification requests 602:Richards et al., pages 3–5. 472: 279:Publish-and-subscribe model 193: 79:Message-oriented middleware 51:message-oriented middleware 10: 1450: 999:Java Message Service (JMS) 896:. Oracle. March 10, 2015. 76: 1375: 1349: 1328: 1288: 1230: 1180: 525:Microsoft Message Queuing 515:Data Distribution Service 246: 73:General idea of messaging 55:producer–consumer problem 1419:Java enterprise platform 975:"JMS 3.0: Get Involved!" 344:Provider implementations 865:"JMS 2.0 Final Release" 220:JMS consumer/subscriber 97:communication (such as 87:Messaging is a form of 891:"Java Message Service" 829:"Java Message Service" 797:"Java Message Service" 765:"Java Message Service" 707:"Java Message Service" 616:"Java Message Service" 559:10.1002/0470862084.ch1 436:Oracle WebLogic Server 432:from the OpenJMS Group 368:Java Messaging Library 214:JMS producer/publisher 181:Java Community Process 67:Java Community Process 1434:Software architecture 1398:Streaming API for XML 1313:Web Services Metadata 1308:SOAP with Attachments 549:Curry, Edward. 2004. 460:TIBCO Cloud Messaging 286:publish-and-subscribe 258:Publish-and-subscribe 1240:Dependency injection 479:Message Driven Beans 263:Point-to-point model 36:Java Message Service 18:Java Message Service 1200:Expression Language 625:. October 5, 1998. 468:from TIBCO Software 462:from TIBCO Software 333:RFC 6167 defines a 151:(December 23, 1999) 145:(December 17, 1999) 1030:IBM developerWorks 838:. March 20, 2013. 687:on August 16, 2000 421:Open Message Queue 323:connection factory 139:(October 30, 1998) 1406: 1405: 1086:978-0-596-52204-9 567:978-0-470-86206-3 517:(DDS) — An 157:(August 27, 2001) 133:(October 5, 1998) 32:Jakarta Messaging 16:(Redirected from 1441: 1250:Enterprise Beans 1166: 1159: 1152: 1143: 1142: 1123: 1111: 1106: 1105: 1103:Official website 1090: 1062: 1061: 1054: 1048: 1047: 1040: 1034: 1033: 1024:Wallis, Graham. 1021: 1015: 1014: 1007: 1001: 996: 990: 989: 987: 985: 970: 964: 963: 961: 959: 945: 939: 938: 936: 934: 919: 913: 912: 910: 908: 902: 895: 887: 881: 880: 878: 876: 861: 855: 854: 852: 850: 844: 833: 825: 819: 818: 816: 814: 808: 801: 793: 787: 786: 784: 782: 776: 769: 761: 755: 754: 752: 750: 735: 729: 728: 726: 724: 718: 711: 703: 697: 696: 694: 692: 686: 674: 668: 667: 665: 663: 648: 642: 641: 639: 637: 631: 623:Sun Microsystems 620: 612: 603: 600: 594: 593: 591: 589: 575: 569: 547: 495:Event-driven SOA 455:Pivotal Software 336: 175:(March 16, 2015) 163:(April 12, 2002) 59:software systems 21: 1449: 1448: 1444: 1443: 1442: 1440: 1439: 1438: 1409: 1408: 1407: 1402: 1371: 1345: 1324: 1284: 1245:Bean Validation 1226: 1176: 1170: 1119: 1101: 1100: 1097: 1087: 1071: 1069:Further reading 1066: 1065: 1056: 1055: 1051: 1042: 1041: 1037: 1022: 1018: 1009: 1008: 1004: 997: 993: 983: 981: 971: 967: 957: 955: 947: 946: 942: 932: 930: 921: 920: 916: 906: 904: 900: 893: 889: 888: 884: 874: 872: 863: 862: 858: 848: 846: 842: 831: 827: 826: 822: 812: 810: 806: 799: 795: 794: 790: 780: 778: 774: 767: 763: 762: 758: 748: 746: 737: 736: 732: 722: 720: 716: 709: 705: 704: 700: 690: 688: 684: 676: 675: 671: 661: 659: 650: 649: 645: 635: 633: 629: 618: 614: 613: 606: 601: 597: 587: 585: 577: 576: 572: 548: 544: 539: 475: 399:JBoss Messaging 373:Apache ActiveMQ 346: 334: 331: 311:transport layer 281: 265: 249: 196: 122: 120:Version history 95:tightly coupled 90:loosely coupled 85: 83:Message passing 75: 28: 23: 22: 15: 12: 11: 5: 1447: 1437: 1436: 1431: 1426: 1421: 1404: 1403: 1401: 1400: 1395: 1390: 1385: 1379: 1377: 1373: 1372: 1370: 1369: 1364: 1359: 1353: 1351: 1347: 1346: 1344: 1343: 1338: 1332: 1330: 1326: 1325: 1323: 1322: 1317: 1316: 1315: 1310: 1300: 1294: 1292: 1286: 1285: 1283: 1282: 1277: 1272: 1267: 1262: 1257: 1252: 1247: 1242: 1236: 1234: 1232:Enterprise app 1228: 1227: 1225: 1224: 1219: 1218: 1217: 1207: 1202: 1197: 1192: 1186: 1184: 1178: 1177: 1175:specifications 1169: 1168: 1161: 1154: 1146: 1140: 1139: 1134: 1129: 1117: 1112: 1096: 1095:External links 1093: 1092: 1091: 1085: 1070: 1067: 1064: 1063: 1049: 1035: 1016: 1002: 991: 965: 940: 929:. July 5, 2017 914: 882: 871:. June 9, 2017 856: 820: 788: 756: 730: 698: 669: 643: 604: 595: 570: 541: 540: 538: 535: 534: 533: 532: 531: 529:.NET Framework 522: 512: 499: 498: 497: 487: 481: 474: 471: 470: 469: 463: 457: 448: 442: 433: 427: 418: 416:OW2 Consortium 409: 396: 390: 384: 375: 370: 345: 342: 330: 327: 307: 306: 302: 280: 277: 273:message queues 269:point-to-point 264: 261: 260: 259: 256: 255:Point-to-point 248: 245: 244: 243: 240: 237: 233: 230: 227: 224: 221: 218: 215: 212: 209: 206: 203: 195: 192: 177: 176: 170: 169:(May 21, 2013) 164: 158: 152: 146: 140: 134: 128: 121: 118: 74: 71: 34:API (formerly 26: 9: 6: 4: 3: 2: 1446: 1435: 1432: 1430: 1427: 1425: 1422: 1420: 1417: 1416: 1414: 1399: 1396: 1394: 1391: 1389: 1386: 1384: 1381: 1380: 1378: 1374: 1368: 1365: 1363: 1360: 1358: 1355: 1354: 1352: 1348: 1342: 1339: 1337: 1334: 1333: 1331: 1327: 1321: 1318: 1314: 1311: 1309: 1306: 1305: 1304: 1301: 1299: 1296: 1295: 1293: 1291: 1287: 1281: 1278: 1276: 1273: 1271: 1268: 1266: 1263: 1261: 1258: 1256: 1253: 1251: 1248: 1246: 1243: 1241: 1238: 1237: 1235: 1233: 1229: 1223: 1220: 1216: 1213: 1212: 1211: 1208: 1206: 1203: 1201: 1198: 1196: 1193: 1191: 1188: 1187: 1185: 1183: 1179: 1174: 1167: 1162: 1160: 1155: 1153: 1148: 1147: 1144: 1138: 1135: 1133: 1130: 1128:documentation 1127: 1122: 1118: 1116: 1113: 1110: 1104: 1099: 1098: 1088: 1082: 1078: 1073: 1072: 1059: 1053: 1045: 1039: 1031: 1027: 1020: 1012: 1006: 1000: 995: 980: 976: 969: 954: 950: 944: 928: 924: 918: 899: 892: 886: 870: 866: 860: 841: 837: 830: 824: 805: 798: 792: 773: 766: 760: 744: 740: 734: 715: 708: 702: 683: 679: 673: 657: 653: 647: 628: 624: 617: 611: 609: 599: 584: 580: 574: 568: 564: 560: 556: 552: 546: 542: 530: 526: 523: 520: 516: 513: 510: 507: 506: 504: 500: 496: 493: 492: 491: 488: 485: 484:Message queue 482: 480: 477: 476: 467: 464: 461: 458: 456: 452: 449: 447: 444:PubSub+ from 443: 441: 437: 434: 431: 428: 426: 422: 419: 417: 413: 410: 408: 404: 400: 397: 394: 391: 388: 385: 383: 379: 376: 374: 371: 369: 365: 362: 361: 360: 357: 355: 351: 341: 339: 326: 324: 320: 316: 312: 303: 300: 299: 298: 296: 292: 288: 287: 276: 274: 270: 257: 254: 253: 252: 241: 238: 234: 231: 228: 225: 222: 219: 216: 213: 210: 207: 204: 201: 200: 199: 191: 188: 186: 182: 174: 171: 168: 165: 162: 159: 156: 153: 150: 147: 144: 141: 138: 135: 132: 129: 127: 124: 123: 117: 114: 112: 108: 104: 100: 96: 92: 91: 84: 80: 70: 68: 64: 60: 56: 52: 48: 45: 41: 37: 33: 19: 1290:Web services 1259: 1079:. O'Reilly. 1076: 1052: 1038: 1029: 1019: 1005: 994: 982:. Retrieved 978: 968: 956:. Retrieved 952: 943: 931:. Retrieved 926: 917: 905:. Retrieved 885: 873:. Retrieved 868: 859: 847:. Retrieved 823: 811:. Retrieved 791: 779:. Retrieved 759: 747:. Retrieved 733: 721:. Retrieved 701: 689:. Retrieved 682:the original 672: 660:. Retrieved 646: 634:. Retrieved 598: 586:. Retrieved 582: 573: 545: 502: 358: 349: 347: 332: 322: 308: 294: 290: 284: 282: 268: 266: 250: 202:JMS provider 197: 189: 178: 172: 166: 160: 154: 148: 142: 136: 130: 125: 115: 94: 88: 86: 39: 35: 31: 29: 1280:Annotations 378:Apache Qpid 291:Subscribers 226:JMS message 1413:Categories 1367:Management 1173:Jakarta EE 537:References 364:Amazon SQS 338:URI scheme 329:URI scheme 267:Under the 208:JMS client 155:JMS 1.0.2b 149:JMS 1.0.2a 137:JMS 1.0.1a 77:See also: 63:Jakarta EE 49:(API) for 42:API) is a 1222:WebSocket 1121:javax.jms 979:Tomitribe 440:Oracle AQ 414:from the 295:published 239:JMS topic 232:JMS queue 143:JMS 1.0.2 131:JMS 1.0.1 1215:Facelets 984:July 17, 958:July 31, 933:July 31, 907:July 31, 898:Archived 875:July 31, 849:July 31, 840:Archived 813:July 31, 804:Archived 781:July 31, 772:Archived 749:July 31, 743:Archived 723:July 31, 714:Archived 691:July 31, 662:July 31, 656:Archived 636:July 31, 627:Archived 588:July 31, 473:See also 451:RabbitMQ 380:, using 194:Elements 173:JMS 2.0a 101:network 1376:Related 1362:JAX-RPC 1350:Removed 1190:Servlet 1182:Web app 1126:Javadoc 430:OpenJMS 403:HornetQ 315:classes 167:JMS 2.0 161:JMS 1.1 126:JMS 1.0 103:sockets 1303:JAX-WS 1298:JAX-RS 1083:  836:Oracle 565:  446:Solace 425:Oracle 387:IBM MQ 247:Models 1329:Other 1210:Faces 1195:Pages 901:(PDF) 894:(PDF) 843:(PDF) 832:(PDF) 807:(PDF) 800:(PDF) 775:(PDF) 768:(PDF) 717:(PDF) 710:(PDF) 685:(ZIP) 630:(PDF) 619:(PDF) 453:from 423:from 412:JORAM 407:JBoss 405:from 236:once. 187:343. 107:CORBA 1388:JDBC 1383:JAXP 1357:JAXR 1336:JAXB 1320:JAXM 1270:Mail 1205:JSTL 1124:API 1081:ISBN 986:2020 960:2018 935:2018 909:2018 877:2018 851:2018 815:2018 783:2018 751:2018 725:2018 693:2018 664:2018 638:2018 590:2018 563:ISBN 438:and 401:and 382:AMQP 335:jms: 283:The 81:and 44:Java 30:The 1393:JMX 1341:JAF 1275:JCA 1265:JTA 1260:JMS 1255:JPA 555:doi 503:not 366:'s 350:all 185:JSR 183:as 111:RMI 109:or 99:TCP 40:JMS 38:or 1415:: 1028:. 977:. 951:. 925:. 867:. 834:. 621:. 607:^ 581:. 561:. 105:, 69:. 1165:e 1158:t 1151:v 1089:. 1060:. 1046:. 1032:. 1013:. 988:. 962:. 937:. 911:. 879:. 853:. 817:. 785:. 753:. 727:. 695:. 666:. 640:. 592:. 557:: 20:)

Index

Java Message Service
Java
application programming interface
message-oriented middleware
producer–consumer problem
software systems
Jakarta EE
Java Community Process
Message-oriented middleware
Message passing
loosely coupled
TCP
sockets
CORBA
RMI
Java Community Process
JSR
message queues
publish-and-subscribe
transport layer
classes
Java Naming and Directory Interface
URI scheme
Java EE Connector Architecture
Amazon SQS
Java Messaging Library
Apache ActiveMQ
Apache Qpid
AMQP
IBM MQ

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑