Apache Geronimo 2.1: Quick Reference

Apache Geronimo 2.1: Quick Reference
eBook: $29.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 15%!
Print + free eBook + free PacktLib access to the book: $79.98    Print cover: $49.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • Gain a deep understanding of the rich set of features provided by Apache Geronimo 2.1.4
  • Develop and deploy your Java EE 5 applications on Geronimo with easy-to-use tooling support
  • Create database pools and establish connectivity with all the supported databases using Geronimo
  • Master the server administration and customize the server with your own plugins
  • Step-by-step instructions with plenty of examples and sample applications

Book Details

Language : English
Paperback : 412 pages [ 235mm x 191mm ]
Release Date : November 2009
ISBN : 1847196942
ISBN 13 : 9781847196941
Author(s) : Manu T. George, Vamsavardhana Reddy Chillakuru
Topics and Technologies : All Books, Networking and Servers, Java, Open Source

Table of Contents

Chapter 1: Getting Started with Geronimo
Chapter 2: Geronimo Architecture
Chapter 3: Database Connectivity
Chapter 4: JMS Connectivity
Chapter 5: Java EE Application Deployment
Chapter 6: Security
Chapter 7: CORBA
Chapter 8: Naming and JNDI
Chapter 9: Geronimo Plugins
Chapter 10: Administration
Chapter 11: Geronimo Eclipse Plugin
Chapter 12: Clustering
Chapter 13: Logging
Chapter 14: Geronimo Internals
Appendix A: Deployment Plans
Appendix B: Troubleshooting
  • Chapter 1: Getting Started with Geronimo
    • Motivation behind the Geronimo project
    • Constituent projects
    • Apache Geronimo architecture
    • Downloading and running Apache Geronimo
      • Geronimo Administration Console
        • Information portlet
        • Java System Info portlet
        • Server Logs portlet
        • Web Server portlet
        • JMS Server portlet
        • Repository portlet
        • JMS Resources portlet
        • Database Pools portlet
        • Deploy New portlet
        • Plan Creator portlet
        • Plugins portlet
        • Applications portlets
        • Users and Groups portlet
        • DB Info portlet
        • DB Manager portlet
    • Building Geronimo
    • Contributing to Geronimo
      • Java EE 5 development tools
      • Java EE 5 samples
    • Summary
  • Chapter 2: Geronimo Architecture
    • Inversion of Control and dependency injection
    • GBeans
    • Configurations
    • Dependencies
    • High-level architecture
    • Class loader architecture
      • Modifying default class loading behavior
      • Important modules
    • Server directory structure
    • Deployment architecture
      • Deployer
      • Repository
      • Configuration builder
      • Module builder
      • Module builder extension
      • Naming builder
      • Hot deployment
      • Deployment watcher
    • Plugins
      • Plugin catalog and plugin repository
      • Custom server assemblies
      • Extensible Administration Console
    • Summary
  • Chapter 3: Database Connectivity
    • Database pool scopes
    • Creating a server-wide database pool
      • Using the Administration Console Wizard
        • Installing unlisted drivers
      • Using the Deploy New portlet
      • Using the command-line deployer
      • Using GShell
    • Creating an application-scoped database pool
    • Creating a client-scoped pool
    • Editing an existing pool
    • Importing a pool from another application server
    • Creating an XA pool
    • Using a database pool in an application
      • Accessing a server-scoped database pool
      • Accessing an application-scoped database pool from the same application
      • Accessing an application-scoped database pool from a different application
    • Summary
  • Chapter 4: JMS Connectivity
    • Message broker configuration
      • GBean configuration
      • Using the Administration Console
    • JMS resource scopes
    • Creating JMS resources
      • Creating Server-wide JMS resources
        • Using the Administration Console Wizard
        • Using the Deploy New portlet
        • Using the command-line deployer
        • Using GShell
      • Creating application-scoped JMS resources
      • Creating application client-scoped JMS resources
    • Using JMS resources in an application
    • Connecting to a different provider
    • Summary
  • Chapter 5: Java EE Application Deployment
    • Deployment of applications
      • Deployment descriptors
      • Deployment plans
      • The deploy tool
      • Deployment from the Administration Console
      • Deployment through GShell
      • Web modules
      • Servlet
      • Filter
      • Listener
      • Web deployment descriptor
      • Annotations
        • Resource annotation
        • EJB annotation
      • Web deployment plan
        • Tomcat specific configuration
        • Jetty specific configuration
      • Sample web application
    • EJB applications
      • Annotations
      • EJB deployment plan
      • Sample EJB application
        • Deploy the JMS resources
        • Deploy the EJB sample
        • Deploy the Web application
    • JPA Applications
      • Annotations
      • Container-managed persistence
        • CMP sample application
      • Bean-managed persistence
        • BMP sample application
    • Enterprise applications
      • Deployment plan
    • Application clients
      • Deployment plan
    • JavaMail
    • Web Services
      • EAR sample application
        • Deploying an EJB web service
    • Transactions
      • Container-managed transactions
      • Annotations
        • TransactionManagement
        • TransactionAttribute
      • Bean-managed transactions
      • Support in Geronimo
        • Setting transaction timeout
        • Transaction isolation levels
        • Transactions in web applications
    • Summary
  • Chapter 6: Security
    • Overview of security standards
      • Java Authentication and Authorization Service (JAAS)
      • Java Authorization Contract for Containers (JACC)
      • The Common Secure Interoperability Version 2 (CSIv2) protocol
    • Securing the server directory
    • Securing the Administration Console, JMX server, and deployer
    • Securing the embedded Derby database
      • Updating database pools
    • Cryptographic security
      • Keystores
      • Keystores portlet
        • Creating a new keystore
        • Viewing the contents of a keystore
        • Adding a private key
        • Adding a trusted certificate
        • Deleting a private key or trusted certificate
        • Changing a keystore password
        • Unlocking keystore for availability
        • Unlocking a keystore for editing
        • Locking a keystore for editing or availability
        • View private key details
        • Changing a Private Key password
        • Generating CSR for a Private Key
        • Importing the CA Reply for a Private Key
      • Preparing a keystore for use with SSL
      • Certificate Authority portlet
      • Protecting passwords
      • HTTPS connectors
        • Tomcat HTTPS connectors
        • Jetty HTTPS connectors
    • JAAS login modules
      • Login modules for authentication
        • PropertiesFile login module
        • SQL login module
        • LDAP login module
        • CertificatePropertiesFile login module
        • Using custom login modules
      • Special purpose login modules
        • FileAudit login module
        • RepeatedFailureLockout login module
        • GeronimoPasswordCredential login module
        • NamedUsernamePasswordCredential login module
    • Security realms
      • Creating a security realm
        • Using the Security Realms portlet
        • Security realm deployment plan
      • Principal wrapping
    • Application security
      • Configuring web application security
        • Running the sample web application
      • Configuring EJB application security
        • Defining security roles in the deployment descriptor
        • Declaring method permissions in the deployment descriptor
        • Using annotations to define roles and permissions
        • Mapping principals to roles in the EJB deployment plan
        • Running the EJB sample application
        • Configuring entity bean security
      • Run-as and default subjects
        • Credential store
        • Configuring an application to use a credential store
        • Configuring run-as and default subjects
        • Running a sample EJB application with run-as
        • Configuring message-driven bean security
      • Configuring EAR application security
      • Application-scoped security realms
    • Single sign-on (SSO)
    • Replacing the default security realm
    • Summary
  • Chapter 7: CORBA
    • CORBA concepts
      • ORB
      • Naming service
      • Security services
    • Support in Geronimo
    • Exposing EJBs through CORBA
      • Creating a Target Security Service (TSS)
        • SSL
        • Authentication mechanism
        • Identity Tokens
      • Configuring EJB to use TSS
      • Sample application exposing EJBs through CORBA
      • Deploying and running the sample EJB application
    • Referencing EJBs through CORBA
      • Creating a Client Security Service (CSS)
        • SSL
        • Authentication mechanism
        • Identity tokens
      • Configuring the EJB reference to use CSS
      • Sample web application accessing CORBA EJBs
        • Sample CSS
      • Deploying and running the sample
    • Summary
  • Chapter 8: Naming and JNDI
    • Application local JNDI context
      • resource-ref
      • resource-env-ref
      • ejb-ref
      • ejb-local-ref
      • service-ref
      • message-destination-ref
      • persistence-context-ref
      • persistence-unit-ref
      • gbean-ref
    • Global JNDI
    • Summary
  • Chapter 9: Geronimo Plugins
    • Developing a plugin
      • Creating a plugin project
    • Installing a plugin
    • Available plugins
    • Pluggable Administration Console
      • Architecture
      • Developing an Administration Console extension
    • Plugins portlet
    • Custom server assemblies and server profiles
    • Summary
  • Chapter 10: Administration
    • Administration Console
      • Server portlets
        • Information portlet
        • Java System Info portlet
        • Server Logs portlet
        • Shutdown portlet
        • Web Server portlet
        • Thread Pools portlet
        • Apache HTTP portlet
        • JMS Server portlet
        • Monitoring portlet
      • Services portlets
        • Repository portlet
        • Database Pools portlet
        • JMS Resources portlet
      • Applications portlets
        • Deploy New portlet
        • System Modules portlet
        • Web App WARs portlet
        • EJB JARs portlet
        • Application EARs portlet
        • J2EE connectors portlet
        • App Clients portlet
        • Plan Creator portlet
      • Embedded DB portlets
        • DB Info portlet
        • DB Manager portlet
      • Debug Views portlets
        • JMX Viewer portlet
        • LDAP Viewer portlet
        • ClassLoader Viewer portlet
        • JNDI Viewer portlet
        • Dependency Viewer portlet
    • Web Server administration
      • HTTP connectors
      • HTTPS connectors
      • AJP connectors
      • Web Server Logs
    • JMS server administration
      • JMS listeners
    • Monitoring the server
      • Adding a Server
      • Adding a Graph
      • Creating a new view
    • GShell
      • Starting and exiting GShell
      • Getting help
      • Supported commands
    • Summary
  • Chapter 11: Geronimo Eclipse Plugin
    • Eclipse and the web tools framework
      • Download and installation
    • GEP download and installation
    • Developing an application in GEP
    • Deploying and running or debugging the application in Geronimo
    • Summary
  • Chapter 12: Clustering
    • WADI
      • Updating deployment descriptor and deployment plan
    • Load balancing with Apache web server
      • Installing the Apache web server
      • Web app in Geronimo served through Apache web server
      • Apache HTTP portlet
      • Accessing the sample app through Apache web server
    • Running multiple server instances from a single installation
    • Clustered Helloworld-cluster application
      • Updating workers.properties
    • Farming
      • Cluster member configuration
      • Farm deployment
      • Running a sample application with Farm deployment
    • Summary
  • Chapter 13: Logging
    • Configuring Apache Geronimo logging
    • Configuring application logging
      • Using log4j
        • Logging to the geronimo.log file and the command console
        • Logging to a separate log file
        • Logging using the ApplicationLog4jConfigurationGBean
      • Using the Java Logging API
      • Using the SLF4j logging adapter
    • Summary
  • Chapter 14: Geronimo Internals
    • Services provided by Geronimo
      • Kernel
      • ServerInfo
    • Configurations and deployment
      • ConfigurationManager
        • EditableConfigurationManager
      • LocalAttributeManager
      • ArtifactResolver
    • Developing a new GBean
      • GBean attributes
        • Magic attributes
      • GBean references
      • GBean operations
      • GBean constructor
      • GBean interface
      • GBeanLifecycle
      • Sample GBean MySampleGBean
    • Deploying the GBean
      • Testing the GBean with GBean web app sample
    • Summary
  • Appendix B: Troubleshooting
    • Server startup errors
      • BindException
      • IllegalArgumentException due to a wrong instance name
      • InvalidConfigurationException
    • Deployment errors
      • MissingDependencyException
      • XmlException—Invalid deployment descriptor
      • DuplicateDeploymentException
    • Runtime errors
      • LoginException—No LoginModules configured

