Acknowledgments |
|
ix | |
Preface |
|
xi | |
|
1 Getting Started with JRuby |
|
|
1 | (16) |
|
What Makes JRuby So Great? |
|
|
2 | (2) |
|
Preparing Your Environment |
|
|
4 | (3) |
|
|
7 | (3) |
|
Creating a JRuby Microservice |
|
|
10 | (5) |
|
|
15 | (2) |
|
2 Creating a Deployment Environment |
|
|
17 | (12) |
|
|
17 | (3) |
|
Getting Started with Docker |
|
|
20 | (2) |
|
|
22 | (2) |
|
|
24 | (3) |
|
|
27 | (2) |
|
3 Deploying a Rails Application |
|
|
29 | (20) |
|
What Is Traditional Deployment? |
|
|
29 | (1) |
|
|
30 | (4) |
|
Configuring Rails for Production |
|
|
34 | (2) |
|
Creating the Deployment Environment |
|
|
36 | (4) |
|
Deploying to the Public Cloud |
|
|
40 | (1) |
|
Deploying to Private Infrastructure |
|
|
41 | (7) |
|
|
48 | (1) |
|
4 Consuming Backing Services with JRuby |
|
|
49 | (24) |
|
What Are Backing Services? |
|
|
49 | (1) |
|
Storing Sessions in Memcached |
|
|
50 | (6) |
|
Running Background Jobs with Sidekiq |
|
|
56 | (6) |
|
Message Passing with RabbitMQ |
|
|
62 | (9) |
|
|
71 | (2) |
|
5 Deploying JRuby in the Enterprise |
|
|
73 | (14) |
|
What Is an Application Server? |
|
|
74 | (1) |
|
Getting Started with TorqueBox |
|
|
75 | (2) |
|
Scheduling a Recurring Job |
|
|
77 | (1) |
|
|
78 | (3) |
|
Deploying to the Public Cloud |
|
|
81 | (1) |
|
Deploying to Private Infrastructure |
|
|
81 | (2) |
|
Using a Commercially Supported Server |
|
|
83 | (3) |
|
|
86 | (1) |
|
6 Managing a JRuby Application |
|
|
87 | (22) |
|
|
87 | (1) |
|
Inspecting the Runtime with VisualVM |
|
|
88 | (5) |
|
Inspecting the Runtime with JMX |
|
|
93 | (3) |
|
Invoking MBeans Programmatically |
|
|
96 | (2) |
|
Creating a Management Bean |
|
|
98 | (2) |
|
|
100 | (3) |
|
|
103 | (4) |
|
|
107 | (2) |
|
7 Tuning a JRuby Application |
|
|
109 | (14) |
|
|
109 | (2) |
|
|
111 | (1) |
|
Configuring Heap Generations |
|
|
112 | (2) |
|
Choosing a Garbage Collector |
|
|
114 | (2) |
|
Benchmarking the Garbage Collector |
|
|
116 | (4) |
|
|
120 | (1) |
|
|
121 | (2) |
|
8 Monitoring JRuby in Production |
|
|
123 | (10) |
|
Installing the New Relic Gem |
|
|
123 | (3) |
|
Creating a New Relic Alert |
|
|
126 | (1) |
|
Handling Errors with Rollbar |
|
|
127 | (4) |
|
Customizing Rollbar Reporting |
|
|
131 | (1) |
|
|
132 | (1) |
|
9 Using a Continuous Integration Server |
|
|
133 | (10) |
|
|
133 | (1) |
|
Installing Jenkins Plugins |
|
|
134 | (1) |
|
|
135 | (1) |
|
|
136 | (3) |
|
Enabling Continuous Delivery |
|
|
139 | (1) |
|
|
140 | (3) |
Index |
|
143 | |