Apache Karaf Cookbook
()
About this ebook
Read more from Jamie Goodyear
Instant OSGi Starter Rating: 0 out of 5 stars0 ratingsOpenDaylight Cookbook Rating: 0 out of 5 stars0 ratings
Related to Apache Karaf Cookbook
Related ebooks
WebRTC Cookbook Rating: 0 out of 5 stars0 ratingsApache Camel Developer's Cookbook Rating: 0 out of 5 stars0 ratingsChef Infrastructure Automation Cookbook - Second Edition Rating: 0 out of 5 stars0 ratingsAlfresco 3 Cookbook Rating: 0 out of 5 stars0 ratingsMastering Eclipse Plug-in Development Rating: 0 out of 5 stars0 ratingsMultithreading in C# 5.0 Cookbook Rating: 0 out of 5 stars0 ratingsSpring Boot Cookbook Rating: 0 out of 5 stars0 ratingsJava 9 Concurrency Cookbook - Second Edition Rating: 0 out of 5 stars0 ratingsWebSocket Essentials – Building Apps with HTML5 WebSockets Rating: 0 out of 5 stars0 ratingsSpring Essentials Rating: 0 out of 5 stars0 ratingsAkka Cookbook Rating: 2 out of 5 stars2/5OSGi in Depth Rating: 0 out of 5 stars0 ratingsEnterprise OSGi In Action Rating: 0 out of 5 stars0 ratingsSonar Code Quality Testing Essentials Rating: 0 out of 5 stars0 ratingsJava Concurrency Complete Self-Assessment Guide Rating: 0 out of 5 stars0 ratingsLearning .NET High-performance Programming Rating: 0 out of 5 stars0 ratingsExt.NET Web Application Development Rating: 0 out of 5 stars0 ratingsOSGi in Action: Creating Modular Applications in Java Rating: 0 out of 5 stars0 ratingsSpring 2.5 Aspect Oriented Programming Rating: 0 out of 5 stars0 ratingsRestful Java Web Services Interview Questions You'll Most Likely Be Asked: Job Interview Questions Series Rating: 0 out of 5 stars0 ratingsContinuous Integration in .NET Rating: 0 out of 5 stars0 ratingsJava 9 with JShell Rating: 0 out of 5 stars0 ratingsRx.NET in Action Rating: 0 out of 5 stars0 ratingsUNIX Programming: UNIX Processes, Memory Management, Process Communication, Networking, and Shell Scripting Rating: 0 out of 5 stars0 ratingsMulti-Hosting Application & Balloon Services: A Novel Cloud Native Architecture & Its Ecosystem Rating: 0 out of 5 stars0 ratingsCore Java Professional: For First Time Learner's. Rating: 0 out of 5 stars0 ratingsBuild Serverless Apps on Kubernetes with Knative: Build, deploy, and manage serverless applications on Kubernetes (English Edition) Rating: 0 out of 5 stars0 ratingsApache Cordova in Action Rating: 0 out of 5 stars0 ratingsSpring Boot and Single-Page Applications: Securing Your API with a Single-Page Application Frontend - Second Edition Rating: 0 out of 5 stars0 ratings
Programming For You
Python: For Beginners A Crash Course Guide To Learn Python in 1 Week Rating: 4 out of 5 stars4/5HTML & CSS: Learn the Fundaments in 7 Days Rating: 4 out of 5 stars4/5Python Programming : How to Code Python Fast In Just 24 Hours With 7 Simple Steps Rating: 4 out of 5 stars4/5Java for Beginners: A Crash Course to Learn Java Programming in 1 Week Rating: 5 out of 5 stars5/5SQL: For Beginners: Your Guide To Easily Learn SQL Programming in 7 Days Rating: 5 out of 5 stars5/5Coding All-in-One For Dummies Rating: 4 out of 5 stars4/5Python Machine Learning By Example Rating: 4 out of 5 stars4/5Learn to Code. Get a Job. The Ultimate Guide to Learning and Getting Hired as a Developer. Rating: 5 out of 5 stars5/5Learn SQL in 24 Hours Rating: 5 out of 5 stars5/5SQL QuickStart Guide: The Simplified Beginner's Guide to Managing, Analyzing, and Manipulating Data With SQL Rating: 4 out of 5 stars4/5Linux: Learn in 24 Hours Rating: 5 out of 5 stars5/5Pokemon Go: Guide + 20 Tips and Tricks You Must Read Hints, Tricks, Tips, Secrets, Android, iOS Rating: 5 out of 5 stars5/5Excel : The Ultimate Comprehensive Step-By-Step Guide to the Basics of Excel Programming: 1 Rating: 5 out of 5 stars5/5Grokking Algorithms: An illustrated guide for programmers and other curious people Rating: 4 out of 5 stars4/5SQL All-in-One For Dummies Rating: 3 out of 5 stars3/5Modern C++ for Absolute Beginners: A Friendly Introduction to C++ Programming Language and C++11 to C++20 Standards Rating: 0 out of 5 stars0 ratingsWeb Designer's Idea Book, Volume 4: Inspiration from the Best Web Design Trends, Themes and Styles Rating: 4 out of 5 stars4/5101 Amazing Nintendo NES Facts: Includes facts about the Famicom Rating: 4 out of 5 stars4/5OneNote: The Ultimate Guide on How to Use Microsoft OneNote for Getting Things Done Rating: 1 out of 5 stars1/5Learn PowerShell in a Month of Lunches, Fourth Edition: Covers Windows, Linux, and macOS Rating: 0 out of 5 stars0 ratings
Reviews for Apache Karaf Cookbook
0 ratings0 reviews
Book preview
Apache Karaf Cookbook - Jamie Goodyear
Table of Contents
Apache Karaf Cookbook
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why Subscribe?
Free Access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Apache Karaf for System Builders
Introduction
Configuring production-ready logging in Apache Karaf
How to do it…
How it works…
There's more…
See also
Creating our own custom Karaf command using a Maven archetype
Getting ready
How to do it…
How it works…
There's more…
See also
Branding the Apache Karaf console
Getting ready
How to do it…
How it works…
There's more…
Deploying applications as a feature
Getting ready
How to do it…
How it works…
There's more…
See also
Using JMX to monitor and administer Apache Karaf
Getting ready
How to do it…
Reconfiguring SSH access to Apache Karaf
Getting ready
How to do it…
There's more…
Installing Apache Karaf as a service
Getting ready
How to do it…
How it works…
See also
Setting up Apache Karaf for high availability
Getting ready
How to do it…
How it works…
There's more…
2. Making Smart Routers with Apache Camel
Introduction
Installing Apache Camel modules into Apache Karaf
Getting ready
How to do it…
How it works…
See also
Listing Camel Contexts in Karaf
Getting ready
How to do it…
How it works…
There's more…
See also
Displaying Camel Context information in Karaf
Getting ready
How to do it…
How it works…
See also
Starting and stopping Camel Contexts in Karaf
Getting ready
How to do it…
How it works…
See also
Listing routes in Karaf
Getting ready
How to do it…
How it works…
See also
Displaying route information in Karaf
Getting ready
How to do it…
How it works…
See also
Starting, stopping, suspending, and resuming routes in Karaf
Getting ready
How to do it…
How it works…
See also
Listing endpoints in Karaf
Getting ready
How to do it…
How it works…
See also
Making a pure Java-based Camel Router for deployment in Karaf
Getting ready
How to do it…
How it works…
See also
Creating a Blueprint-based Camel Router for deployment in Karaf
Getting ready
How to do it…
How it works…
There's more…
See also
Adding Configuration Admin to a Blueprint-based Camel Router
Getting ready
How to do it…
How it works…
See also
Creating a managed service factory implementation of a Camel Router
Getting ready
How to do it…
How it works…
See also
3. Deploying a Message Broker with Apache ActiveMQ
Introduction
Installing Apache ActiveMQ modules into Apache Karaf
How to do it…
How it works…
Using the ActiveMQ query command
Getting ready
How to do it…
How it works…
See also
Using the ActiveMQ list command
Getting ready
How to do it…
How it works…
See also
Using the ActiveMQ dstat command
Getting ready
How to do it…
How it works…
See also
Using the ActiveMQ purge command
Getting ready
How to do it…
How it works…
See also
Using the JMS connection factory commands
Getting ready
How to do it…
How it works…
See also
Using the JMS send command
Getting ready
How to do it…
How it works…
See also
Using the JMS browse command
Getting ready
How to do it…
How it works…
Configuring and deploying a master/slave broker with Apache Karaf
Getting ready
How to do it…
How it works…
See also
Configuring and deploying a Network of Brokers with Apache Karaf
Getting ready
How to do it…
How it works…
There's more…
See also
4. Hosting a Web Server with Pax Web
Introduction
Installing Pax modules in Apache Karaf
How to do it…
How it works…
See also
Installing extended Http Service in Apache Karaf
How to do it…
How it works…
See also
Configuring Pax Web modules deployed in Apache Karaf
How to do it…
How it works…
There's more…
How it works…
Building a Http Service project to host in Apache Karaf
Getting ready
How to do it…
How it works…
See also
Building a Http Service with the Whiteboard pattern in Apache Karaf
How to do it…
Registering error pages
Defining error page mapping
Registering a welcome page
Register JSPs
How it works...
Building an application with custom HttpContext with Apache Karaf
Getting ready
How to do it…
There's more…
Building a standard web project to host in Apache Karaf
Getting ready
How to do it…
How it works…
There's more…
Configuring security for a web application in Apache Karaf
Getting ready
How to do it…
How it works…
There's more…
Binding a web project to a specific host in Apache Karaf
Getting ready
How to do it…
How it works…
There's more…
Building a Servlet 3.0 annotated web application with Apache Karaf
Getting ready
How to do it…
There's more…
How it works…
Creating a CDI web application with Apache Karaf
Getting ready
How to do it…
How it works…
See also
5. Hosting Web Services with Apache CXF
Introduction
Installing Apache CXF modules in Apache Karaf
How to do it…
How it works…
See also
Using the CXF list-endpoints command
Getting ready
How to do it…
How it works…
See also
Using the CXF stop and start commands
Getting ready
How to do it…
How it works…
See also
Building and deploying a RESTful service in Karaf
Getting ready
How to do it…
How it works…
See also
Building and deploying a Camel CXF web service in Karaf
Getting ready
How to do it…
How it works…
See also
6. Distributing a Clustered Container with Apache Karaf Cellar
Introduction
Installing Apache Karaf Cellar modules in Apache Karaf
How to do it…
How it works…
Using Apache Karaf Cellar commands
Getting ready
How to do it…
Group commands
The node commands
Cluster configuration commands
How it works…
See also
Building and deploying a distributed architecture with Cellar
Getting ready
How to do it…
Producing a service bundle
Service consuming bundle
How it works…
7. Providing a Persistence Layer with Apache Aries and OpenJPA
Introduction
Installing OpenJPA modules in Apache Karaf
Getting ready
How to do it…
How it works…
See also
Installing Apache Aries JTA modules in Apache Karaf
Getting ready
How to do it…
Installing the JTA feature into Karaf
How it works…
See also
Building a project with a persistence layer for deployment in Karaf
Getting ready
How to do it…
How it works…
See also
Building a project with a persistence layer and transaction support for deployment in Karaf
Getting ready
How to do it…
How it works…
See also
8. Providing a Big Data Integration Layer with Apache Cassandra
Introduction
Installing Cassandra client bundles in Apache Karaf
Getting ready
How to do it…
Modeling data with Apache Cassandra
Getting ready
How to do it…
How it works…
Building a project with a persistence layer for deployment in Karaf
Getting ready
How to do it…
How it works…
9. Providing a Big Data Integration Layer with Apache Hadoop
Introduction
Starting a standalone Hadoop cluster
Installing Hadoop client bundles in Apache Karaf
Getting ready
How to do it…
Accessing Apache Hadoop from Karaf
How to do it…
How it works
Adding commands that talk to HDFS for deployment in Karaf
Getting ready
How to do it...
How it works…
10. Testing Apache Karaf with Pax Exam
Introduction
Setting up a Pax Exam test environment
Getting ready
How to do it…
How it works…
There's more…
Testing Apache Karaf features
Getting ready
How to do it…
How it works…
Testing commands with Apache Karaf
Getting ready
How to do it...
How it works…
Coverage with Apache Karaf Pax Exam tests
Getting ready
How to do it…
How it works…
Testing Apache Camel with Blueprint and Apache Karaf
Getting ready
How to do it…
How it works…
Index
Apache Karaf Cookbook
Apache Karaf Cookbook
Copyright © 2014 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: August 2014
Production reference: 1180814
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78398-508-1
www.packtpub.com
Credits
Authors
Achim Nierbeck
Heath Kesler
Jamie Goodyear
Johan Edstrom
Reviewers
Ladislav Gažo
Sachin Handiekar
Arun Manivannan
Charlie Mordant
Commissioning Editor
Usha Iyer
Acquisition Editor
Meeta Rajani
Content Development Editor
Mohammed Fahad
Technical Editor
Taabish Khan
Copy Editors
Deepa Nambiar
Stuti Srivastava
Laxmi Subramanian
Project Coordinator
Wendell Palmer
Proofreaders
Maria Gould
Paul Hindle
Indexers
Tejal Soni
Priya Subramani
Graphics
Ronak Dhruv
Production Coordinator
Nitesh Thakur
Cover Work
Nitesh Thakur
Cover Image
Sheetal Aute
About the Authors
Achim Nierbeck has more than 14 years of experience in designing and implementing Java enterprise applications. He is a committer and PMC at the Apache Karaf project and member of the ASF. Besides working on Apache Karaf, he is also the project lead of the OPS4j Pax Web project. Since 2010, he has enjoyed working with OSGi enterprise applications. He holds a Diploma in Computer Engineering from the University of Applied Sciences in Mannheim.
When not working on enterprise or integration projects or open source development, he enjoys spending time with his family and friends.
He can be reached at notizblog.nierbeck.de.
I'd like to thank my wife, Doro, and my kids for their support while writing this book and in my career. I'd also like to thank the open source communities at Apache and OPS4j, who made this book possible.
Heath Kesler is an Apache developer and committer, has spoken at conferences around the world, and is a senior SOA architect with Savoir Technologies. He has architected and developed scalable, highly available SOA systems for large corporations around the globe.
He currently helps corporations implement and develop enterprise integration systems using messaging and web services with a focus on maintainability and scalability. He gives training classes on complex concepts and frameworks that provide functionality to large-scale enterprise solutions. He has bootstrapped development on mission critical systems for several Fortune 500 companies.
He has reached committer status on Apache Karaf and is a contributor to Camel. He received a Bachelor of Science degree from DeVry University after his tour in the army.
I'd like to thank my wife, Christina, and kids for their unending support throughout my career. Thanks also to the open source communities for making high-powered software accessible to the masses.
Jamie Goodyear is an open source advocate, Apache developer, and computer systems analyst with Savoir Technologies; he has designed, critiqued, and supported architectures for large organizations worldwide. He holds a Bachelor of Science degree in Computer Science from Memorial University of Newfoundland.
Jamie has worked in systems administration, software quality assurance, and senior software developer roles for businesses ranging from small start-ups to international corporations. He has attained committer status on Apache Karaf, ServiceMix, and Felix, and is a Project Management Committee member on Apache Karaf. His first printed publication was co-authoring Instant OSGi Starter, Packt Publishing, with Johan Edstrom followed by Learning Apache Karaf, Packt Publishing, with Johan Edstrom and Heath Kesler.
Currently, he divides his time between providing high-level reviews of architectures, mentoring developers and administrators with SOA deployments, and helping the Apache community grow.
To Laura and caffeine, my companions through many a long night of writing.
I'd like to thank my family and friends for all of their support over the years. I'd also like to thank all the open source communities that have made Apache Karaf possible.
Johan Edstrom is an open source software evangelist, Apache developer, and seasoned architect; he has created Java architectures for large, scalable, high transaction monitoring, financial, and open source systems. He is a trained electronics engineer with a penchant for fractal geometry.
He has worked as a development lead, infrastructure manager, IT lead, and programmer, and has guided several large companies to success in the use of open source software components. Lately, he has been helping some of the world's largest networking companies and medical start-ups achieve high availability, scalability, and dynamically adapting SOA systems.
Johan divides his time between writing software, mentoring development teams, and teaching people how to use Apache ServiceMix, Camel, CXF, and ActiveMQ effectively and in a scalable way for enterprise installations.
Johan is the co-author along with Jamie Goodyear of Instant OSGi Starter, Packt Publishing.
Johan is a committer on Apache Camel and Apache ServiceMix and is a Project Management Committee member for Apache Camel.
I'd like to thank my wife, Connee, my daughter, Annica, and my parents, Bengt and Birgitta, for supporting me and cheering us on while writing this book as well as making it possible to work through quite a few nights.
I'd like to thank the Apache Software Foundation, a fantastic place fostering open source development.
About the Reviewers
Ladislav Gažo is a long-time computer enthusiast who has enjoyed digging into the software world from a very young age. He has more than 12 years of professional experience in development and software engineering. While experimenting with computer graphics and network administration, he realized that his true path is in the combination of software engineering and business. He has been developing, analyzing, and architecting Java-based, desktop-based, and modern web-based solutions for several years. The application of the agile approach and advanced technology is part of his hobby and day-to-day job.
Rich experience with various technologies led Ladislav to cofound Seges—a software development company based in Slovakia. He actively participates in start up events and helps building development communities, namely Google Developer Group and Java Group, in Slovakia. With his colleagues, he designed and spinned off an interactive content management solution called Synapso, utilizing contemporary technologies combined with the user experience in mind.
I would not have been able to materialize my knowledge as part of the review process of this book without the support of all my colleagues, friends, and family. Creating a good long-term environment helped me gain the experience that I can pass on.
Sachin Handiekar is a senior software developer with over five years of experience in Java EE development. He graduated in Computer Science from the University of Greenwich, London, and currently works for a global consulting company, developing enterprise applications using various open source technologies such as Apache Camel, ServiceMix, ActiveMQ, and ZooKeeper.
He is very interested in open source projects and has contributed code to Apache Camel and developed plugins for Spring Social, which can be found at GitHub (https://github.com/sachin-handiekar).
He also actively writes about enterprise application development on his blog (http://sachinhandiekar.com).
Arun Manivannan has been trying hard to write better programs for over 10 years, with little luck. His languages of choice are Java and Scala, but he meddles around with various others, just for kicks. He is one of DZone's Most Valuable Bloggers and blogs at http://rerun.me. His interests include enterprise integration, information retrieval, and NoSQL databases.
Arun holds a Master's degree in Software Engineering from National University of Singapore. He also holds a Bachelor's degree in Commerce, a Master's degree in Computer Applications, and a PG Diploma in Human Resource Management from a business school.
I am deeply indebted to my dad, who taught me the value of persistence and determination in life, and my mom, without whose prayers and boundless love, I'd be nothing.
There are simply no words to thank my loving wife, Daisy. Her humongous faith in me and her support and patience make me believe in life-long miracles. She simply made the man I am today.
I can't finish without thanking my five-year old son, Jason, enough, for kissing me goodnight even if I couldn't read him his bedtime story.He's the greatest inspiration in my life.
Charlie Mordant is an experienced JEE software architect, enterprise architecture and Eclipse Modeling consultant, and is also an OSS contributor (OPS4J and an unlimited number of tickets to Apache, JBoss, Linux, and Eclipse).
He is a polyglot programmer and DevOPS enthusiast (Java, OSGi, EMF, AngularJS, Maven, Chef, and Docker) and also the creator of an Apache-licensed OSGi to roughly-EE bridge (the Osgiliath enterprise framework). He does his best to encourage large companies to embrace modularity.
Currently, he is working at Obeo, the Eclipse Modeling leaders.
I would like to thank my