Index Changes
Fuji Home

Aggregate Enterprise Integration Pattern Extensibility: IFL

Overview

A "java" type can be specified for the Aggregate EIP, this extends aggregate to invoke simple POJO's to perform the aggregation task.

IFL

The "java" type can be specified for aggregate as follows:

With external configuration

    aggregate java "myaggregate"

With inline configuration

    aggregate java ("name=value,*")

Aggregator POJO

When the "java" type is specified for aggregate, a user defined POJO is plugged into the framework for aggregation.

A template POJO which implements the Aggregate EIP extension interface is generated in the application's space, this POJO can be updated by a developer to customize the aggregation behaviour.

The default package and class name of the generated Aggregate POJO defaults to "aggregate.{aggregateName}" and "Aggregator". In case the configuration is external, then aggregateName = externalConfigName, if it's inline then the aggregateName is a system generated name. A user can specify a classname/packagename in the configuration to override the defaults.

For example:

With external configuration

    aggregate java "myaggregate"

The Aggregate POJO has :

    packagename = aggregate.myaggregate
    classname   = Aggregator

Location of the generated source file:

    src/main/java/aggregate/myaggregate/Aggregator.java

With inline configuration

    aggregate java "myKey=myValue"

The Aggregate POJO has :

    packagename = aggregate.aggregate${n}  ( where n = 1,2,3 .. }
    classname   = Aggregator

Location of the generated source file:

    src/main/java/aggregate/aggregate_1/Aggregator.java

Inline configuration and user defined classname

    aggregate java "myKey=myValue, classname=CustomAggregate"

The Aggregate POJO has :

    packagename = aggregate.aggregate${n}  ( where n = 1,2,3 .. }
    classname   = CustomAggregate

Location of the generated source file:

    src/main/java/aggregate/aggregate_1/CustomAggregate.java

Inline configuration and user defined packagename

    aggregate java "myKey=myValue, packagename=com.mycompany"

The Aggregate POJO has :

    packagename = com.mycompany
    classname   = Aggregator

Location of the generated source file:

    src/main/java/com/mycompany/Aggregator.java

Inline configuration and user defined classname and packagename

    aggregate java "myKey=myValue, packagename=com.mycompany, classname=CustomAggregate"

The Aggregate POJO has :

    packagename = com.mycompany
    classname   = CustomAggregate

Location of the generated source file:

    src/main/java/com/mycompany/CustomAggregate.java

JSPWiki v2.4.100
[RSS]
« Home Index Changes Prefs
This page (revision-2) was last changed on 10-Apr-09 14:29 PM, -0700 by Nikita