JMS is a core Java technology and is the heart of many enterprise applications. This course will teach you how to use JMS in an enterprise setting, including standard JMS functionality as well as using JMS in a Spring and JEE environment.
At the core of a lot enterprise grade Java applications is a JMS compliant messaging system. In this course, Practical Enterprise JMS Playbook, you'll learn how to use JMS within an enterprise, not only focusing on on the JMS APIs themselves, but also what other tools can aide you. First, you'll examine some techniques for creating performant and scalable JMS applications. First, you'll see examples of how to use some of the more advanced techniques and JMS features. Next, you'll discover how to avoid lots of boiler plate code and use existing frameworks such as Spring and JEE. When you've completed this course you will have the foundational knowledge of JMS that will help you as you apply your skills in an enterprise environment. Software required: Apache Maven, Apache ActiveMQ, Wildfly
Grant is a Software Engineer with over 15 years experience working in mainly large scale, highly available and real time enterprise applications. He is keen on Agile approaches and automation to solve complex problems for clients and stakeholders.
Course Overview Hi everyone. My name is Grant Little, and welcome to my Practical Enterprise JMS Playbook. I have been working as a software developer and architect for over 20 years now, and a huge proportion of my experience has been in the Java space, and that includes JMS. Did you know that many of the world's largest organizations use messaging systems as a core part of their infrastructure to allow them to create dynamic and loosely-coupled applications. This course is specifically designed for using JMS within an enterprise, not only focusing on the JMS APIs themselves, but also what other tools can aid you. By the end of this playbook, you should have a good understanding of some techniques and frameworks that will allow your JMS implementation to be successful in an enterprise setting. Some of the major topics we will cover include examining the various JMS APIs, and how these can be applied to solve some complex problems for production systems, what frameworks, tools, and techniques we can use to develop performant and scalable solutions quickly using JMS, we'll also look at some tools you'll need in place to be able to run and administer a successful JMS environment. Before beginning this course, you should have a good understanding of Java, as well as a basic understanding of messaging in JMS. You should also have some knowledge of the Spring Framework or Java Enterprise Edition to get the most out of it. I hope you'll join me on this journey to learn JMS with this Practical Enterprise JMS Playbook at Pluralsight.
Should We Be Using JMS? Hi, this is Grant Little from Pluralsight, and welcome to this Practical Enterprise JMS Playbook. Let's quickly go over some of the content in this course. To start with, we'll look at should you consider using JMS at all, some of the pros and cons of using JMS, we'll be using Apache's ActiveMQ in our examples and demonstrations, so we will look at getting enough information to get it up and running. We will then cover off some basic JMS use cases. This course does assume you already have some JMS knowledge, as it's not a beginner's JMS course, but I have included this as a place you can go back to and refer to for some basic use cases. We then look at some more advanced use cases and some of the JMS features that can typically be useful in an enterprise environment or for more advanced scenarios. We then look at some of the frameworks available that make working with JMS a breeze. We will look at using JMS with both the Spring Framework and also within a Java Enterprise Edition, OR JEE environment. Once you have your code developed, then you will also need to think about administering and monitoring your application when it's in the wild, so we will touch on some techniques that can help with that.
Designing Your JMS Solution for Production Hi, this is Grant Little from Pluralsight, and welcome back to this Practical Enterprise JMS Playbook. Running simple examples is all well and good, but this course is focusing more on the enterprise. In this module, we'll look at some plays that may be required to solve some enterprise-level issues. We'll look at efficient use of resources, high availability and throughput, message ordering, error and exception handling, message selectors, synchronous messaging, and dead letter queues. I'll demonstrate these using simple use cases, but it's important to understand that they can be used to solve some big problems. If you are working in a Java Enterprise Edition application server or some other framework like Spring, then some of these concerns will be taken care of for you, but not all of them.
Using JMS with the Spring Framework Hi, this is Grant Little from Pluralsight, and welcome back to this Practical Enterprise JMS Playbook. If you've been following this playbook all the way through, then you'll have noticed that all the examples so far use the basic JMS APIs, which is all fine and good, but it also means that typically there is a fair amount of boilerplate code. Most enterprises use some form of framework to help reduce this amount of boilerplate. In this module, I'm going to look at using JMS within the Spring Framework. JMS has long been part of this framework, so it has mature support and generally makes working with JMS pretty simple, taking care of much of the boilerplate code and basic concerns for you. There are two general approaches to configuring an application using the Spring Framework, one via XML and another using annotations within your code, which is now heavily used within the Spring Boot Framework. This is not a course on teaching the Spring Framework, so I'm assuming you'll have at least some familiarity with it, and using one or both of the configuration mechanisms.
Using JMS in a JEE Environment Hi, this is Grant Little from Pluralsight, and welcome back to this Practical Enterprise JMS Playbook. In this module, we will be looking at using JMS with a JEE environment. Now as much as we developers tend to like to be on the latest and greatest, in the enterprise that isn't always the case. Therefore I'm going to cover two approaches, one, using the more traditional JMS 1. 1, which if you're on a slightly older JEE server, this is probably your only option, and two, if you're on a JEE 7 application server, then using the JMS 2. 0 client API to simplify some operations. Firstly though, we will need to install an application server. In the examples I'm going to show here, I'll be using WildFly, which is the basis of the JBoss application server, so you should find some similarities if you're using that. If you're using some other application server, then the concept should be fairly similar. It's just that the admin pages will be different, and you'll need to refer to the documentation for your specific JEE application server.
Administering and Monitoring Your JMS Environment Hi, this is Grant Little from Pluralsight, and welcome back to this Practical Enterprise JMS Playbook. In this module, we will briefly touch on how you can browse the messages on a queue without consuming them, and where this can be used. We'll look at some useful tools you can use or might need. And finally, we'll look at how you can monitor the health of your JMS solution.