Manu T. George

Manu T. George is a Software Engineer at IBM India Software Labs in Bangalore, India. Prior to that, he was a Java/ J2EE developer in Cognizant Technology Solutions India Ltd. He has 8 years of experience in the IT field. He is a committer on Apache Geronimo and Apache OpenEJB projects, and was a part of the IBM worldwide Level 3 support team for Apache Geronimo and IBM WebSphere Application Server Community Edition. His interests include Application Servers (scalability, transaction processing, EIS connectivity), and the Java Virtual Machine. He has also authored many articles in IBM developerWorks and also co-authored an IBM Redbook on Migration to WebSphere Application Server. He received his Bachelor of Technology in Applied Electronics from the College of Engineering Trivandrum in the year 2001.

Vamsavardhana Reddy Chillakuru

Vamsavardhana Reddy Chillakuru, a.k.a., Vamsi is an Advisory Software Engineer working with IBM India Private Limited since 1996 and is part of the IBM worldwide Level 3 support team for Apache Geronimo and IBM Application Server Community Edition. He is proficient in Java and Java EE technologies with more than 10 years experience with Java EE application development. His interests include application security in general and cryptographic security in particular. He has presented sessions on Apache Geronimo at Apache conferences on various topics ranging from security to server administration. He has authored many articles in IBM developerWorks and also co-authored an IBM Redbook on Migration to WebSphere Application Server. Considered as a security expert in the Geronimo community, he is actively involved in adding new security features to Geronimo. He is responsible for adding a Certification Authority portlet to Geronimo Admin Console. Associated with Apache Geronimo project since July 2005, he is a committer on Apache Geronimo and Apache Tuscany projects and a member of the Apache Geronimo PMC. He is involved in the standards development for Service Component Architecture (SCA) and is a member of OASIS (Organization for the Advancement of Structured Information Standards) SCA-Assembly, SCA-Java and SCA-Policy Technical Committees and SCA-J Java EE Subcommittee. He received his B.Stat. (Hons.) and M.Stat. degrees from the Indian Statistical Institute, Kolkata, India in the years 1994 and 1996 respectively.

