0 Replies Latest reply: Jul 26, 2010 2:38 PM by 807573 RSS

    SRM 5.0.3 - Business Structure Rules

    807573
      I've done a small, sandbox type, deployment of SRM 5.0.3 on my laptop using Tomcat 5.5 and MySQL 5.1. Everything seems to be working fine, but as I was going through the application functionality, I happened across an error that doesn't seem to make much sense to me (pasted below).

      Why would it be opening a read only connection? It doubt it is a DB or user privilege issue as I've tried granting all privileges to the rbacxservice user on the rbacx database, and I'm able to perform other functionality that update's different tables.

      I also went into the application-context.xml and removed the "readOnly" from the last prop key in the transactionAttributes property for the baseTransactionsProxy bean.

      I also tried changing all the "read-only" flags to "false" in the security-acls-context.xml.

      Here is the error message:

      07:44:34,575 DEBUG [Connection] {conn-100651} Connection
      07:44:34,575 DEBUG [Connection] {conn-100651} Preparing Statement: update user_bu_rule_scan_results set id=?, rule_scan_id = ?, create_date = ?, assigned_users_map_xml = ?, un_assigned_users_map_xml = ?, existing_assigned_map_xml = ?, users_processed = ? where id = ?
      07:44:34,575 DEBUG [PreparedStatement] {pstm-100652} Executing Statement: update user_bu_rule_scan_results set id=?, rule_scan_id = ?, create_date = ?, assigned_users_map_xml = ?, un_assigned_users_map_xml = ?, existing_assigned_map_xml = ?, users_processed = ? where id = ?
      07:44:34,575 DEBUG [PreparedStatement] {pstm-100652} Parameters: [31, 31, 2010-07-21 07:44:03.0, [B@18cc276, [B@330a31, [B@e21817, 0, 31]
      07:44:34,575 DEBUG [PreparedStatement] {pstm-100652} Types: [java.lang.Long, java.lang.Long, java.sql.Timestamp, [B, [B, [B, java.lang.Long, java.lang.Long]
      07:44:34,653 DEBUG [DataSourceTransactionManager] Triggering beforeCompletion synchronization
      07:44:34,653 DEBUG [DataSourceTransactionManager] Initiating transaction rollback
      07:44:34,653 DEBUG [DataSourceTransactionManager] Rolling back JDBC transaction on Connection [com.mchange.v2.c3p0.impl.NewProxyConnection@f73d69]
      07:44:34,653 DEBUG [DataSourceTransactionManager] Triggering afterCompletion synchronization
      07:44:34,653 DEBUG [DataSourceTransactionManager] Releasing JDBC Connection [com.mchange.v2.c3p0.impl.NewProxyConnection@f73d69] after transaction
      07:44:34,669 ERROR [UserBusinessUnitScanJobExecutor] Error while executing rules
      org.springframework.dao.TransientDataAccessResourceException: SqlMapClient operation; SQL [];
      --- The error occurred in com/vaau/rbacx/idw/maintenance/userbusinessunit/dao/ibatis/maps/UserBusinessUnitRuleScan.xml.
      --- The error occurred while applying a parameter map.
      --- Check the updateUserBusinessUnitRuleScanResult-InlineParameterMap.
      --- Check the statement (update failed).
      --- Cause: java.sql.SQLException: Connection is read-only. Queries leading to data modification are not allowed; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:
      --- The error occurred in com/vaau/rbacx/idw/maintenance/userbusinessunit/dao/ibatis/maps/UserBusinessUnitRuleScan.xml.
      --- The error occurred while applying a parameter map.
      --- Check the updateUserBusinessUnitRuleScanResult-InlineParameterMap.
      --- Check the statement (update failed).
      --- Cause: java.sql.SQLException: Connection is read-only. Queries leading to data modification are not allowed
           at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:106)
           at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
           at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
           at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
           at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:212)
           at org.springframework.orm.ibatis.SqlMapClientTemplate.update(SqlMapClientTemplate.java:411)
           at com.vaau.rbacx.idw.maintenance.userbusinessunit.dao.ibatis.SqlMapUserBusinessUnitRuleScanDao.updateScanResult(SqlMapUserBusinessUnitRuleScanDao.java:144)
           at com.vaau.rbacx.idw.maintenance.userbusinessunit.actions.UserBusinessUnitIfAction.finishAction(UserBusinessUnitIfAction.java:109)
           at com.vaau.rules.manager.RuleManagerImpl.executeRules(RuleManagerImpl.java:519)
           at com.vaau.rbacx.idw.service.RbacxIDWServiceImpl.executeRules(RbacxIDWServiceImpl.java:2157)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
           at java.lang.reflect.Method.invoke(Method.java:597)
           at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
           at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
           at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
           at org.springframework.aop.interceptor.AbstractTraceInterceptor.invoke(AbstractTraceInterceptor.java:113)
           at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
           at org.springframework.aop.interceptor.AbstractTraceInterceptor.invoke(AbstractTraceInterceptor.java:113)
           at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
           at org.springframework.security.intercept.method.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:66)
           at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
           at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
           at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
           at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
           at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
           at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
           at $Proxy69.executeRules(Unknown Source)
           at com.vaau.rbacx.scheduling.executor.idw.UserBusinessUnitScanJobExecutor.execute(UserBusinessUnitScanJobExecutor.java:242)
           at com.vaau.rbacx.scheduling.manager.providers.quartz.jobs.AbstractJob.execute(AbstractJob.java:72)
           at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
           at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525)
      Caused by: com.ibatis.common.jdbc.exception.NestedSQLException: