Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

Apache Karaf Cookbook
Apache Karaf Cookbook
Apache Karaf Cookbook
Ebook629 pages2 hours

Apache Karaf Cookbook

Rating: 0 out of 5 stars

()

Read preview

About this ebook

This book is intended for developers who have some familiarity with Apache Karaf and who want a quick reference for practical, proven tips on how to perform common tasks such as configuring Pax modules deployed in Apache Karaf, Extending HttpService with Apache Karaf. You should have working knowledge of Apache karaf, as the book provides a deeper understanding of the capabilities of Apache Karaf.
LanguageEnglish
Release dateAug 25, 2014
ISBN9781783985098
Apache Karaf Cookbook

Read more from Jamie Goodyear

Related to Apache Karaf Cookbook

Related ebooks

Programming For You

View More

Related articles

Reviews for Apache Karaf Cookbook

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    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

    Enjoying the preview?
    Page 1 of 1