Sorry, we don't have any reviews for this title yet.

Code Downloads

Download the code and support files for this book.

Submit Errata

Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.

Sample chapters

You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

Frequently bought together

Apache Geronimo 2.1: Quick Reference +    IBM WebSphere eXtreme Scale 6 =
50% Off
the second eBook
Price for both: €36.65

Buy both these recommended eBooks together and get 50% off the cheapest eBook.

What you will learn from this book

  • Master the features of Apache Geronimo to develop your application
  • Develop and deploy Java EE 5 applications on Geronimo
  • Understand web application clustering using WADI
  • Develop applications rapidly using the Geronimo Eclipse Plugin
  • Secure the server environment and applications
  • Configure remote EJB references to invoke remote EJBs via CORBA
  • Bind custom resources to JNDI using GBeans and leverage the global JNDI environment for your applications
  • Create custom server assemblies
  • Extend the Admin Console using Admin Console Extensions
  • Administer the Geronimo server
  • Develop and deploy services on Geronimo using GBeans
  • Troubleshoot server startup, application deployment, application startup, and runtime problems

In Detail

Apache Geronimo is a robust, scalable, secure, and high-performing application server. But like all application servers, this power comes with a steep learning curve. This book can help you save your time and get working with Geronimo in matter of a few hours.

This book is a quick-reference guide to Apache Geronimo that mitigates the starting pains that most developers have when they migrate to a new Application Server. It will help you to extend and amplify your existing development skills, empowering you to build new types of applications regardless of the platform or browser.

The book will introduce you to the exciting features of Apache Geronimo Application Server. You will see how easily you can develop and deploy Java EE 5 applications on Geronimo. It covers everything from downloading the server to customizing it using custom GBeans. By following the practical examples in this book, you will be able to develop applications quickly using Geronimo Eclipse Plugin.

The book covers Geronimo internals in detail, which helps you write custom services on Geronimo. Also, it helps you to gain a deep understanding of Geronimo plugin architecture and teaches you to extend your server functionality via plugins. By the end of the book, you will develop proficiency in Geronimo and Java EE 5 application development.

A quick reference to the rich features of Geronimo 2.1 with easy-to-understand examples covering Java EE5 applications, server administration, and customization


This book is a comprehensive reference of the Apache Geronimo Application Server with easy-to-understand examples and sample applications. Different configuration items are available as self contained chapters that can be looked up independently of the other chapters so that readers can go straight to whatever part of Geronimo they want to configure. The book is packed with tips and tricks, based on the author's experience with Apache Geronimo in real-life projects.

Who this book is for

This book is intended for Java EE developers and server administrators who would like to use Geronimo for developing and deploying fully fledged Java EE 5 applications and freely distribute Geronimo with their solutions. Readers should be familiar with Java EE 5 concepts.

Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software