This discussion is archived
0 Replies Latest reply: Jul 26, 2010 12:38 PM by 807573 RSS

SRM 5.0.3 - Business Structure Rules

807573 Oracle ACE
Currently Being Moderated
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: