Persistent Stores
Persistence stores provides a built-in, high-performance storage solution for WebLogic Server subsystems and services that require persistence, such as:
- Java Messaging Service (JMS)
- Store-and-Forward (SAF) Service
- Transaction Logs (TLogs)
WebLogic supports persistence to a file-based store or to a JDBC-enabled database.
Defining the Global Persistence Strategy
One of the key design decisions when creating our Platform Blueprint is whether to use a file-based or a JDBC-enabled database persistent store. This is specified in step 4 of the Platform Blueprint wizard as shown below.
To view the global persistence strategy for a Platform Blueprint, open the Platform Blueprint Editor and navigate to Blueprint > Products
. Select the Oracle WebLogic
component to display its properties.
Under Name-Value Parameters
we will see the property global-persistence-strategy
as illustrated below.
File System Persistence Strategy
When we select File System
as our persistence strategy, MyST will automatically create the required file stores to support the selected product components. For example, if we created a Platform Blueprint with the components SOA Suite and OSB, the following File Persistence Stores would be created:
Name | Target | Notes |
---|---|---|
mds-owsm | AdminServer | |
mds-soa | AdminServer | |
UMSJMSFileStoreauto[n] | osb_server[n] | One per OSB Managed Server |
WseeFileStoreauto[n] | osb_server[n] | One per OSB Managed Server |
FileStoreauto[n] | osb_server[n] | One per OSB Managed Server |
UMSJMSFileStoreauto[n] | soa_server[n] | One per SOA Managed Server |
BPMJMSFileStoreauto[n] | soa_server[n] | One per SOA Managed Server |
SOAJMSFileStoreauto[n] | soa_server[n] | One per SOA Managed Server |
Configure a File Persistence Store
We can configure additional File Persistence Stores in the Platform Blueprint. To do this, open the Platform Blueprint Editor and navigate to Blueprint > WebLogic Domains > [domain_name] > Persistence Stores > File Stores
. Expand this component to see a list of currently defined file stores.
Either select an existing File Store to edit or click on the +
icon to add a File Store.
For each File Store we need to specify the following properties:
Name - Name for the File Store.
Directory - Pathname to the directory on the file system where the file store is kept.
Target - Server instance on which to deploy the file store. It is recommended that the target is defined as a MyST property reference rather than a direct value. For example
${[rxr.wls.ManagedServer-1].name}
.
We will need to define a separate file store for each JMS server. When configuring a JMS Module, we will need to create a separate JMS Server plus a corresponding File Store for each node in the cluster. So for a two node cluster, we would define two file stores as illustrated below.
Database Persistence Strategy
When we select a Database as our Global Persistence Strategy, MyST will automatically create the required file stores to support the selected product components.
For example, if we created a Platform Blueprint with the components SOA Suite and OSB, the following JDBC Persistence Stores would be created:
Name | Target | Notes |
---|---|---|
UMSJMSJDBCStoreauto[n] | osb_server[n] | One per OSB Managed Server |
WseeJDBCStoreauto[n] | osb_server[n] | One per OSB Managed Server |
JDBCStoreauto[n] | osb_server[n] | One per OSB Managed Server |
UMSJMSJDBCStoreauto[n] | soa_server[n] | One per SOA Managed Server |
BPMJMSJDBCStoreauto[n] | soa_server[n] | One per SOA Managed Server |
SOAJMSJDBCStoreauto[n] | soa_server[n] | One per SOA Managed Server |
Note: The default file persistent stores are also created, but these are not targeted by the JMS Servers.
As part of this process, MyST also performs the following steps:
- Creates the JDBC data source WLSDStore
- Creates a JDBC TLOG store and associates it with the JDBC data source persisting the Transaction Logs in the database
- Creates a JDBC data source, GridLink data source, or multi data source to interface with the JDBC store. See Choosing a Data Source.
Required Patches
WebLogic 10.3.6 and later support persistence to a JDBC-enabled database. However, before we begin, we need to apply the following patches.
WebLogic 10.3.6 Patches
Patch ID | File | Notes |
---|---|---|
WPI2 | p19565095_1036_Generic.zip | Create domain using WLST produces incorrect JMSSERVER name in 50% of the invocations. |
IHFB | p16063328_1036_Generic.zip | BEA-149500 ERROR WITH JDBC TLOG STORE |
BADF | p16104758_1036_Generic.zip | LIFECYCLESHUTDOWNSEQUENCETEST fails with the ILLEGALSTATEEXCEPTION error. |
WebLogic 12.1.3 Patches
Patch ID | File | Notes |
---|---|---|
19565095 | p19565095_121300_Generic.zip | Creating a domain using WLST produces incorrect JMSSERVER name in 50% of the invocations. |
Configure a Database Persistence Store
To configure a Database Persistence Store in the Platform Blueprint, open the Platform Blueprint Editor and navigate to Blueprint > WebLogic Domains > [domain_name] > Persistence Stores > Database Stores
. Expand this component to see a list of currently defined database stores.
Either select an existing Database Store to edit or click on the +
icon to add a Database Store.
For each Database Store we need to specify the following properties:
- Name - Name for the File Store.
- Prefix Name - The prefix for the JDBC store's database table (WLStore).
- Data Source - The JDBC data source used by this JDBC store to access its backing table. You cannot configure a JDBC store to use a JDBC data source that is configured to use an XA JDBC driver or configured to support global transactions.
- Target - Server instance on which to target the database store. It is recommended that the target be defined as a MyST property reference rather than a direct value. For example
${[rxr.wls.ManagedServer-1].name}
.
For each JDBC Persistence store we must define a distinct prefix-name. The prefix-name will be used to prefix the table name WLStore. If you define the same value for two different persistence stores, one of the managed servers might fail to start up.