Skip to main content
Kofax

MarkView AUSS - Scheduled AUSS synchonizations randomly do not start.

Summary

12105

Applies To

  • ERP System: Oracle, SAP
  • MarkView Version: 7.0, 7.1 (OAS middle tier only with 2 or more OC4J instances each having a frameworks application deployed)

Behavior

  • In an OAS Application Server environment with AUSS configured for scheduled synchronizations, AUSS randomly misses a schedule sync cycle. No error messages or other reference to the skipped sync cycle exist in the auss log (usermgmt.log) of the OC4J instance named "markview".
  • The following query returns 2 or more rows:
    • SQL> select * from MV_QRTZ_SCHEDULER_STATE;

Cause

  • The frameworks application is configured by default to run a Quartz Scheduler. Only the MarkView frameworks application can run AUSS sync. When a second or subsequent frameworks application is deployed (e.g. for Advisor) with default settings, it may intercept the AUSS sync trigger but be unable to run the AUSS sync cycle. An error message similar to the following will be present in the usermgmt.log file of the intercepting frameworks application.
    • [frameworks.um.auss.SchedulerFactoryBean_Worker-1] ERROR org.quartz.core.ErrorLogger:2337: - Job (auss_sync_job_group.auss_sync_job threw an exception.
    • org.quartz.SchedulerException: Job threw an unhandled exception. [See nested exception: com.markview.frameworks.usermgmt.auss.exception.AussSyncException: Error occured during synchronization ]

Resolution

The following steps should be taken to prevent the AUSS Quartz scheduler starting in the other (non-markview) frameworks application:

  1. Stop OAS (e.g. opmnctl stopall)
  2. Backup the following file:
    • $ORACLE_HOME/j2ee/<non-markview_oc4j>/applications/frameworks/usermgmt/WEB-INF/web.xml
  3. Open for edit, the following file:
    • $ORACLE_HOME/j2ee/<non-markview_oc4j>/applications/frameworks/usermgmt/WEB-INF/web.xml
  4. Remove the entire line containing the following string:
    • classpath:com/markview/usermgmt/auss-scheduler.xml
  5. Save the changes
  6. Open OAS Enterprise Manager Console, select the non-MarkView OC4J and restart it.
  7. When the non-MarkView OC4J has restarted, run the query SQL> select * from MV_QRTZ_SCHEDULER_STATE to confirm that only a single row is returned.
  8. Start OAS (e.g. opmnctl startall)
  9. Test

An example web.xml file extract is shown below with the line to be deleted commented:

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
    classpath:com/markview/frameworks/service-definition.xml
    classpath:com/markview/frameworks/frameworks-service.xml
    classpath:com/markview/frameworks/usermgmt-service.xml
    classpath:com/markview/frameworks/plugin-definition.xml
    classpath:com/markview/usermgmt/usermgmt-remote.xml
    classpath:com/markview/usermgmt/usermgmt-data.xml
    classpath:com/markview/usermgmt/usermgmt-blogic.xml
    classpath:com/markview/usermgmt/usermgmt-timer.xml
    classpath:com/markview/usermgmt/usermgmt-ui.xml 
    classpath:com/markview/usermgmt/usermgmt-registration.xml 
    classpath:com/markview/usermgmt/published-services.xml
    classpath:com/markview/usermgmt/consumed-plugins.xml
    classpath:com/markview/usermgmt/auss-remote.xml
    classpath:com/markview/usermgmt/auss-blogic.xml
    classpath:com/markview/usermgmt/auss-ui.xml 
    classpath:com/markview/usermgmt/auss-data.xml
    classpath:com/markview/usermgmt/auss-scheduler.xml    <--- delete this line
    /WEB-INF/applicationContext.xml
</param-value> </context-param> 

Keywords: AUSS, Sync, synchronization