Skip Navigation Links | |
Exit Print View | |
Configuring Oracle Java CAPS JBI Components for GlassFish Clustering Java CAPS Documentation |
Configuring Oracle Java CAPS JBI Components for Clustering
JBI Component Clustering Overview
Component Support for Clustering
Adding a Java CAPS JBI Component to a Cluster
To Add a Shared Library to a Cluster
To Add a Java CAPS JBI Component to a Cluster
Modifying Server Properties for Java CAPS JBI Components in a Cluster
To Modify Runtime Properties for a Component in a Cluster
To Create Application Configurations and Variables for a Component in a Cluster
To View the Descriptor for a Component in a Cluster
To Set Logging Properties for a Component in a Cluster
To Monitor a Component in a Cluster
Configuring the BPEL Service Engine for Clustering
Adding the BPEL Service Engine to the Cluster
To Add the BPEL Service Engine to the Cluster
Debugging a Business Process Deployed in a Cluster
To Debug a Business Process Deployed in a Cluster
Configuring the IEP Service Engine for Clustering
Adding the IEP Service Engine to the Cluster
To Add the IEP Service Engine to the Cluster
Configuring the XSLT Service Engine for Clustering
To Add the XSLT Service Engine to the Cluster
Configuring the Java EE Service Engine for Clustering
To Enable the Java EE Service Engine on the Cluster
Configuring the Data Mashup Service Engine for Clustering
To Add the Data Mashup Service Engine to the Cluster
Configuring the Database Binding Component for Clustering
Creating the Clustering Database for the Database Binding Component
To Create the Clustering Database for the Database Binding Component
Adding the Database Binding Component to the Cluster
To Add the Database Binding Component to the Cluster
Configuring the File Binding Component for Clustering
Adding the File Binding Component to the Cluster
To Add the File Binding Component to the Cluster
Configuring the File BC WSDL File for Clustering
To Configure the File BC WSDL File for Clustering
Configuring the FTP Binding Component for Clustering
Adding the FTP Binding Component to the Cluster
To Add the FTP Binding Component to the Cluster
Configuring the HTTP Binding Component for Clustering
Enabling the HTTP Binding Component on the Cluster
To Enable the HTTP Binding Component on the Cluster
Configuring the HTTP BC Port Numbers for Clustering
To Configure the HTTP BC Port Numbers for Clustering
Configuring the JMS Binding Component for Clustering
To Add the JMS Binding Component to the Cluster
Configuring the LDAP Binding Component for Clustering
To Add the LDAP Binding Component to the Cluster
Configuring the Scheduler Binding Component for Clustering
To Add the Scheduler Binding Component to the Cluster
Deploying a Service Assembly to a Cluster
To Deploy a Service Assembly to a Cluster
Configuring Components for Standalone High Availability and Failover
Configuring the BPEL Service Engine for Multiple Standalone Instances
To Configure the BPEL Service Engine for Multiple Standalone Instances
Configuring the IEP Service Engine for Multiple Standalone Instances
To Configure the IEP Service Engine for Multiple Standalone Instances
When the FTP BC is implemented in a cluster, all service provider instances poll requests simultaneously, business logic is applied to those requests simultaneously, and responses are posted simultaneously. Similarly, all service consumer instances post requests simultaneously. The FTP BC is highly available, and a failure of any instance does not stop message transfer. Messages are processed evenly among the pollers to balance the workload.
In on-demand read mode, each file is available to read from either all the instances (configuration mode) or only one instance (payload mode). In outbound mode, configure all instances to write to independent files rather than appending to one file. Using a UUID or persisted sequence number pattern in outbound file names ensures that files are not overwritten.
In inbound mode, the FTP BC distributes files evenly across the instances in a cluster, and each file is delivered to only one instance. You do need to configure a file locking mechanism to ensure files are not overwritten and to prevent redundant processing. This is configured by defining a persistence directory in the FTP BC's JVM options (described in the instructions below).
The FTP BC processes messages as follows using the locking mechanism:
Acquire the file lock.
If the file lock is acquired, continue processing; otherwise release the thread lock.
Poll the target.
If the poller is retrieving a request, the target is ftp:message/@messageRepository/inbox/messageName or ftp:transfer/@receiveFrom.
If the poller is retrieving a response, the target is ftp:message/@messageRepository/outbox/messageName or ftp:transfer/@sendTo.
If the message is retrieved successfully, archive the file so it will not be polled again.
Release the file lock.
The FTP BC is dependent on the following shared library:
Encoder Library
sun-encoder-library
The name of the FTP BC node is sun-ftp-binding.
-Dcom.sun.jbi.ftpbc.isClustered=true
-Dcom.sun.jbi.ftpbc.token.persistence.url=persistence_directory
where persistence_directory is the location where the FTP BC lock files are stored.
The FTP BC has no runtime configuration requirements for clustering, but there are a few requirements and options for configuring the properties in any FTP BC WSDL documents deployed to the cluster. These options assist with concurrency issues and load balancing
To ensure that output files are not overwritten by concurrent threads, you can specify a pattern for the output message name using either %u or %seq_name to keep all file names unique.
The Properties panel displays the properties for the message.
Use either %u to assign a unique UUID number to each output file, or %seq_name for persisted sequence number creation.
For example, output%u.txt.
Use the same patterns as described above.
Note - Do not use %d in the file name because files might be overwritten.