ebook img

Spring Integration in Action PDF

367 Pages·2012·14.25 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Spring Integration in Action

M A N N I N G IN ACTION Mark Fisher Jonas Partner Marius Bogoevici Iwein Fuld FOREWORD BY Rod Johnson www.it-ebooks.info Spring Integration in Action www.it-ebooks.info www.it-ebooks.info Spring Integration in Action MARK FISHER JONAS PARTNER MARIUS BOGOEVICI IWEIN FULD MANNING SHELTER ISLAND www.it-ebooks.info For online information and ordering of this and other Manning books, please visit www.manning.com. The publisher offers discounts on this book when ordered in quantity. For more information, please contact Special Sales Department Manning Publications Co. 20 Baldwin Road PO Box 261 Shelter Island, NY 11964 Email: [email protected] ©2012 by Manning Publications Co. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, photocopying, or otherwise, without prior written permission of the publisher. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in the book, and Manning Publications was aware of a trademark claim, the designations have been printed in initial caps or all caps. Recognizing the importance of preserving what has been written, it is Manning’s policy to have the books we publish printed on acid-free paper, and we exert our best efforts to that end. Recognizing also our responsibility to conserve the resources of our planet, Manning books are printed on paper that is at least 15 percent recycled and processed without the use of elemental chlorine. Manning Publications Co. Development editor: Cynthia Kane 20 Baldwin Road Copyeditor: Benjamin Berg PO Box 261 Technical proofreaders: Neale Upstone, Doug Warren Shelter Island, NY 11964 Proofreader: Katie Tennant Typesetter: Dottie Marsico Cover designer: Marija Tudor ISBN 9781935182436 Printed in the United States of America 1 2 3 4 5 6 7 8 9 10 – MAL – 17 16 15 14 13 12 www.it-ebooks.info brief contents PART 1 BACKGROUND...............................................................1 1 ■ Introduction to Spring Integration 3 2 ■ Enterprise integration fundamentals 24 PART 2 MESSAGING.................................................................43 3 ■ Messages and channels 45 4 ■ Message Endpoints 63 5 ■ Getting down to business 80 6 ■ Go beyond sequential processing: routing and filtering 104 7 ■ Splitting and aggregating messages 122 PART 3 INTEGRATING SYSTEMS..............................................139 8 ■ Handling messages with XML payloads 141 9 ■ Spring Integration and the Java Message Service 155 10 ■ Email-based integration 180 11 ■ Filesystem integration 191 12 ■ Spring Integration and web services 208 13 ■ Chatting and tweeting 219 v www.it-ebooks.info vi BRIEF CONTENTS PART 4 ADVANCED TOPICS.....................................................237 14 ■ Monitoring and management 239 15 ■ Managing scheduling and concurrency 258 16 ■ Batch applications and enterprise integration 276 17 ■ Scaling messaging applications with OSGi 292 18 ■ Testing 304 www.it-ebooks.info contents foreword xv preface xvii acknowledgments xix about this book xxii author online xxvii about the authors xxviii about the cover illustration xxix PART 1 BACKGROUND .................................................. 1 1 Introduction to Spring Integration 3 1.1 Spring Integration’s architecture 5 1.2 Spring Integration’s support for enterprise integration patterns 8 Messages 8 ■ Message Channels 9 ■ Message endpoints 10 1.3 Enterprise integration patterns meet Inversion of Control 13 Dependency injection 13 ■ Method invocation 16 1.4 Say hello to Spring Integration 19 1.5 Summary 22 vii www.it-ebooks.info viii CONTENTS 2 Enterprise integration fundamentals 24 2.1 Loose coupling and event-driven architecture 25 Why should you care about loose coupling? 25 ■ Type-level coupling 27 ■ Loosening type-level coupling with dependency injection 28 ■ System-level coupling 30 ■ Event-driven architecture 32 2.2 Synchronous and asynchronous communication 32 What’s the difference? 33 ■ Where does Spring Integration fit in? 36 2.3 Comparing enterprise integration styles 38 Integrating applications by transferring files 39 ■ Interacting through a shared database 39 ■ Exposing a remote API through Remote Procedure Calls 40 ■ Exchanging messages 41 2.4 Summary 41 PART 2 MESSAGING.....................................................43 3 Messages and channels 45 3.1 Introducing Spring Integration messages 46 What’s in a message? 46 ■ How it’s done in Spring Integration 47 3.2 Introducing Spring Integration channels 49 Using channels to move messages 50 ■ I’ll let you know when I’ve got something! 50 ■ Do you have any messages for me? 50 The right channel for the job 51 ■ A channel selection example 53 3.3 Channel collaborators 57 MessageDispatcher 57 ■ ChannelInterceptor 59 3.4 Summary 62 4 Message Endpoints 63 4.1 What can you expect of an endpoint? 65 To poll or not to poll? 66 ■ Inbound endpoints 67 ■ Outbound endpoints 68 ■ Unidirectional and bidirectional endpoints 69 4.2 Transaction boundaries around endpoints 70 Why sharing isn’t always a good thing 70 ■ What are transactions, and can we get by without them? 71 www.it-ebooks.info CONTENTS ix 4.3 Under the hood 74 Endpoint parsing 75 ■ Endpoint instantiation 76 4.4 Summary 78 5 Getting down to business 80 5.1 Domain-driven transformation 81 Marshalling flight information 82 ■ Using the simplest possible data representation 84 ■ Wiring the components together 86 Testing the transformer 88 ■ Content enricher 90 ■ Header enricher 91 5.2 Message-driven services 94 The Service Activator pattern 94 ■ The Return Address pattern 94 5.3 Message publishing interceptors 96 5.4 Domain-driven Messaging Gateways 97 5.5 Chaining endpoints 100 5.6 Summary 102 6 Go beyond sequential processing: routing and filtering 104 6.1 Do you want to get this message? 105 Filtering out messages 105 ■ Using filters for selective processing 109 6.2 Whose message is this, anyway? 110 Configuring routers 111 ■ Routers provided by the framework 114 ■ Routers with multiple destinations 117 6.3 Under the hood 119 The message filter API 119 ■ The message router API 120 6.4 Summary 121 7 Splitting and aggregating messages 122 7.1 Introducing correlation 123 A real-life example 124 ■ Correlating messages 125 7.2 Splitting, aggregating, and resequencing 126 The art of dividing: the splitter 126 ■ How to get the big picture: the aggregator 127 ■ Doing things in the right order: the resequencer 128 www.it-ebooks.info

Description:
9.5 Receiving JMS messages in a Spring Integration application 168. 9.6 Request-reply messaging 169. The outbound gateway 169 □. The inbound
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.