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
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 FTP BC WSDL for Clustering
To Configure the FTP BC WSDL for Clustering
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
You can configure the BPEL SE for GlassFish clustering on the same or different machines. You can also configure the SE for high availability and failover at the component level on a standalone GlassFish server. This topic describes configuring the BPEL SE on a GlassFish cluster. For information on standalone configuration for high availability and failover, see Configuring Components for Standalone High Availability and Failover.
When the BPEL SE is installed and configured in a clustered environment and one engine fails, any in-process business process instances are taken over by one of the remaining engines and the process is completed. When the failed engine recovers, it continues to process new requests. Clustering for the BPEL SE leverages the persistence and recovery features of the SE, so persistence must be enabled for the BPEL SE on each cluster instance.
Failover is also supported for business processes configured for correlation. When correlated messages are processed in a clustered environment, the load balancer or binding component routes the correlating message to any BPEL SE in the cluster. If the BPEL SE to which the message was routed does not own the correlating business process instance, the instance is routed to the engine that received the correlated message (regardless of which engine began processing the initial message). Processing is then completed on the engine that received the correlated message.
The BPEL Service Engine (SE) is dependent on the following shared library, which must be added to the cluster before the BPEL SE is added to the cluster.
WSDL Extension Library
Note - The following restrictions apply to BPEL SEs installed in a cluster.
All BPEL constructs work in a clustered environment with the exception of event handlers.
Reply activities are only supported in a clustered environment if the service is consumed by another business process (as in a sub-process scenario).
The servers in a cluster need to be on the same time zone in order to detect whether an instance has failed.
In order to use the BPEL SE in a clustered environment, you need to create a database, and then create and configure two connection pools and two data sources (to handle both XA and non-XA activities). All engines in the cluster must be configured to use this database. The database should be highly available because a database failure constitutes a single point of failure in the cluster. Automatic database, connection pool, and data source creation is not available from the clustered instances.
Tip - If you already created the database tables, connection pools, and JDBC resources, you can re-use them for the cluster instances by just changing the target for the JDBC resources from the default server to your cluster (described in step 3 below).
For more information about creating connection pools and JDBC resources, see Chapter 3, “JDBC Resources”, in Sun GlassFish Enterprise Server v2.1.1 High Availability Administration Guide.
Before You Begin
If you are using an Oracle database, copy the driver file (ojdbc14.jar) from your Oracle installation to GlassFish_Home/glassfish/lib, and then stop and restart the GlassFish server.
This is described in Creating an XA Connection Pool and a JDBC Resource in Oracle Java CAPS BPEL Designer and Service Engine User’s Guide and Creating a Non-XA Connection Pool and JDBC Resource in Oracle Java CAPS BPEL Designer and Service Engine User’s Guide.
Before you can add the BPEL SE to a cluster, you need to add a shared library. When you add the BPEL SE to a cluster, you need to configure certain properties. The SE must be configured for persistence and pointing to the correct data sources. All instances of the BPEL SE should point to a single persistence database (which you created earlier under To Set Up the BPEL Database).
sun-wsdl-ext-library
Note - The Lease Renewal Interval is the time period in seconds that BPEL engines wait before renewing their lease to let the cluster know it is still running (also known as the heartbeat). If an engine does not update within the specified time period, it is considered to be unavailable.
This is the database that persists state data for business process instances for recovery.
For more information, see Configuring the BPEL Service Engine Runtime Properties in Oracle Java CAPS BPEL Designer and Service Engine User’s Guide.
Tip - If the rows do not appear, check the following:
Both JDBC Resources are enabled on the target cluster.
The engine is enabled on the target cluster.
If both of the above are enabled, you might need to stop and restart the BPEL SE in order for the rows to appear.
You can also verify that the engines are renewing the lease within the specified interval by querying the engines table again after the interval has passed and verifying that the LASTUPDATETIME column is updated accordingly.
When configuring debugging for a business process in a clustered environment, you need to configure each instance in the cluster for debugging and you need to set the breakpoints and attach the port number using a separate NetBeans IDE instance for each cluster instance.