SlideShare a Scribd company logo
1 of 10
ActiveMQ
introduction
What is ActiveMQ?
• Apache ActiveMQ ™ is the most popular and
powerful open source messaging and Integration
Patterns server.
• Apache ActiveMQ is fast, supports many Cross
Language Clients and Protocols, comes with easy to
use Enterprise Integration Patterns and many
advanced features while fully supporting JMS 1.1 and
J2EE 1.4. Apache ActiveMQ is released under the
Apache 2.0 License
[From apache activemq’s website]
Enterprise Integration Patterns
[We are not going to cover Camel in this talk]
• ActiveMQ includes the Apache Camel (http://camel.apache.org/) framework as implementation
of the book Enterprise Integration Patterns
(http://www.enterpriseintegrationpatterns.com/toc.html)
• Camel empowers you to define routing and mediation rules in a variety of domain-specific
languages, including a Java-based Fluent API, Spring or Blueprint XML Configuration files, and a
Scala DSL.
• Camel has transports (http://camel.apache.org/transport.html) for many different kinds of
protocols, messaging systems, etc.
– Amazon, AMQP, CXF, EJB, File, Gmail, HDFS, Http, JDBC, Jetty, Lucene, MongoDB, Netty,
POP3, Quartz, RMI, SSH, Websocket, XMPP, etc
Java Camel DSL example:
receiving a message from ActiveMQ and sending it to a file.
from(“activemq:test.queue").to("file://test.txt");
Camel is a framework included in the ActiveMQ distribution; it is up to you using it
or not.
Cross Language Clients and Protocols
You can use ActiveMQ from virtually any language,
and of course from the TID techplan languages.
Protocols:
OpenWire, REST, Stomp, WS Notification, XMPP, AMQP, MQTT
Languages:
C++, Java, Python, JavaScript - Ajax or WebSockets, PHP, ActionScript 3, Ajax,
C, C# and .Net, Delphi and Delphi/FreePascal, Erlang, Flash / ActionScript,
Haskell, Perl, Pike, Ruby and Rails support via ActiveMessaging, Smalltalk,
WebSockets
JMS 1.1 Features
• Point to point [queues]: inmemory, persistent, transactional…
• Publish/subscribe [topics]: transient / durable (durable messages are non-persistent!!!)
• MessageTypes: text, stream, map, object…
pub
prod cons
subs1
subs2
subs3
order.insert
order.insert
order.*
order.>
Advanced features
• Amq extensions to base JMS
– Exclusive consumer: assure messages arrive in order, when multiple consumers.
Only one actively consuming. Consumer priorities.
– Message groups: ‘sticky load balancer’, during subscriber life or msg group
closed.
– Composite & virtual destinations: ‘broker-based-routing’
prod
subs1
subs2
order.insert
order.>
Compositequeue.q Queue.b
cons
Deployment options
Single JVM
Embedded broker
Peer to peer
Client-server
Integration with java code:
• Initialize by code
• Spring
• Start as external process
Failover & Fanout Transports
Networks of brokers & HA
Broker networks, messages not consumed
locally are forwarded broker-to-broker and
dispatched to remote clients.
• Message can hop through multiple
brokers before consumed.
• Each message is owned by a single
broker at any point in time.
• Messages are load-balanced among
interested consumers.
High availability: sharing data among
brokers in a Master/Slave configuration
• Fully-replicated Master/Slave pairing
• Shared file system (SAN)
Master/Slave
• Shared database Master/Slave
Live examples
• Simple queue
• Simple topic
• Web mgmt
• Monitoring with JMX (jconsole)
Some references
• Apache ActiveMQ - http://activemq.apache.org/
• What is ActiveMQ? - http://www.javacodegeeks.com/2012/04/what-is-activemq.html
• JMS Development Fundamentals using Apache ActiveMQ - http://www.javacodegeeks.com/2012/03/jms-
development-fundamentals-using.html
• ActiveMQ IS Ready For Prime Time - http://www.javacodegeeks.com/2012/03/activemq-is-ready-for-prime-
time.html
• STOMP Messaging Benchmarks: ActiveMQ vs Apollo vs HornetQ vs RabbitMQ -
http://hiramchirino.com/blog/2011/12/stomp-messaging-benchmarks-activemq-vs-apollo-vs-hornetq-vs-
rabbitmq/
• Maven plugin for Amq Performance - http://activemq.apache.org/activemq-performance-module-users-
manual.html
• Observations on ActiveMQs temp storage. - http://tmielke.blogspot.com.es/2011/02/observations-on-activemqs-
temp-storage.html
• How to Use Automatic Failover In an ActiveMQ Network of Brokers -
http://bsnyderblog.blogspot.com.es/2010/01/how-to-use-automatic-failover-in.html
• Using Apache Camel, ActiveMQ and Esper for Complex Event Processing -
http://macstrac.blogspot.com.es/2008/02/using-apache-camel-activemq-and-esper.html
• Apache Apollo 1.0 Released - http://davsclaus.blogspot.com.es/2012/02/apache-apollo-10-released.html
• Apache Apollo 1.0 Released! - http://hiramchirino.com/blog/2012/02/apache-apollo-1-0-released/

More Related Content

Recently uploaded

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 

Recently uploaded (20)

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Apache ActiveMQ Intro - may-2012

  • 2. What is ActiveMQ? • Apache ActiveMQ ™ is the most popular and powerful open source messaging and Integration Patterns server. • Apache ActiveMQ is fast, supports many Cross Language Clients and Protocols, comes with easy to use Enterprise Integration Patterns and many advanced features while fully supporting JMS 1.1 and J2EE 1.4. Apache ActiveMQ is released under the Apache 2.0 License [From apache activemq’s website]
  • 3. Enterprise Integration Patterns [We are not going to cover Camel in this talk] • ActiveMQ includes the Apache Camel (http://camel.apache.org/) framework as implementation of the book Enterprise Integration Patterns (http://www.enterpriseintegrationpatterns.com/toc.html) • Camel empowers you to define routing and mediation rules in a variety of domain-specific languages, including a Java-based Fluent API, Spring or Blueprint XML Configuration files, and a Scala DSL. • Camel has transports (http://camel.apache.org/transport.html) for many different kinds of protocols, messaging systems, etc. – Amazon, AMQP, CXF, EJB, File, Gmail, HDFS, Http, JDBC, Jetty, Lucene, MongoDB, Netty, POP3, Quartz, RMI, SSH, Websocket, XMPP, etc Java Camel DSL example: receiving a message from ActiveMQ and sending it to a file. from(“activemq:test.queue").to("file://test.txt"); Camel is a framework included in the ActiveMQ distribution; it is up to you using it or not.
  • 4. Cross Language Clients and Protocols You can use ActiveMQ from virtually any language, and of course from the TID techplan languages. Protocols: OpenWire, REST, Stomp, WS Notification, XMPP, AMQP, MQTT Languages: C++, Java, Python, JavaScript - Ajax or WebSockets, PHP, ActionScript 3, Ajax, C, C# and .Net, Delphi and Delphi/FreePascal, Erlang, Flash / ActionScript, Haskell, Perl, Pike, Ruby and Rails support via ActiveMessaging, Smalltalk, WebSockets
  • 5. JMS 1.1 Features • Point to point [queues]: inmemory, persistent, transactional… • Publish/subscribe [topics]: transient / durable (durable messages are non-persistent!!!) • MessageTypes: text, stream, map, object… pub prod cons subs1 subs2 subs3 order.insert order.insert order.* order.>
  • 6. Advanced features • Amq extensions to base JMS – Exclusive consumer: assure messages arrive in order, when multiple consumers. Only one actively consuming. Consumer priorities. – Message groups: ‘sticky load balancer’, during subscriber life or msg group closed. – Composite & virtual destinations: ‘broker-based-routing’ prod subs1 subs2 order.insert order.> Compositequeue.q Queue.b cons
  • 7. Deployment options Single JVM Embedded broker Peer to peer Client-server Integration with java code: • Initialize by code • Spring • Start as external process Failover & Fanout Transports
  • 8. Networks of brokers & HA Broker networks, messages not consumed locally are forwarded broker-to-broker and dispatched to remote clients. • Message can hop through multiple brokers before consumed. • Each message is owned by a single broker at any point in time. • Messages are load-balanced among interested consumers. High availability: sharing data among brokers in a Master/Slave configuration • Fully-replicated Master/Slave pairing • Shared file system (SAN) Master/Slave • Shared database Master/Slave
  • 9. Live examples • Simple queue • Simple topic • Web mgmt • Monitoring with JMX (jconsole)
  • 10. Some references • Apache ActiveMQ - http://activemq.apache.org/ • What is ActiveMQ? - http://www.javacodegeeks.com/2012/04/what-is-activemq.html • JMS Development Fundamentals using Apache ActiveMQ - http://www.javacodegeeks.com/2012/03/jms- development-fundamentals-using.html • ActiveMQ IS Ready For Prime Time - http://www.javacodegeeks.com/2012/03/activemq-is-ready-for-prime- time.html • STOMP Messaging Benchmarks: ActiveMQ vs Apollo vs HornetQ vs RabbitMQ - http://hiramchirino.com/blog/2011/12/stomp-messaging-benchmarks-activemq-vs-apollo-vs-hornetq-vs- rabbitmq/ • Maven plugin for Amq Performance - http://activemq.apache.org/activemq-performance-module-users- manual.html • Observations on ActiveMQs temp storage. - http://tmielke.blogspot.com.es/2011/02/observations-on-activemqs- temp-storage.html • How to Use Automatic Failover In an ActiveMQ Network of Brokers - http://bsnyderblog.blogspot.com.es/2010/01/how-to-use-automatic-failover-in.html • Using Apache Camel, ActiveMQ and Esper for Complex Event Processing - http://macstrac.blogspot.com.es/2008/02/using-apache-camel-activemq-and-esper.html • Apache Apollo 1.0 Released - http://davsclaus.blogspot.com.es/2012/02/apache-apollo-10-released.html • Apache Apollo 1.0 Released! - http://hiramchirino.com/blog/2012/02/apache-apollo-1-0-released/