Wednesday, November 19, 2014

Oracle 12c "Composite Lazy Loading" Feature

I had struggled in the past till 11g, where I had seen Server start up taking time when I have more numbers of composites deployed on the server.

With SOA 12c, Oracle has introduced a new feature known as 'Composite Lazy loading'. This is one of the nice features, in which any server initialization tasks such as loading components and resources like WSDLs and XSDs, are loaded later at first-request time when they are needed, which means that server will only create in-memory java models and MBeans. It improves server startup time when there is a large number of composites deployed on it.

Composite Lazy Loading can be configured at two levels - 1) Domain 2) Component Level

Lazy Loading at Domain Level:
This setting can be disabled/enabled from System MBean Browser in FMW EM console. Follow below steps:
1. Login to EM Console, right-click on the domain you want to tune and select System MBean Browser from the drop-down menu

2. In the System MBean Browser folder structure, navigate through: Application Defined MBeans -- -- Server: ServerName -- SoaInfraConfig -- soa-infra

3. When you click on soa-infra, its attributes will be listed in on the right. Look for the CompositeLazyLoading attribute and click on it. You can set the value to true to enable it or
false to disable it

4. Click Apply and restart the server for changes to take effect.

Lazy Loading at the Component level:
To enable/disable it at component level, you need to follow below steps:
1. Open composite.xml file
2.  Add the new property lazyLoading="false" to override the default behaviour at the domain level, as shown in screen shot

3. Redeploy your code

By default, composites will inherit the lazy loading setting from the domain level.

No comments: