Novell Home

My Favorites

Close

Please to see your favorites.

RBPM stops responding during idle times

This document (7010371) is provided subject to the disclaimer at the end of this document.

Environment

NetIQ Identity Manager Roles Based Provisioning Module 4.0.1
JBoss 5.1
Microsoft SQL Server

Situation

When RBPM/User Application stays idle for long periods of time (like over a weekend), it would stop working and present the following error in the server.log:

INFO  [STDOUT] (Timer-5) 210330799 [Timer-5] WARN org.hibernate.util.JDBCExceptionReporter  - SQL Error: 0, SQLState: 08S01
INFO  [STDOUT] (Timer-5) 210330799 [Timer-5] ERROR org.hibernate.util.JDBCExceptionReporter  - Connection reset
 INFO  [STDOUT] (Timer-5) 210330897 [Timer-5] ERROR org.hibernate.transaction.JDBCTransaction  - JDBC rollback failed
com.microsoft.sqlserver.jdbc.SQLServerException: The connection is closed.
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.setAutoCommit(Unknown Source)
    at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.checkTransaction(BaseWrapperManagedConnection.java:545)
    at org.jboss.resource.adapter.jdbc.WrappedConnection.checkTransaction(WrappedConnection.java:826)
    at org.jboss.resource.adapter.jdbc.WrappedConnection.rollback(WrappedConnection.java:499)
    at org.hibernate.transaction.JDBCTransaction.rollbackAndResetAutoCommit(JDBCTransaction.java:213)
    at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:192)
    at com.novell.soa.persist.HibernateUtil.rollback(HibernateUtil.java:237)
    at com.novell.soa.persist.HibernateDAO.rollback(HibernateDAO.java:463)
    at com.novell.soa.persist.HibernateDAO.findByExample(HibernateDAO.java:410)
    at com.novell.soa.persist.HibernateDAO.findByExample(HibernateDAO.java:378)
    at com.novell.soa.persist.HibernateDAO.findByExample(HibernateDAO.java:362)
    at com.novell.soa.af.impl.timers.PendingActivityTimerTask.restartPendingActivities(PendingActivityTimerTask.java:91)
    at com.novell.soa.af.impl.timers.PendingActivityTimerTask.run(PendingActivityTimerTask.java:51)
    at java.util.TimerThread.mainLoop(Timer.java:512)
    at java.util.TimerThread.run(Timer.java:462)

restarting JBoss will get RBPM back working until the next inactivity period.

Resolution

JBoss requires an additional parameter to validate database connections to MS SQL via JDBC before using them. The absence of that parameter could cause the issue described during long inactivity times. For MS SQL, the parameter is:
<check-valid-connection-sql>SELECT 1 FROM sysobjects</check-valid-connection-sql>
 
This parameter needs to be added to the -ds.xml file used by the web application. So if RBPM is configured to use http://ip:port/IDM , the file would be IDM-ds.xml and reside at <jboss install root>/server/IDM/deploy/IDM-ds.xml . If  RBPM is configured to use http://ip:port/IDMProv , the file would be IDM-ds.xml and reside at <jboss install root>/server/IDM/deploy/IDMProv-ds.xml .

Additional Information

Sample IDM-ds.xml file contents, with the additional parameter already in place:

<?xml version="1.0" encoding="UTF-8"?>
<datasources>
    <local-tx-datasource>
        <jndi-name>IDMUADataSource</jndi-name>
        <connection-url>jdbc:sqlserver://mylab:1234;DatabaseName=UserAppDB</connection-url>
        <driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
        <security-domain>EncryptDBPassword</security-domain>
        <check-valid-connection-sql>SELECT 1 FROM sysobjects</check-valid-connection-sql>
    </local-tx-datasource>
</datasources>


Disclaimer

This Support Knowledgebase provides a valuable tool for NetIQ/Novell/SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.

  • Document ID:7010371
  • Creation Date:03-JUL-12
  • Modified Date:03-JUL-12
    • NetIQIdentity Manager
      Identity Manager Roles Based Provisioning Module

Did this document solve your problem? Provide Feedback