 
    
  
                
                    
    
        The Processing Pattern is configured using Coherence Cache Configuration files with the addition of the following namespace:
<cache-config xmlns:processing="class:com.oracle.coherence.patterns.processing.configuration.ProcessingPatternNamespaceHandler">
Configuration typically occurs using either Out-Of-The-Box Configurations or through explicit declarations based on the Processing Pattern Namespace
Included in the processing pattern are a number of ready made, out-of-the-box configurations for different types of Coherence Members. These configurations can be used in two approaches:
Introducing configuration files into existing configuration files using the element:introduce-cache-config feature.
Directly specifying a Processing Pattern configuration file, using
-Dtangosol.coherence.cacheconfig=<config file>
The configuration file coherence-processingpattern-cluster-processing-config.xml
as provided in the distribution defines a full fledged Processing Pattern Cluster Member
that is configured with the following features:
A LoggingDispatcher
A LocalExecutorDispatcher
A TaskDispatcher with a TaskDispatchPolicy configured as an attribute
matching and round robin policy.
A default GRID-based TaskProcessor (one for each Storage Enabled member)
with a thread pool size of 10.
Below follows the relevant parts of the configuration:
<cache-config xmlns:processing="class:com.oracle.coherence.patterns.processing.configuration.ProcessingPatternNamespaceHandler">
    ...
    <processing:cluster-config pof="true">
        <processing:dispatchers>
            <processing:logging-dispatcher displayname="Logging Dispatcher" />
            <processing:task-dispatcher displayname="Task Dispatcher">
                <processing:composite-policy>
                    <processing:attribute-match-policy />
                    <processing:round-robin-policy />
                </processing:composite-policy>
            </processing:task-dispatcher>
            <processing:local-executor-dispatcher displayname="Local Dispatcher" />
        </processing:dispatchers>
        <processing:taskprocessors>
            <processing:taskprocessordefinition id="GridTaskProcessor"
                                                displayname="Grid Task Processor"
                                                type="GRID">
                <processing:default-taskprocessor id="GridTaskProcessor"
                                                  threadpoolsize="10" />
                <processing:attribute name="type">grid</processing:attribute>
            </processing:taskprocessordefinition>
        </processing:taskprocessors>
    </processing:cluster-config>
    ...
</cache-config>
A Coherence Cluster Member that shall be used as a pure client to the Processing Pattern must disable local storage in order to operate correctly. eg: Using the command line parameter:
-Dtangosol.coherence.distributed.localstorage=false
The configuration file coherence-processingpattern-cluster-client-config.xml
as provided with the distribution is essentially defined as follows:
<cache-config xmlns:processing="class:com.oracle.coherence.patterns.processing.configuration.ProcessingPatternNamespaceHandler">
    <processing:cluster-config pof="true"/>
</cache-config>
The configuration file coherence-processingpattern-extend-client-config.xml
as provided with the distribution defines a Coherence *Extend-based Client.
The relevant parts of the included configuration are as follows:
<cache-config xmlns:processing="class:com.oracle.coherence.patterns.processing.configuration.ProcessingPatternNamespaceHandler">
    ...
    <processing:extend-config>
        <initiator-config>
            <tcp-initiator>
                <remote-addresses>
                    <socket-address>
                        <address>localhost</address>
                        <port>20020</port>
                    </socket-address>
                </remote-addresses>
                <connect-timeout>10s</connect-timeout>
            </tcp-initiator>
        </initiator-config>
    </processing:extend-config>
    ...
</cache-config>
The configuration file coherence-processingpattern-extend-taskprocessing-config.xml
as provided with the distribution defines a Coherence *Extend-base Client that is
capable of processing Tasks using locally managed TaskProcessors.
The relevant parts of the included configuration are as follows:
<cache-config xmlns:processing="class:com.oracle.coherence.patterns.processing.configuration.ProcessingPatternNamespaceHandler">
    ...
    <processing:extend-config pof="true">
        <initiator-config>
            <tcp-initiator>
                <remote-addresses>
                    <socket-address>
                        <address>localhost</address>
                        <port>20020</port>
                    </socket-address>
                </remote-addresses>
                <connect-timeout>10s</connect-timeout>
            </tcp-initiator>
        </initiator-config>
        <processing:taskprocessors>
            <processing:taskprocessordefinition id="SingleTaskProcessor"
                                                displayname="Single Task Processor"
                                                type="SINGLE"
                                                taskpattern="SingleTask">
                <processing:default-taskprocessor id="Single Task Processor"
                                                   threadpoolsize="10"/>
                <processing:attribute name="type">single</processing:attribute>
            </processing:taskprocessordefinition>
        </processing:taskprocessors>
    </processing:extend-config>
    ...
</cache-config>
The configuration file coherence-processingpattern-proxy-config.xml as provided
with the distribution defines a Coherence *Extend Proxy Server for the Processing
Pattern.  This is required when using Coherence *Extend Clients.
The config file includes a Coherence Cache Configuration <acceptor-config> that listens for connection on localhost.
IMPORTANT
As in most circumstances, it is strongly recommended to run proxy nodes storage disabled using the command-line argument -Dtangosol.coherence.distributed.localstorage=false
The relevant parts of the included configuration are as follows:
<cache-config
    xmlns:element="class://com.oracle.coherence.environment.extensible.namespaces.XmlElementProcessingNamespaceContentHandler"
    element:introduce-cache-config="coherence-processingpattern-pof-cache-config.xml">
    <caching-schemes>
        <proxy-scheme>
            <acceptor-config>
                <tcp-acceptor>
                    <local-address>
                        <address>localhost</address>
                        <port>20020</port>
                    </local-address>
                </tcp-acceptor>
            </acceptor-config>
            <autostart>true</autostart>
        </proxy-scheme>
    </caching-schemes>
</cache-config>