@Transactional annotation, 138–142
AbstractInboundFileSynchronizingMessageSource<F> interface, 386
AbstractMessageHandler class, 518
AbstractOutboundChannelAdapterParser class, 527
AbstractRegexPatternFileListFilter<F> class, 387
AbstractSingleBeanDefinitionParser class, 95, 522
accessing arrays, lists, maps, 98
acknowledge property, 369
ActiveMQ message broker, concurrency, 542–543
ActiveMQ web console, 400
activemq.xml file, 543
Activiti, message flow using
configuring with Spring, 282–286
ActivitiConstants.WELL_KNOWN_EXECUTION_ID_HEADER_KEY, 286, 288
activity:delegateExpression attribute, 289
activityNotificationHandler function, 605
configuring
through XML namespace, 309–311
custom, 309
database, 308
file system, 308
JDBC, 308
JMS, 308
web services, 309
adapters.xml file, 310
add method, 335
add operation, 343
address attribute, 19
Advanced Message Queuing Protocol transport. See AMQP transport
advices, declarative transaction management with, 134–138
After advice, 88
After returning advices, 89
afterPropertiesSet method, 70
agent.properties file, 352
aggregator
customizing release strategy from, 270–272
maintaining MessageGroup state, 268–270
message flow pattern, 246
Aggregator endpoint type, 151
aggregator-jdbc.xml file, 269
aggregator-release.xml file, 271
aggregator.xml file, 267
aggressive-consumer pattern, 575
Amazon SQS (Amazon Simple Queue Service) message broker, 449
amq:ConnectionFactory element, 26
AMQP (Advanced Message Queuing Protocol) transport
Apache Qpid message broker software, 444–449
SpringSource RabbitMQ message broker software, 436–444
AmqpTemplate reference, 444
annotation, autowiring beans by, 73–75
annotation-config tag, 73
annotation-drive element, 540
AnnotationConfigApplicationContext, 63
annotationTxStockBrokerService instance, 141
AOP (Aspect-Oriented Programming), in Spring framework, 85–93
introducing behaviors to beans, 91–93
<aop:aspectj-autoproxy> element, 85
AOPStockBrokerService bean, 136
AopStockBrokerService implementation, 136
aopStockBrokerService instance, 137
Apache ActiveMQ message broker, 398–408
Apache Qpid message broker software, 444–449
APIs (application programming interfaces), messaging, 291–304
ConsumerEndpointFactoryBean class, 302–304
event-driven consumers, 291–302
message dispatcher pattern, 291–292
synchronous and asynchronous services, 292–293
App class, 155
app-context.xml file, 163, 165, 169–170, 311
application programming interfaces, messaging. See APIs, messaging
ApplicationContext interface, 62–63, 75, 79, 82
ApplicationContext.getBean method, 63
applications, creating using STS, 160–165
apply-sequence attribute, 212
apps directory, 21
apress-integration-file.xsd file, 521–522
apress-integration-shell.xsd file, 526
apress-integration-stock.xsd file, 524
Aspect-Oriented Programming, in Spring framework. See AOP, in Spring framework
AspectJ annotations, 85
aspectj-autoproxy element, 85
AspectJ Framework, 85
async-context.xml file, 540
AsyncActivityBehaviorMessagingGateway, 287
asynchronous messaging gateways, 320
asynchronous mode, 320
asynchronous services, 292–293
asynchronous web applications, 601–606
Atomicity concept, 129
autodetect strategy, 72
autowire attribute, 72
autowired attribute, 71
autowired mechanism, 71
differentiating auto-wired beans, 75–77
by name, 77
Axway Integrator, proprietary solutions to EAI, 11
B2B (business-to-business), 2, 562
B2C (business-to-consumer) applications, 2
base-package attribute, 77
BasicDataSource, 107
BasicMBean object, 336
BasicPOJO.colorRandomizer, 72
batch-default.properties file, 586
BatchConfiguration class, 585
batch.properties file, 566
bean tags, 77
BeanDefinition, 95
BeanDefinitionDecorator, 95
BeanDefinitionParser, 95
BeanFactory, 62
BeanNameAutoProxyCreator proxy creator, 347, 350
beanNames property, 350
BeanPropertyItemSqlParameterSourceProvider class, 571
BeanPropertyItemSqlParameterSourceProvider interface, 571
beans
automatically discovering on classpath, 77–81
differentiating auto-wired beans, 75–77
by name, 77
disposal of, 70
initialization of, overview, 70
instantiating of, from IoC, 64
introducing behaviors to, 91–93
making aware of container, 81–83
references for, 65
BeanWrapperFieldSetMapper, 568
Before aspect, 87
behaviors, introducing to beans, 91–93
bin/activemq.bat Windows command, 233
bin/activemq.sh Linux command, 233
bin/mule command, 21
bin/netbeans command, 30
bin/run.bat Windows command, 57
bin/run.sh Unix command, 57
bin/servicemix command, 29
BlazeDS project, 607
bondRegistrar service activator, 249, 253–254
Boolean and relational operator, 98
Boolean result, 258
BPEL component palette, 34
BPEL Process wizard, 42
BPM (Business Process Management), software processes, 278
BPM engine, 577
Brewer, Eric, 547
bridgeChannel, 276
bstractPollingInboundChannelAdapterParser class, 524
buffering (Temporal coupling), 5
Burlap technology support, 143
business process, 279
Business Process Management (BPM), software processes, 278
Business Process Modeling Notation (BPMN) standard, 280
business-to-business (B2B), 2, 562
business-to-consumer (B2C) applications, 2
BusinessWare software product lines, 11
byname strategy, 72
byName strategy, 72
byte-array channel, 224
byte[ ] arrays, 500
ByteHandler class, 364
bytesPerMessage property, 373
byType, autowiring beans, 72–73
cacheSeconds property, 251
CachingConnectionFactory class, 157, 408, 414
call( ) method, 533
callback interfaces, JdbcTemplate class, 110–111
Calling constructor, 98
camel-context.xml file, 29
canonical data model concept, 218–220
canRelease method, 270
Castor API, 485
CGLIB dependency, 79
cglib library, 477
chain element, 275
channel adapter endpoint type, 151
channel adapters, 178, 415–426
channel attribute, 519
channel elements, 155, 210, 282
ChannelInterceptor interface, 205–206, 212–213
ChannelInterceptor interface, 205–206
point-to-point channel, 181–204
publish-subscribe channel, 205
ChannelInterceptor interface, 212–213
ExecutorChannel class, 212
PriorityChannel class, 210–211
PublishSubscribeChannel class, 212
QueueChannel class, 210
RendezvousChannel class, 211
MessagingTemplate class, 206–209
checkMessage method, 351
CICS (Customer Information Control System), 562
claim-check-in element, 548
claim-check-out element, 549
claim check pattern, maintaining state, 547–550
claimcheck-context.xml file, 547
Class expression, 98
.class file, 506
classpath, 252
ClassPathXmlApplicationContext, 63
client.html file, 29
client.properties properties file, 483
clientPubSubChannel channel, 612–613
client.swf file, 608
cluster-connection element, 544
Collection projection, 99
Collection selection, 99
color property, 64
colorPicker, 78
ColorRandomizer instances, 66, 75
colorRandomizer method, 72, 78
colorRandomizer property, 74
com/apress/prospringintegration/mule, 17
com.apress.prospringintegration groupId, 152
com.apress.prospringintegration package, 162, 169, 311, 344
com.apress.prospringintegration.batch package, 585
com.apress.prospringintegration.gateway.client.TicketIssuer interface, 318
Comet web applications, 601–606
comma-separated value (CSV), 562
commit-interval attribute, 568
commit-interval element, 571
CommonsMultipartResolver class, 600
communication (Spatial coupling), 5
companies, integrating data and services between, 2–3
complete key, 84
component annotation, 335
component-scan element, 77, 79, 85, 334, 350, 379, 552, 585
component scanning, 218
Java EE language, 534
RabbitMQ, 542
scaling middleware, 541
config/stand-alone/clustered directory, 543
ConfigurableBeanFactory, 69
configurations, using SpEL in, 99–101
connectionFactory bean, 26, 157, 171, 414, 416, 427, 429, 434, 444, 448
Consistency concept, 129
construction lifecycle, 61
constructor-arg element, 65, 67
constructor injection, in Spring framework, 65
Constructor strategy, 72
consumer-endpoint-factory.xml file, 303
ConsumerEndpointFactoryBean class, 302–304
containers, 562
context namespace, 73, 79, 552, 557
context schema, 77
<context:component-scan> element, 187, 514
<context:property-placeholder> element, 82
controlBean Spring bean, 359
ConversionService interface, 242–243
converter element, 242
converter objects, 242
correlation-header property, 554
correlation strategy, 264
count parameter, 238
Counter class, 306
Counter.java file, 306
coupling, 150
CSV (comma-separated value), 562
writing event-driven adapters, 500–510
writing polling adapters, 511–514
custom namespaces, for Spring framework, 93–96
Customer Information Control System (CICS), 562
Customer object, 221, 227, 232–233, 236–237
customerId variable, 282
data access framework, 103–107
embedded data sources, 105–106
data definition language (DDL), 564
data synchronization, patterns in EAI, 12
database adapters, 308
databases
shared, approaches to EAI, 6
DataSource, 566
DataSourceTransactionManager, 142
datatypes element, 210
db-startup startup script, 353
DDL (data definition language), 564
dead letter channel, 178
declarative transaction management
with @Transactional annotation, 138–142
decorate(.) method, 96
DEFAULT level, 130
defaultColor element, 65
defaultMep attribute, 25
delete-remote-files attribute, 379, 383
delete-source-files attribute, 363
Dependency Injection, 61
deployment object, 286
deploymentResources property, 286
deployProcessDefinitions method, 286
DequeueCount, 424
destination-name properties, 167
destroy method, 70
destruction lifecycle, 61
DirectChannel class, 200–203, 211–212, 331
directory monitor class, 508–510
DirectoryMonitor, 503
discard-channel attribute, 272
DiscountStrategy, 91
discovery-group element, 544
DispatcherServlet class, 592
disposal, of beans, 70
DIY (do-it-yourself) architecture, 50–58
philosophy and approach, 50
.dll file, 505
DOM (Document Object Model), payload extraction with, for Web Services, 481–483
DOMSource instance, 484
doStart( ) lifecycle method, 501
DriverManagerDataSource class, 107
Durability concept, 129
.dylib file, 505
dynamic expression-based routing, 251–254
dynamic filtering, for message flow, 259
IMAP and IMAP-IDLE protocol, 452–454
EAI (Enterprise Application Integration), 1–14
EDA, 8
file transfer, 5
messaging, 7
remote procedure calls, 6
SEDA, 8
shared databases, 6
history in, dead letter queue, 330
integrating data and services, 1–4
challenges of, 3
between information silos, 2
and people affected by, 4
for users, 3
message channel patterns, 175–179
channel adapter, 178
dead letter, 178
guaranteed delivery, 179
invalid message, 177
message bus, 179
point-to-point, 176
publish-subscribe, 176
data synchronization, 12
Spring Integration Framework, 14
web portals, 13
proprietary solutions to, 10–12
Axway Integrator, 11
IBM MQSeries, 11
Microsoft BizTalk, 12
Oracle SOA suite, 11
SonicMQ, 11
Tibco, 11
Vitria, 11
webMethods, 10
<echo-component> component, 19
EDA (Event Driven Architecture), approaches to EAI, 8
EDI (electronic data interchange), 2–3
ejb-jar.xml file, 56
ejbs directory, 54
ejbs/src/main directory, 56
ejbs/src/main/resource/META-INF directory, 56
electronic data interchange (EDI), 2–3
emailUtilities, 100
embedded data sources, configuring, 105–106
EmergencyTicketReceiver class, 190
End of TeXt (ETX), 371
custom, 309
database, 308
file system, 308
JDBC, 308
JMS, 308
web services, 309
configuring for Web Services, 481
ConsumerEndpointFactoryBean class, 302–304
event-driven consumers, 291–302
message dispatcher pattern, 291–292
synchronous and asynchronous services, 292–293
asynchronous, 320
inbound and outbound via JMS, 322–324
receiving no response, 321
url attribute, 612
EnqueueCount attribute, 421
enrichment, header enrichers, 237–240
Enterprise Application Integration. See EAI
Amazon SQS message broker, 449
AMQP transport
Apache Qpid message broker software, 444–449
SpringSource RabbitMQ message broker software, 436–444
JMS-backed message channel, 428–434
Kafka message broker, 450
Kestrel MQ message broker, 450
enterprise service bus (ESB), 9
data access framework, 103–107
embedded data sources, 105–106
Hibernate framework
transaction management, 129–142
PlatformTransactionManager interface, 131
TransactionStatus interface, 130–131
TransactionTemplate class, 131–134
EntityManager interface, 121, 125–128
EntityManagerFactory interface, 122
EntityManagerFactory property, 124
enum constants, 65
error-channel attribute, 318
error-channel element, 332
history in EAI and MOM, dead letter queue, 330
ERROR_CHANNEL message header, 189
ErrorHandlingDefault example, 344
ErrorLogger Service Activator Class, 332
ESB (enterprise service bus), 9
etc directory, 449
ETX (End of TeXt), 371
event-driven adapters, writing, 500–510
directory monitor class, 508–510
problems with, 502
event-driven architecture, 152
Event Driven Architecture (EDA), approaches to EAI, 8
event-driven consumers, 291–302
event-driven-consumer.xml file, 301
example-sa-1.0-SNAPSHOT.zip file, 29
example-sa pom.xml file, 24
example-sa/target directory, 29
ExampleConfigurationTest class, 173
ExampleConfigurationTests.java file, 163
examples/bridge-camel directory, 29
ExampleService.java file, 164
ExampleServiceTests.java file, 164
ExampleTopic, 412
exchange-pattern attribute, 19
executionID, 289
Executor interface, 538
ExecutorChannel class, 203–212
ExecutorService subinterface, 531
expected-response-type attribute, 594
expectedReply flag, 592
expectReply flag, 592
EXPIRATION_DATE message header, 189
ExpiryQueue, 412
exposing services, through JMX, 343–345
expression attribute, 258
expression element, 251–252, 259
Extensible Markup Language. See XML
Extensible Messaging and Presence Protocol (XMPP) messages, 459–465
extract-payload attribute, 416, 423, 481
extract-payload property, 428
extract-reply-payload property, 428
factory-bean, 67
factory methods, static and instance, 65–67
feed namespace, 474
Field class, 261
FieldDescriptor, 261
FieldSetMapper, 568
fieldSetMapper attribute, 568
file-context.xml file, 362
file namespace, 361
file-pattern-context.xml file, 362
file-regex-context.xml file, 363
file system abstractions, 387
file system adapters
building namespaces for, 521–523
overview, 308
file system integration, 361–367
file-to-byte-transformer, 364
file-to-string-transformer, 364
file transfer, approaches to EAI, 5
File Transfer Protocol. See FTP
File Transfer Protocol Secure. See FTPS
file-transform-byte.xml file, 365
fileAdded method, 505
FileAddedListener class, 503, 505
<file:inbound-channel-adapter> adapter, 502, 510
filename-pattern attribute, 387
filename-regex attribute, 383, 386
FileSystemApplicationContext class, 63
FileSystemXmlApplicationContext, 63
filter attribute, 387
filter-dynamic.xml, 259
filter element, 258
Filter endpoint type, 151
filter-expression.xml file, 258
filters
message flow pattern, 246
findAvailableStockBySymbol method, 124
findByInventoryCode method, 113
firstproject artifactId, 152
Flash Stage object, 607
FlatFileItemReader, 568
flex-context.xml file, 612
Flex environment, 607
flow elements, 574
forwardProcessVariablesAsMessageHeaders, 287
ease of use, 59
extensibility, 60
maintainability, 59
fsmon.c file, 506
FTP (File Transfer Protocol), 376–381. See also FTPS
inbound channel adapter, 378–379
outbound channel adapter, 380–381
and remote file system abstractions, 385–386
ftp-inbound-context.xml file, 378
ftp-outbound-context.xml file, 380
FtpInbound.java file, 379
FtpOutbound.java file, 385
FTPS (File Transfer Protocol Secure), 376–381. See also FTP
inbound channel adapter, 378–379
outbound channel adapter, 380–381
and remote file system abstractions, 385–386
gateway bean, 289
gateway-jms-client.xml file, 322
gateway-jms-server.xml file, 323
gateway namespace, 317
gateway-simple.xml file, 317
gatewayfile-gateway-context.xml file, 364
Gemfire cache message group store, 556–559
GemfireMessageStoreConfiguration class, 557
GeneratedKeyHolder instance, 111
getAllSymbols method, 145
getBeanClassName( ) method, 522
getClassName method, 95
getDatabaseSchemaUpdate property, 284
getMessage(MessageSourceResolvable resolvable, Locale locale) method, 84
getMessage(String key, Object[] msgArgs, String defaultMessage,Locale locale) method, 84
getMessage(String key, Object[]msgArgs, Locale locale) method, 84
getStockInformationFor(String), 513
GlassFish application server, running OpenESB framework in, 30–50
philosophy and approach, 30
globalSession scope, 67
guaranteed delivery, 179
Gustafson's Law, 530
handleCounter method, 306
handleFieldData method, 266
handleMessage( ) method, 155, 203, 296, 515, 518
handleMessageInternal( ) method, 518
handlers, for custom namespaces, 95–96
handleTicket( ) method, 203, 305
hash partitioning, 546
hbm2ddl.auto property, 116
.hbm.xml file, 115
HeaderAttributeCorrelationStrategy class, 554
headerBean key, 237
headers, 150
*Headers class, 239
HESSIAN technology support, 143
HiberateStockDao instance, 119
Hibernate framework
EntityManager interface, 125–128
configuring SessionFactory interface, 116
HibernateTemplate class, 117–119
Hibernate sessionFactory, 137
Hibernate Sessions, 128
HibernateEntityManager, 122
HibernateEntityManagerFactory, 122
HibernateStockDao implementation, 137
HibernateTransactionManager, 137
history, in EAI and MOM, 330
Hohpe, Gregor, 292
horizontal scaling, 529
hornet-configuration.xml file, 543
HornetQ message broker, concurrency, 543–544
host property, 371
hq-agent install command, 353
hq-agent start command, 353
hq-server start command, 353
hqadmin default password, 353
hqadmin default username, 353
http-adapter-1.0.0.war WAR file, 597, 601
HTTP adapters and gateways, 591–601
support
HTTP communication, 3
http-consumer-su component, 24–25
HTTP INVOKER technology support, 143
http://localhost:7080 Hyperic dashboard, 353
http://www.apress.com/schema/integration/file namespace, 521
http:consumer element attributes, 24
HttpRequestHandlingController, 592
HttpServletRequest, 592
Hyperic dashboard, 354
i18n (internationalization), using MessageSource, 83–84
IBM MQSeries, proprietary solutions to EAI, 11
id attribute, 94
ID message header, 189
identifiedType, 94
IDEs (integrated development environments), setting up, 153
idioms, 150
IMAP (Internet Message Access Protocol) and IMAP-IDLE, 452–454
import element, 63
Import Trusted Certificate command, 377
for file system integration, 367
directory monitor class, 508–510
problems with, 502
inbound-channel-adapter element, 157, 511, 521
inbound-channel-adapter icon, Properties pane, 314
inbound-dm-channel-adapter, 471
inbound gateway
configuring endpoints, 481
payload extraction with DOM, 481–483
inbound-gateway attributes, 490
inbound-gateway configuration, 496
inbound-gateway element, 480
inbound-mention-channel-adapter, 472
inbound-update-channel-adapter, 469
inboundAdapter component, 358
inboundChannel message channel, 596
inboundChannel setting, 273
inboundDomTicketRequest message, 480
inboundOXMTicketRequest channel, 491
InboundService class, 604
incoming claim check transformer, 547
incoming Message<T>, 247
IncorrectResultSizeDataAccessException, 112
info logging variable, 44
information silos, integrating data and services between, 2
init-method attribute, 70
initialization, of beans, 70
initialize-database element, 105
InitializingBean, 505
input channel, 157, 221, 225–226, 232, 458, 463
input-stream.xml file, 374
inputChannel message channel, 453–454, 456
inputMail channel, 452
insert statement, 393
point-to-point channel, 181–204
ExecutorChannel class, 203–204
NullChannel class, 204
PriorityChannel class, 192–196
RendezvousChannel class, 197–200
scoped channel attribute, 204
publish-subscribe channel, 205
instantiating
of beans, from IoC, 64
IoC, 63
integrated development environments (IDEs), setting up, 153
integration
IntegrationMBeanExporter, 343
IntegrationNamespaceUtils class, 524
IntegrationNamespaceUtils.setReferenceIfAttributeDefined( ) method, 522
IntegrationNamespaceUtils.setValueIfAttributeDefined( ) method, 522
integration.xml file, 567, 578
internationalization (i18n), using MessageSource, 83–84
Internet Message Access Protocol (IMAP) and IMAP-IDLE, 452–454
invalid message channel, 177
inventoryCode property, 119, 132
Inversion of Control Container. See IoC
invokeService method, 604
IoC (Inversion of Control Container)
bean instantiation from, 64
instantiating, 63
isolation attribute, 136
issueDateTime property, 478
itemSqlParameterSourceProvider property, 571
ITEM_TYPE header, 252, 256–259
J2EE Connector Architecture platform. See JCA platform
j2ee-example directory, 51
JamonPerformanceMonitorInterceptor AOP interception, 347
Java database connectivity. See JDBC
Java Development Kit (JDK), 531
java -jar portecle.jar command, 377
Java language, concurrency
in EE, 534
Java Management Extensions (JMX), 333–345
Java Message Service transport. See JMS transport
Java Persistence Architecture, Hibernate framework in context of. See JPA, Hibernate framework in context of
Java public static void main method, 154
Java Virtual Machine (JVM), 531
JavaConfig, reducing XML with, 79–81
javah command, 506
java.io.File class, 217, 223, 500, 502–503
java.io.File payloads, 500
java.io.File.listFiles( ) method, 502
java.io.Serializable interface, 144, 416
java.jms.Destination reference, 416
java.lang.Math.class, 98
java.lang.Object type, 506
java.lang.String type, 506
java.lang.Strings type, 500
java.lang.ThreadLocal variable, 69
java.lang.Throwable subclasses, 130
java.lang.Throwable type, 89
java.library.path system property, 505
java.rmi.Remote interface, 143
java.rmi.RemoteException classes, 143
java.sql.Connection instances, 106
java.sql.Statement.RETURN_GENERATED_KEYS constant, 111
java.util.Collection<Field>, 261
java.util.Collections class, 531
java.util.concurrent package, 531
java.util.concurrent.Executor implementation, 505
java.util.concurrent.Executor interface, 534
java.util.concurrent.Executors class, 531
java.util.List, 98
java.util.List<UserRegistration> collection, 571
java.util.Map.Entry.value property, 99
java.util.Properties, 99
javax.jms.Destination, 397
javax.jms.Message messages, 500
javax.jms.Queue, 397
javax.jms.Topic, 397
javax.sql.DataSource, 105
javax.xml.tranform.Source, 479
javax.xml.transform.Result-wrapped string value, 232
JAX-RPC technology support, 143
JAX-WS technology support, 143
JAXB 1.0 API, 485
JAXB 2.0 API, 485
JBoss HornetQ message broker, 408–414
JCA (J2EE Connector Architecture) platform, 50–58
philosophy and approach, 50
JConsole, 345
jdbc-gateway-context.xml file, 394
jdbc-inbound-context.xml file, 388
JDBC (Java database connectivity)
overview, 308
jdbc-outbound-context.xml file, 391
JdbcConfiguration class, 585
JDBCException, 203
JdbcMessageHandler class, 395
JdbcMessageStore, 268
JdbcMessageStoreConfiguration class, 553
jdbc.properties file, 552, 554
jdbc:script element, 269
JdbcTemplateStockDao, 113
jdbcTemplate.update method, 111
JdbcTemplate.update method, 111
JdbcTest class, 555
JDK HttpUrlConnection, 593
JDK (Java Development Kit), 531
JiBX, 485
jms-consumer endpoint, 29
JMS (Java Message Service) transport, 397–434
adapters, 308
inbound and outbound messaging gateways via, 322–324
JMS-backed message channel, 428–434
jms-spring-context.xml file, 158
JMS technology support, 143
JmsApp class, 158
jms:consumer element, 27
jmsExample BPEL diagram, 34
jmsExample BPEL process, 36
JmsExample project, 45
jmsExample.bpel, 32
jmsIn message-driven adapter, 167, 169
<jms:inbound-channel-adapter> polling adapter, 500
<jms:message-driven-channel-adapter> event- driven alternative adapter, 500
JmsMessageBean.java class, 56
jmsOut outbound adapter, 167, 169
<jms:outbound-endpoint queue="my.destination"/> element, 19
jms:provider endpoint, 25
jmsProvider.wsdl file, 32
jmsReceive.wsdl, 43
JMX (Java Management Extensions), 333–345
JmxAttributePolling class, 340
JmxExample test class, 336
JmxNotificationPublisher test class, 338
jndi.properties file, 448
Job Parameters text box, 588
JobConfiguration class, 585
JobExecution, 563
JobInstances, 563
JobIntegrationTests class, 587
jobLauncher, 567
JobParameters, 563
JobRegistryBeanPostProcessor, 567
JobRepository interface, 562, 565
JobRepositoryFactoryBean, 565, 567
join( ) method, 538
JoinPoint type, 88
JPA (Java Persistence Architecture), Hibernate framework in context of, 119–128
EntityManager interface, 125–128
json-to-object transformers, 228–229
JVM (Java Virtual Machine), 531
Kafka message broker, 450
keep-alive attribute, 19
Kestrel MQ message broker, 450
key attribute, 252
KeyHolder class, 111
kickOff method, 274
Launch button, 588
launching jobs, Spring Batch project, 575–576
lib directory, 17
lib/user directory, 17
LinuxInotifyDirectoryMonitor, 506
Literal expression, 98
local-directory attribute, 379, 383
local transactions, 129
LocalContainerEntityManagerFactoryBean instance, 121
localhost, 409
location attribute, 82
locationURI attribute, 25
log:display, 30
logging-channel-adapter, 355
LogHandler class, 375
Logical coupling (routing), 5
LOG_onComplete directory, 44
Long type, 242
LongSpring_ch23_index, 277
.m2 repository directory, 17
M3O software product lines, 11
mail-to-spring transformer, 452
<mail:imap-idle-channel-adapter> adapter, 500
<mail:inbound-channel-adapter> adapter, 500
main class
JsonTransformer, 228
SerializerTransformer, 224
Transformer, 221
XmlTransformer, 232
main( ) method, 187
mainJMSGateway.java file, 324
MainSimpleGateway.java file, 319
ManagedAttribute annotation, 335
ManagedResource annotation, 335
Management Beans (MBeans), 333–334
MANDATORY TransactionDefinition, 131
Map class, 550
map entries, 222
map message, 233
map method, 221
map-to-object transformer, 226–227
Map using String key values message header, 222
MapJobRepositoryFactoryBean, 565
MapMessage, 236
<mapping> elements, 120
Map<String,?>, 237
MapTransformer class, 227
marketDataInputChannel message channel, 263, 276
MarketDataSplitter implementation, 261
marketDataSplitterChannel, 264
MarketDataSplitter.split method, 261
MarketItem description, 249
MarketItem instance, 251, 266–267
MarketItem properties, 248, 261
marketItemChannel message channel, 250, 255
MarketItemCreator utility class, 250, 255, 263
marketItemFieldCompletion component, 271
marketItemFieldsAggregator, 266
MarketItemFilter filter, 254
MarketItems, 247, 253–255, 257–259
MarketItemServiceActivator, 267
MarketItem.type property, 251
marketItemTypeRouter component, 249
marshaller attribute, 485, 496
Marshaller class, 230
marshalling-transformer, 231
marshalling XML
outbound gateway with, 496–498
mashaller, 490
master XML configuration file, 63
maven-archetype-quickstart option, 152
Maven dependencies, 361, 373, 376, 381, 477–478
maven install command, 29
max-messages-per-poll property, 475
MBean attributes values, 334
mbean-export element, 334, 337
mbean-exporter element, 343
mbean-server element, 334
mbean-server, mbean-export element, 350
MBeans (Management Beans), 333–334
message bridge, 276
RabbitMQ, 542
message bus, 179
message channel MBean performance attributes, 346
message dispatcher pattern, 291–292
message-driven-channel-adapter element, 157, 236, 357
customizing release strategy from, 270–272
maintaining MessageGroup state, 268–270
dynamic expression-based routing, 251–254
message bridge, 276
message handler chain, 275–276
recipient-list router, 253–254
software for business processes, 278–280
using Activiti
configuring with Spring, 282–286
message group stores, maintaining state, 550–559
message handler chain, 275–276
message handler MBean performance attributes, 347
message-history-context.xml file, 356
message-history element, 357
Message interface, 188
ConversionService interface, 242–243
method-mapping transformation, 240–242
Message object, 155–156, 190, 592, 596
message-oriented middleware (MOM), history in, 330
message-partition.xml file, 582
message-store attribute, 548
message-to element, 462
message-to header, 463
message transformer, 220
message transformers, built-in, 220–233
object-to-json and json-to-object transformers, 228–229
object-to-map and a map-to-object transformers, 226–227
object-to-string transformer, 223–224
payload-serializing and payload-deserializing transformers, 224–226
Message type, 222
MessageBuilder API, 150
MessageBuilder class, 156, 172, 239, 554
MessageChannel, 180, 248, 500–501, 604
messageConverters property, 592–593
MessageDeliveryException, 181
MessageDispacherServlet, 479
MessageDriven annotation, 57
MessageException, 203
Message<Field> objects, 264
MessageFormat style arguments array, 84
MessageGroupStore interface, 272, 550
messageHandler class, 155
MessageHandler implementation, 515
MessageHandler interface, 180, 305, 515–516
messageHandler service activator, 155, 169
MessageHandlingException, 181
MessageHeaders class, 237, 240
MessageHeaders.ERROR_CHANNEL key, 332
MessageHistoryApp class, 357
MessageHistory.HEADER_NAME key value, 358
MessageListener container abstraction, 422
MessageListener interface, 57
MessageListenerContainer, 500
MessageProdcerSupport class, 510
MessageProducer class, 554, 612–613
MessageProducerSupport class, 501
MessageProducingFileAddedListener - inner class, 510
MessageRejectedException, 181
channels, 151
endpoints, 151
headers, 150
payloads, 151
MessageSelector interface, 190, 255–256
MessageSource interface, i18n using, 83–84
MessageSourceAware interface, 81
Message<T> receive( ) method, 511
messageThreshold property, 604
MessageTimeoutException, 181
ConsumerEndpointFactoryBean class, 302–304
event-driven consumers, 291–302
message dispatcher pattern, 291–292
synchronous and asynchronous services, 292–293
messaging approaches to EAI, 7
asynchronous, 320
inbound and outbound via JMS, 322–324
receiving no response, 321
MessagingTemplate class, 206–209, 501
META-INF/persistence.xml file, 120
META-INF/spring.schemas, 526
metadata configuration, for Spring framework, 62
Metadatastore implementation, 475
Method invocation, 99
method-mapping transformation, 240–242
Microsoft BizTalk, proprietary solutions to EAI, 12
middleware, scaling, 541
MockException class, 332
ModelAndView object, 592
modules element, 51
<module>site</module> element, 51
MOM (message-oriented middleware), history in, 330
Monitor instance, 348
monitoring and management, 329–360
history in EAI and MOM, 330
measuring performance, 346–351
Wire Tap interceptor, 355
MonitoringExample main class, 351
Moore, Gordon, 529
Moore's Law, 529
mq://localhost:7676 URL, 38
mule element, 19
philosophy and approach, 16
mule-example project directory, 21
mule-example project structure, 17
MULE_HOME environmental properties, 17
multipartResolver bean name, 600
MultiValueMap, 598
mvn archetype:generate command window, 152
mvn clean install command, 57, 602
mvn install command, 21, 483, 494, 588, 597, 601, 613
<mx:Application/> tag, 607
<mx:WindowedApplication/> tag, 607
my-amf channel, 612
my.destination queue, 19
myjob-context.xml file, 585
name attribute, 136
name, autowiring beans by, 77
Namespace Handler, 95
NamespaceHandler class, 94, 96, 520
NamespaceHandlerSupport class, 95
namespaces, building
for file system monitoring adapters, 521–523
for outbound channel adapters, 526–528
Namespaces tab, Package Explorer, 311
native code, 503
native event file adapter, for file system integration, 367
native input/output (NIO), 370
native method, 505
NESTED TransactionDefinition, 131
NEVER TransactionDefinition, 131
New Input Variable wizard, 35
New Template Project wizard, 161
New Test Case option, 46
New Test Case wizard, 47
next attribute, 574
NIO (native input/output), 370
no-rollback-for attribute, 136
No strategy, 72
notificationMBean, 337
NotificationPublisher instance, 335
NotificationPublisherAware interface, 335
NOT_SUPPORTED TransactionDefinition, 131
null payloads, 513
null return values, 222
NullChannel class, 204
NullPointerException, 75
Object Graph Navigation Language (OGNL), 97
object-to-json transformers, 228–229, 236
object-to-map transformers, 226–227
object-to-string transformer, 223–224
OGNL (Object Graph Navigation Language), 97
onMessage method, 57
philosophy and approach, 30
openTicket method, 183
operationChannel message channel, 359–360
Oracle SOA suite, proprietary solutions to EAI, 11
order value, 273
Ordered interface, 90
Ordered.getOrder method, 90
org.activiti.engine.ProcessEngine, 282
org.activiti.engine.runtime.ProcessInstance classes, 282
org.apache.activemq.localhost.Queue, 421
org.atmosphere.cpr.MeteorServlet class, 603
org.springframework.batch.core.partition.support.PartitionStep class, 575
org.springframework.batch.core.repository.JobRepository interface, 562, 567
org.springframework.batch.core.step.tasklet.Tasklet interface, 567
org.springframework.batch.item.file.FlatFileItemReader<T> class, 568
org.springframework.batch.item.file.transform.DelimitedLineTokenizer, 568
org.springframework.beans package, 62
org.springframework.beans.factory.BeanFactory interface, 62
Org.springframework.beans.factory.BeanFactoryAware interface, 81
Org.springframework.beans.factory.BeanNameAware interface, 81
org.springframework.beans.factory.config.CustomScopeConfigurer bean, 68
org.springframework.beans.factory.config.PropertyPlaceholderConfigurer, 82
org.springframework.beans.factory.DisposableBean interface, 70
org.springframework.beans.factory.InitializingBean interface, 70
org.springframework.beans.factory.support.BeanDefinitionParser, 95
org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser class, 95
org.springframework.beans.factory.xml.NamespaceHandler, 95
org.springframework.context package, 62
org.springframework.context.annotation.CommonAnnotationBeanPostProcessor instance, 70
org.springframework.context.ApplicationContext interface, 62
Org.springframework.context.ApplicationContextAware interface, 81
Org.springframework.context.ApplicationEventPublisherAware interface, 81
org.springframework.context.MesageSourceResolvable interface, 84
org.springframework.context.MessageSource interface, 83
Org.springframework.context.MessageSourceAware interface, 81
org.springframework.context.ResourceBundleMessageSource, 83
Org.springframework.context.ResourceLoaderAware interface, 81
org.springframework.context.support.ClassPathXmlApplicationContext, 62
org.springframework.context.support.DefaultMessageSourceResolvable class, 84
org.springframework.context.support.FileSystemXmlApplicationContext, 62
org.springframework.context.support.SimpleThreadScope, 69
org.springframework.core.Ordered interface, 89
org.springframework.core.task.TaskExecutor interface, 300, 534
org.springframework.dao.DataAccessException hierarchy, 117
org.springframework.integration.aggregator.SequenceSizeReleaseStrategy class, 264
org.springframework.integration.comet.AsyncHttpRequestHandlingMessageAdapter class, 604
org.springframework.integration.comet.HttpMessageBroadcaster class, 603
org.springframework.integration.core.MessageHandler, 180, 296
org.springframework.integration.core.MessageSelector, 190, 254
org.springframework.integration.core.MessageSource interface, 511
org.springframework.integration.core.PollableChannel interface, 293
org.springframework.integration.core.SubscribableChannel interface, 300
org.springframework.integration.endpoint.PollingConsumer class, 293
org.springframework.integration.file.FileReadingMessageSource class, 386
org.springframework.integration.file.filters.FileListFilter interface, 363
org.springframework.integration.file.remote.session.SessionFactory interface, 385
org.springframework.integration.file.remote.synchronizer.AbstractInboundFileSynchronizingMessageSource<F> interface, 386
org.springframework.integration.file.remote.synchronizer.AbstractInboundFileSynchronizer<F> interface, 386
org.springframework.integration.handler.AbstractMessageHandler class, 516
org.springframework.integration.jdbc package, 269
org.springframework.integration.jdbc.JdbcMessageStore, 268
org.springframework.integration.jdbc.SqlParameterSourceFactory interface, 388
org.springframework.integration.Message method, 222
org.springframework.integration.MessageChannel interface, 179
org.springframework.integration.MessageException, 180
org.springframework.integration.MessageHeaders object, 150
org.springframework.integration.ReleaseStrategy interface, 270
org.springframework.integration.router package, 251
org.springframework.integration.sftp.session.DefaultSftpSessionFactory class, 381
org.springframework.integration.store.MessageGroupStore implementation, 268
org.springframework.io.Resource instances, 285
org.springframework.jdbc.core.RowMapper<T> interface, 388
org.springframework.mail.MailMessage interface, 457
org.springframework.oxm.castor.CastorMarshaller reference, 490
org.springframework.oxm.Marshaller interface, 479
org.springframework.oxm.Unmarshaller interface, 479
org.springframework.scheduling.commonj.WorkManagerTaskExecutor class, 539
org.springframework.scheduling.timer.ScheduledTimerTask class, 538
org.springframework.scheduling.Trigger interface, 298
org.springframework.ws.server.endpoint.mapping.UriEndpointMapping, 481
org.springframework.ws.server.endpoint.MessageEndpoint interface, 479
org.springframework.ws.transport.http.MessageDispatcherServlet, 479
org.springframework.xml.xsd.SimpleXsdSchema, 492
org.w3c.dom.Element, 95
building namespaces for, 526–528
<outbound-channel-adapter> element, 515
outbound-channel-adapter icon, 314
outbound gateway
invoking web services using, 483–485
outbound-gateway element, 483, 496
outboundChannel, 596
outgoing claim check transformer, 547
output channel, 155, 221, 227, 510
output component, 358
output Message channel, 157
outputChannel, 592
package element, 595
Package Explorer, 311
packaging custom adapters for reuse, building namespaces, 519–528
for file system monitoring adapters, 521–523
for outbound channel adapters, 526–528
Parsers, 520
parseSource method, 524
part1 element, 49
partitioning, 575
partitioning feature, 575
partitioning jobs, Spring Batch project, 580–584
PartitionStep class, 575
PartnerLink1 option, 35
PATH variable, 608
patterns
data synchronization, 12
Spring Integration Framework, 14
web portals, 13
payload-deserializing transformers, 224–226
payload-serializing transformers, 224–226
payload.type, 254
PayloadTypeRouter, 247
per-integration error channels, setting up, 332–333
performance, measuring, 346–351
performOperation method, 358–360
PersistenceExceptionTranslationPostProcessor, 127
PlatformTransactionManager, 124, 131, 135, 137, 141, 281
point-to-point channel, 176–204
ExecutorChannel class, 203–204
NullChannel class, 204
PriorityChannel class, 192–196
RendezvousChannel class, 197–200
scoped channel attribute, 204
pointcut, 85
POJO (Spring's plain old Java object), 14
PollableChannel interface, 178, 180, 206, 276
poller element, 311, 340, 452–453, 469, 471, 474
polling
adapters
building namespaces for, 523–526
polling-consumer.xml file, 297
PollingConsumer interface, 293
pom.xml file, 23–24, 26, 28, 54–55, 407, 485, 594, 609
POP3 (Post Office Protocol version 3), 455–456
port property, 371
Post Office Protocol version 3 (POP3), 455–456
postReceive( ) method, 206
postReceived( ) method, 206
PreceedingJoinPoint Object class, 89
preFillStocks method, 134, 137, 141
PreparedStatementCreator, 112
PreparedStatements, 110
preReceive( ) method, 206
Presence object, 465
presence-outbound-channel-adapter, 465
Presence.Type.available, 465
preSend( ) method, 205
primary element, 75
PRIORITY message header, 189
PriorityChannel class, 192–196, 210–211
Pro Spring Integration Example string value, 156
ProblemReporter class, 183, 188, 197, 297, 300, 305, 309, 415, 417, 419
ProblemReporter code, 206
ProblemReporter.java file, 297, 300, 309
proceed method, 89
process definition, 282
process instance, 282
ProcessEngineFactoryBean, 284, 286
ProcessEngineFactoryBean-configuration.setDeploymentResources, 285
ProcessInstance, 286
processMessage method, 332, 351
processPurchaseOrder invocation, 87
projects
using Spring Roo tool to bootstrap, 159
propagation attribute, 136
Propagation concept, 130
.properties file, 82
properties file, 251
PropertiesPersistingMetadataStore file, 475
Property Editor, 43
*.property files, 82
property-placeholder element, 379, 383, 483, 552, 566
property tag, 65
PropertyEditors, 62
PropertyPlaceholderConfigurer, 82
proprietary solutions, to EAI, 10–12
Axway Integrator, 11
IBM MQSeries, 11
Microsoft BizTalk, 12
Oracle SOA suite, 11
SonicMQ, 11
Tibco, 11
Vitria, 11
webMethods, 10
prototype scope, 67
PSStockCreater class, 110
publish-subscribe channel, 176–205, 429
publishItem method, 267
PublishSubscribeChannel class, 212
PurchaseOrder class, 91
PurchaseOrderDiscountProcessor methods, 92–93
PurchaseOrderProcessor, 89, 92–93
PurchaseOrderProcessor.processPurchaseOrder method, 87
PurchaseOrderProcessorStatsAspect, 89
purge( ) method, 192
qualifier element, 76
<qualifier> element, 76
query methods, JdbcTemplate class, 112–114
queryForObject method, 112
queue MBean attributes, 406
QueueChannel class, 181–192, 210, 331–332
queued key, 84
Quote service interface, 145
QuoteService, 145
RabbitMQ message broker, concurrency, 542
rabbitmq-server.bat script, 542
rabbitmq-server.sh script, 542
rabbitmq.config file, 542
rabbitmqctl command-line monitoring tool, 438
RandomPurchaseOrderGenerator, 89
range partitioning, 546
RDBMS (relational database management system), 546
read-only attribute, 136
Read-Only concept, 130
read-through cache, 545
READ_COMMITTED level, 130
reader output, 571
reading data, Spring Batch project, 567–572
readme.txt file, 381
READ_UNCOMMITTED level, 130
/recent/notifications broadcast topic, 605
recipient-list router, 253–254
RecipientListRouter, 247
ref property, 168
references, for beans, 65
regex (regular expression), 325
Region class, 558
registerBeanDefinitionDecorator method, 96
registerBeandefinitionDecoratorForAttribute method, 96
registerBeanDefinitionParser method, 96
registerScope method, 69
registration.cvs file, 588
registryHost configuration property, 146
registryPort configuration property, 146
regular expression (regex), 325
relational database management system (RDBMS), 546
relational database models, 104–105
Relational operators, 98
release-partial-sequence attribute, 272
release-strategy element, 264, 271
ReloadableResourceBundleExpressionSource instance, 251, 259
remote chunking feature, 574
remote data sources, configuring, 106–107
remote-directory attribute, 379, 383, 385
remote file system abstractions, 385–386
remote procedure calls, approaches to EAI, 6
remoting, enterprise support for, 142–148
RendezvousChannel class, 197–211
REPEATABLE_READ level, 130
reply activity, 36
reply-channel attribute, 481, 483, 593
reply-destination, 427
reply message, 343
reply-timeout attribute, 321
reply-timeout setting, 321
REPLY_CHANNEL message, 189, 481, 483
RepositoryService reference, 286
request-channel attribute, 480, 483, 593
request-destination, 427
request message payload, 343
request scope, 67
requestFactory property, 593
requestQueue destination, 157
required attribute, 74
REQUIRED TransactionDefinition, 131
requires-reply attribute, 321
REQUIRES_NEW TransactionDefinition, 131
resequencer
message flow pattern, 246
resource bundle file, 251
ResourceBundle, 83
resource_bundle_confirmation.properties, 84
response channel, 289
RestTemplate class, 512, 592, 598
result-transformer attribute, 232
result-type attribute, 231
retry capabilities, Spring Batch project, 573
RMI technology support, 143
rollback capabilities, Spring Batch project, 573–574
rollback-for attribute, 136
root Maven pom.xml file, 163
router element, 248
Router endpoint type, 151
router-expressions.properties file, 252
router, message flow pattern, 246
router-recipientlist.xml file, 254
routing (Logical coupling), 5
row-mapper attribute, 388
RowMapper<T> interface, 112
runTask method, 540
runtime metadata model, Spring Batch, 563
RuntimeService, 286
sample/spring-batch-admin-parent directory, 585
sample/spring-batch-admin-sample directory, 585
SATA (Serial Advanced Technology Attachment), 541
sbin directory, 542
scaling middleware, 541
scheduledTimerTasks property, 538
scoped channel attribute, 204
SDO (Service Data Object), 534
search-inbound-channel-adapter, 474
secure-channels element, 325
secure-channels namespace, 326
secure-channel.xml file, 325
Secure File Transfer Protocol. See SFTP
security namespace, 325
SEDA (Staged Event-Driven Architecture), approaches to EAI, 8
/SendJmsMessage path, 54
sendMessage(Message<?> msg) - method, 501
sequenceFlow elements, 282
SEQUENCE_NUMBER message header, 189, 260, 264, 272
SEQUENCE_SIZE message header, 189, 260, 264
SequenceSizeReleaseStrategy class, 554
Serial Advanced Technology Attachment (SATA), 541
SERIALIZABLE level, 130
SerializerTransformer class, 225
server/default/deploy directory, 57
service activator class, 172, 289
Service Activator Class HttpReceiver, 597
service-activator element, 155, 515
service-activator endpoint, 151, 168
service-activator.xml file, 306
service attribute, 27
Service Data Object (SDO), 534
service-oriented architecture (SOA), 309
serviceInterface, 146
service.java file, 164
servicemix-camel component, 22
servicemix directory, 22
philosophy and approach, 21
servicemix-http components, 22
servicemix-jms components, 22
servicemix-jms-consumer-service-unit artifact, 28
servicemix-jms-consumer-serviceunit artifact, 28
serviceName property, 146
services-config.xml file, 611–612
serviceTask element, 289
servlet-config.xml file, 595–596, 603–604
<servlet name>-servlet.xml file, 480
servlets/servlet directory, 51
servlets/servlet/src/main directory, 52
session-factory attribute, 385
Session interface, 385
session scope, 67
SessionFactory interface, configuring in Hibernate framework, 116
setBeanName(String) method, 82
setCorrelationId value, 156
setData operation, 341
setHeader value, 156
setMaxMessagesPerPoll method, 299–300
setPriority value, 156
setReceiveTimeout method, 300
setTaskExecutor method, 300
settings.xml file, 17
setTransactionManager method, 300
sftp-inbound-context.xml file, 382
sftp-outbound-context.xml file, 384
SFTP (Secure File Transfer Protocol), 381–385
inbound channel adapter, 382–383
outbound channel adapter, 384–385
and remote file system abstractions, 385–386
SftpInbound.java file, 383
shared databases, approaches to EAI, 6
ShellMessageWritingMessageEndpoint class, 527
ShellMessageWritingMessageEndpoint method, 518
should-delete-messages attribute, 452, 455
should-mark-messages-as-read attribute, 452, 455
si-security namespace, 325
Simple Mail Transfer Protocol (SMTP), 457–458
SimpleMessageConverter, 416, 423
simpleSendingClient, 274
SimpleXsdSchema, 492
single-use property, 371
singleton scope, 67
site module, 51
Slave process, 575
SMTP (Simple Mail Transfer Protocol), 457–458
SNAPSHOT versions, 25
.so file, 505
SOA (service-oriented architecture), 309
SOAP WSDL, 48
SoapMessageOut, 37
IMAP and IMAP-IDLE protocol, 452–454
solid state drive (SSD), 541
SonicMQ, proprietary solutions to EAI, 11
Source object, 480
Source tab, 315
Spatial coupling (communication), 5
SpEL (Spring Expression Language), 97–101
using in configurations, 99–101
split element, 574
splitItem method, 264
splitter
message flow pattern, 246
splitter element, 260
Splitter endpoint type, 151
Spring Batch
controlling step execution, concurrency, 574
processing input before writing, 571
reading and writing
input, 568
job configuration, 568
output, 571
runtime metadata model, 563
setting up infrastructure, 564–567
spring-batch-2.1.6.RELEASE/dist/org/springframework/batch/core directory, 564
spring-batch-2.1.6.RELEASE-no-dependencies.zip file, 564
spring-batch-admin-1.2.0.RELEASE-dist.zip file, 585
Spring Batch Admin project, 585–589
spring-batch-admin-sample-1.2.0.RELEASE.war file, 588
Spring Batch framework, 173
Spring Batch project, and Spring Integration, 561–589
event-driven batch processing, 577
Spring Batch Admin project, 585–589
Spring bean ProcessMessage, 351
Spring BlazeDS project, 173
Spring configuration file, 315
spring-content.xml file, 554
spring-context.xml file, 154, 551, 556
Spring DispatcherServlet, 595, 603
Spring Expression Language. See SpEL
spring-flex-1.0.war War file, 613
Spring framework
introducing behaviors to beans, 91–93
API components, 61
automatically discovering beans on classpath, 77–81
differentiating auto-wired beans, 75–77
by name, 77
bean initialization and disposal, 70
bean references, 65
constructor injection in, 65
factory methods, static and instance, 65–67
history of, 149
i18n using MessageSource, 83–84
IoC
bean instantiation from, 64
instantiating, 63
making beans aware of container, 81–83
metadata configuration, 62
using in configurations, 99–101
using multiple configuration resources, 63
Spring Batch project and, 561–576
event-driven batch processing, 577
reading and writing data, 567–572
retry capabilities, 573
Spring Batch Admin project, 585–589
transaction and rollback capabilities, 573–574
Spring Integration Framework, patterns in EAI, 14
Spring Integration Messages, 237, 240
Spring Integration namespace, 311
Spring Integration Test class, 172
Spring Roo tool, using to bootstrap projects, 159
.springframework.ws.soap.saaj.SaajSoapMessageFactory, 481
Spring's plain old Java object (POJO), 14
spring.schema file, 96
SpringSource RabbitMQ message broker software, 436–444
SpringSource Tool Suite. See STS
sql-parameter-source-factory attribute, 388
sql property, 571
src/main/java/com/apress/prospringintegration/batch directory, 585
src/main/resources directory, 24–25, 29, 311, 586
src/resources/META-INF/spring/batch/jobs directory, 585
SSD (solid state drive), 541
Staged Event-Driven Architecture (SEDA), approaches to EAI, 8
Standard expression, 98
Start of TeXt (STX), 371
startProcessInstanceByKey method, 286, 289
static, factory methods, 65–67
stderr-channel-adapter, 333
stdin and stdout adapters, for stream processing, 374–375
StepExecution, 563
StockBrokerService implementation, 136
StockBrokerService interface, 135
StockConfig configurations, 132
StockDao implementation, 124
StockJpaDao, 127
StockNamespaceHandler namespace handler, 524, 526
StockQuote service, 145
stockRegistrar service activator, 249, 253–255
STOCKS table, 110
stocks.hbm.xml file, 115
stream-log.xml file, 375
stream namespace, 335
monitoring log file example, 375–376
stdin and stdout adapters, 374–375
String argument, 505
String/Object Map, 150
String parameters, 505
String payload, 155
String type, 242
StringHandler class, 366
StringNormalizer, 94
StringNormalizerBeanDefinitionParser class, 95
StringResult, 231
strnorm:normalize declaration, 94
sts-example project, 311
STS (SpringSource Tool Suite)
configuring adapters through, 311–316
creating applications using STS, 160–165
STS.ini file, 159
STX (Start of TeXt), 371
SubscribableChannel, 178, 180, 276, 430
subscribe method, 300
sudo apt-get install rabbitmq-server command, 437
.sun.syndication.feed.synd.SyndEntryFeed instance, 474
supported-methods attribute, 593
supportedMethods property, 592
SUPPORTS TransactionDefinition, 131
Syer, Dave, 562
SynchronousQueue, 197
SyndEntry instance, 476
SyndEntry type, 476
system role, 278
System.getProperties, 99
System.loadLibrary, 505
systemProperties variable, 99
T( ) method, 98
targetClass property, 490
targetEndpoint attribute, 25
targetService attribute, 25, 27
task-executor attribute, 212
TaskExecutor interface, 534, 538
TaskExecutor strategy, 575
TaskExecutorPartitionHandler, 575
Tasklet element, 567
tasklet element, 573
TaskScheduler interface, 539
TaskScheduler.java file, 539
tcp-context.xml file, 370
tcp-gateway.xml file, 372
TcpEcho class, 372
TcpGateway interface, 372
TcpListener class, 371
technology, for integrating data and services, 3–4
Templated expression, 99
Temporal coupling (buffering), 5
temporal decoupling, 544
TemporaryQueue, 427
Ternary operator, 98
Test Case wizard, 49
test.png file, 601
test:provider service, 25
theOnlyColorRandomizer bean, 80
thread scope, 67
threadColor bean, 69
ThreadScope, 69
Tibco, proprietary solutions to EAI, 11
Ticket model class, 293
Ticket objects, 187, 195, 416–417
ticket-receiver.xml file, 448
ticket-reporter.xml file, 448
ticket-service-marshaller project, 494
'ticket*, where 'ticket*, 435
ticket-ws-servlet.xml file, 480
ticketChannel message channel, 183–184, 415, 417, 430
TicketCreator class, 430
TicketGenerator class, 185, 187, 305, 309, 418–419, 431
TicketGenerator.java file, 295
ticketId property, 478
TicketIssuer interface, 318
ticketIssuerEndpoint service activator, 481
TicketIssuer.java file, 318
ticketIssuerService component, 492
Ticket.java file, 293
TicketMessageHandler class, 201, 298, 301, 309, 311, 433
TicketMessageHandler.java file, 296
ticketOutbound message channel, 416
ticket.queue, 415–416, 421, 435
ticket.queue routing key, 435
TicketReceiver class, 184, 187, 189–190, 198, 305, 423
TicketReceiver.java file, 305
TicketRequest element, 421, 478, 486, 490–491, 496
ticketRequest message channel, 483–484
TicketRequest object, 498
TicketResponse domain class, 487
TicketResponse element, 478
TicketResponse object, 486, 492, 498
/ticketservice/* URL pattern, 479
/tickets.wsdl URI, 492
timeout attribute, 136
Timeout concept, 130
TIMESTAMP message header, 189
<tool:annotation> element, 523
transaction capabilities, Spring Batch project, 573–574
transaction management, 129–142
declarative
with @Transactional annotation, 138–142
with transaction advices, 134–138
PlatformTransactionManager interface, 131
TransactionStatus interface, 130–131
TransactionTemplate class, 131–134
transaction-manager attribute, 141, 573
transactionalStockBrokerService instance, 134
TransactionalTemplate, 136
TransactionCallback<T> interface, 131
TransactionDefinition, 130–131, 141
transactionManagement, 284
transactionManager, 124
TransactionManager, 566
TransactionStatus, 131
TransactionTemplate, 132
TransactionTemplate.execute method, 131
canonical data model concept, 218–220
ConversionService interface, 242–243
method-mapping transformation, 240–242
transformer class, 221
Transformer endpoint type, 151
Trigger interface, 539
TwitterHeaders.DM_TARGET_USER_ID header, 469
twitterInbound channel, 469
twitterOutbound message channel, 467–468
<tx:advice> element, 135
<tx:annotation-driven> element, 123, 138, 140–141
<tx:attributes> element, 135
<tx:method> elements, 135
type attribute, 227
udp-context.xml file, 368
udp-multicast.xml file, 369
UdpListener class, 368
ul tag, 605
ulme element, 19
unmarshaller attribute, 485, 490, 496
Unmarshaller class, 230
UnsatisfiedDependencyException, 72, 75
updateProcessVariablesFromReplyMessageHeaders, 287
uri-variable subelement, 594
url attribute, 483
user role, 278
UserRegistration class, 585
UserRegistration type, 568
UserRegistrationValidationItemProcessor class, 585
valueOf method, 65
variables, 99
version element, 28
vertical scaling, 529
viewName property, 592
virtualhosts.xml file, 449
creating applications using STS, 160–165
integration
Vitria, proprietary solutions to EAI, 11
void return type, 223
voutbound-channel-adapter> element, 519
wall command, 518
wall requirement, 519
Comet and asynchronous web, 601–606
Flex environment and BlazeDS project, 607
HTTP adapters and gateways, 591–601
/WEB-INF/flex-context.xml file, 611
WEB-INF/flex/services-config.xml file, 611
web portals, patterns in EAI, 13
configuring endpoints, 481
payload extraction with DOM, 481–483
Maven dependencies for, 477–478
outbound gateway
invoking web services using, 483–485
WSDL (Web Services Description Language) with, 492–498
and XML marshalling
outbound gateway with, 496–498
web services adapters, 309
webapp/WEB-INF directory, 480
webapps directory, 483, 494, 588, 597, 606, 608
webMethods, proprietary solutions to EAI, 10
WebServicesMessage, 481
web.xml file, 54, 479, 481, 592, 595, 610
well-known address (WKA), 543
wire-tap element, 355
Wire Tap interceptor, 355
WKA (well-known address), 543
workflow engine, 279
Workflow Management Coalition (WfMC), 280
workflow, patterns in EAI, 13–14
workflow system, 279
write-aside cache, 546
write-behind cache, 546
write command, 518
write-through cache, 545
writing data, Spring Batch project, 567–572
WS-BPEL (BPEL) standard, 280
WS-BPEL for People (BPEL4People) standard, 280
WSDL operation, 49
wsInboundGateway, 481
www.apress.com/schema/integration/shell namespace, 526
xml channel, 231
XML (Extensible Markup Language)
marshalling
outbound gateway with, 496–498
namespaces, configuring adapters through, 309–311
.xml file, 17
XML Process Definition Language standard, 280
XML Schema Definition (XSD), 94
XmlBeanFactory, 69
XMLBeans, 485
XmlConfiguration Java configuration, 231
XMPP (Extensible Messaging and Presence Protocol) messages, 459–465
XMPP header-enricher, 462
.xsd schemas, 520
XSD (XML Schema Definition), 94
<xsd:attribute> elements, 523
<xsd:complexType> element, 523
<xsd:documentation> element, 523
<xsd:element .> declaration, 523
XStream, 485
18.117.232.239