You are previewing Pivotal Certified Spring Enterprise Integration Specialist Exam.
O'Reilly logo
Pivotal Certified Spring Enterprise Integration Specialist Exam

Book Description

Exam topics covered include tasks and scheduling, remoting, the Spring Web Services framework, RESTful services with Spring MVC, the Spring JMS module, JMS and JTA transactions with Spring, batch processing with Spring Batch and the Spring Integration framework. Prepare with confidence for the Pivotal Enterprise Integration with Spring Exam.

One of the important aspects of this book is a focus on new and modern abstractions provided by Spring. Therefore most of the features are shown with Java annotations alongside established XML configurations. Most of the examples in the book are also based on the Spring Boot framework. Spring Boot adoption is exponential because of its capability to significantly simplify Spring configuration using sensible opinionated defaults. But Spring Boot is not the target of the exam, therefore all the features are also covered with plain Spring configuration examples.

Table of Contents

  1. Cover
  2. Title
  3. Copyright
  4. Contents at a Glance
  5. Contents
  6. About the Author
  7. About the Technical Reviewer
  8. Acknowledgments
  9. Introduction
  10. Chapter 1: Tasks and Scheduling
    1. Multithreading in Java
      1. Java SE
      2. Java EE
      3. Task Scheduling
    2. Multithreading with Spring
      1. org.springframework.core.task.TaskExecutor
      2. org.springframework.scheduling.Trigger
      3. Task Scheduler
      4. Configuring Asynchronous Tasks
      5. Configuring Scheduled Tasks
    3. Summary
  11. Chapter 2: Remoting
    1. Remote Method Invocation
      1. Spring RMI Support
      2. Spring RMI Summary
    2. Spring HttpInvoker
      1. HttpInvoker Served via HttpRequestHandlerServlet
      2. HttpInvoker Served via DispatcherServlet
      3. HttpInvoker Served via Simple Java HTTP Server
      4. HttpInvoker Service Accessed from Client
    3. Summary
  12. Chapter 3: Web Services
    1. Introduction to Web Services
    2. Java Web Services
    3. Spring Web Services
      1. Contract Creation
      2. Endpoint Mapping
      3. JAXB 2 Endpoint-Mapping Example
    4. Spring Context Configuration
    5. Transports
      1. HTTP/HTTPS
      2. JMS
      3. E-mail
      4. XMPP
      5. Servlet Transports
    6. Web Service Client
    7. Intercepting Messages
      1. Server-Side Interception
      2. Client-Side Interception
    8. Error Handling
      1. Server-Side Error Handling
      2. Client-Side Error Handling
    9. Out-of-Container Testing
      1. Server-Side Testing Support
      2. Client-Side Testing Support
    10. Summary
  13. Chapter 4: RESTful Web Services
    1. REST Principles
      1. Client/Server Separation
      2. CRUD Operations
      3. Uniform Interface
      4. Statelessness
      5. Layered Architecture
      6. HATEOAS
      7. Cacheability
      8. Flexibility
    2. HTTP Overview
    3. HTTP Methods Used by REST
    4. JAX-RS
      1. JAX-RS Implementations
      2. JAX-RS API
      3. Common Classes Used in Examples
      4. JAX-RS Endpoint
    5. Spring MVC
      1. Configuring Spring MVC for REST
      2. Spring MVC Mappings
      3. Lower-level Abstraction Injection
      4. String MVC CRUD Example
      5. @RestController Example
      6. Spring MVC REST with Headers and Query Parameters
    6. Testing Spring MVC REST APIs
      1. perform
      2. andExpect
      3. andReturn
      4. andDo
      5. MockMvc Instance Creation
      6. MockMvc Integration Test Example
      7. MockMvc Unit Test Example
    7. Consuming REST
      1. Custom Error Handler
    8. Client-Side Testing
    9. Consuming REST Asynchronously
    10. Summary
  14. Chapter 5: Java Message Service
    1. JMS Standard Overview
    2. Java JMS API
      1. JMS Message
      2. JMS Infrastructure Abstractions
    3. Java JMS Examples
      1. Synchronous JMS 1.1 Example
      2. Synchronous JMS 2.0 Example
      3. Asynchronous JMS Example
    4. Spring JMS
      1. Configuring Spring JMS
      2. Caching JMS Resources
      3. Using JmsTemplate
      4. Using the MessageCreator Callback
      5. Listening to JMS Messages
      6. Converting JMS Messages
      7. Using the Publish/Subscribe JMS Model
      8. Integrating JMS with Higher-Level Messaging Abstractions
    5. Summary
  15. Chapter 6: JMS Transactions
    1. JMS Reliability Mechanisms
    2. Java JMS Transaction Examples
    3. Common Classes for Spring JMS Examples
    4. AUTO_ACKNOWLEDGE Mode
      1. Success Scenario
      2. Lost Message with Listener
      3. Lost Message with Synchronous Reception
    5. CLIENT_ACKNOWLEDGE Mode
      1. Success Scenario
      2. Duplicate Message Scenario
    6. DUPS_OK_ACKNOWLEDGE Mode
    7. Local JMS Transactions with Spring
      1. Success Scenario
      2. Duplicate Message Scenario
    8. JmsTransactionManager
    9. Handling Duplicates
    10. Summary
  16. Chapter 7: Distributed Transactions
    1. Understanding Distributed Transactions
    2. Cons of Distributed Transactions
    3. Distributed Transactions with Spring
      1. Common Classes for JTA Examples
      2. Spring JTA Example with XML Configuration
      3. Spring JTA Example with Java Configuration
      4. Spring Boot JTA Example
    4. Summary
  17. Chapter 8: Spring Integration
    1. Spring Integration Introduction
    2. Spring Integration’s Main Concepts
    3. Common Classes Used in SI Examples
    4. Message
      1. Programmatic Creation of Messages
      2. Parsing Message Headers
    5. Message Endpoint
      1. Message Endpoint Types
      2. List of Message Endpoints
      3. Channel Adapter
      4. Service Activator
      5. Messaging Gateway
      6. Transformer
      7. Content Enricher
      8. Filter
      9. Router
      10. Bridge
      11. Chain
      12. Splitter
      13. Aggregator
    6. Message Channel
      1. DirectChannel
      2. QueueChannel
      3. PriorityChannel
      4. RendezvousChannel
      5. ExecutorChannel
      6. PublishSubscribeChannel
      7. NullChannel
      8. Channel Interceptor
      9. Wire Tap
    7. Error Handling
      1. Custom Class in Error-Handling Examples
      2. Synchronous Error Propagation Example
      3. Asynchronous Bidirectional Flow
      4. Asynchronous Unidirectional Flow
      5. Global Error Handler Overriding
      6. Custom Error Channel Example
    8. Transaction Handling
      1. Transaction Propagation Example
      2. Transacted Polling Example
    9. MessagingTemplate
      1. MessagingTemplate Example
    10. Summary
  18. Chapter 9: Spring Batch
    1. Spring Batch Domain
    2. Chunk-Oriented Processing
      1. Common Classes for Chunk-Oriented Processing Examples
      2. Chunk-Oriented Processing Example with XML Configuration
      3. Chunk-Oriented Processing Example with Java Configuration
      4. Example with File Reader and JDBC Writer
    3. Tasklet Step
      1. Common Classes for Tasklet Examples
      2. Tasklet Step Example with XML Configuration
      3. Tasklet Step Example with Java Configuration
    4. JobLauncher
      1. JobLauncher Example with XML Configuration
      2. JobLauncher Example with Java Configuration
      3. Asynchronous JobLauncher Example
    5. JobParameters
    6. CommandLineJobRunner
      1. Execute Thin JAR from the Command Line
      2. Execute Fat Spring Boot JAR from the Command Line
      3. Execute XML Job from the Command Line
      4. Execute Job with Parameters from the Command Line
    7. JobRepository
      1. Configuring JobRepository with XML Configuration
      2. Configuring JobRepository with Java Configuration
    8. Stateful Job and Step Execution
      1. ExecutionContext
      2. Batch Scopes
    9. Batch-Processing Listeners
      1. XML Configuration of Job Interception Example
      2. Java Configuration of Job Interception Example
      3. XML Configuration of Step Interception Example
      4. Java Configuration of Step Interception example
      5. XML Configuration of Chunk-Oriented Processing Listeners
      6. Java Configuration of Chunk-Oriented Processing Listeners
    10. ItemStream
      1. XML Example of ItemStream Usage
      2. Java Configuration Example of ItemStream Usage
    11. Job and Step Inheritance
    12. Configuring Restart
      1. XML Configuration Example of Step Restart
      2. Java Configuration Example of Step Restart
    13. Control Repeat of Step Execution
    14. Reacting to Failures
      1. XML Configuration of Skip and SkipListener
      2. Java Configuration of Skip and SkipListener
      3. XML Configuration of Retry
      4. Java Configuration of Retry
    15. Conditional Execution of Step
      1. XML Configuration of Step Decision
      2. Java Configuration of Step Decision
    16. Scaling and Parallel Processing
      1. Multithreaded Step
      2. Parallel Steps
      3. Remote Chunking of Step
      4. Partitioning a Step
    17. Spring Batch Admin
    18. Summary
  19. Index