Author: jonesde
Date: Thu Sep 13 09:47:36 2007 New Revision: 575366 URL: http://svn.apache.org/viewvc?rev=575366&view=rev Log: Fixed a couple of issues with the tx tests, for deadlock the problem was with the test, also changed to hide error with the rollback only set and attempt to commit so doesn't show up as error or failure in test case Modified: ofbiz/trunk/framework/service/servicedef/services_test_se.xml ofbiz/trunk/framework/service/src/org/ofbiz/service/test/ServiceEngineTestServices.java ofbiz/trunk/framework/service/testdef/servicetests.xml Modified: ofbiz/trunk/framework/service/servicedef/services_test_se.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/service/servicedef/services_test_se.xml?rev=575366&r1=575365&r2=575366&view=diff ============================================================================== --- ofbiz/trunk/framework/service/servicedef/services_test_se.xml (original) +++ ofbiz/trunk/framework/service/servicedef/services_test_se.xml Thu Sep 13 09:47:36 2007 @@ -29,10 +29,10 @@ location="org.ofbiz.service.test.ServiceEngineTestServices" invoke="testServiceDeadLockRetry"> <implements service="testServiceInterface"/> </service> - <service name="testServiceDeadLockRetryThreadA" engine="java" auth="false" transaction-timeout="10" + <service name="testServiceDeadLockRetryThreadA" engine="java" auth="false" location="org.ofbiz.service.test.ServiceEngineTestServices" invoke="testServiceDeadLockRetryThreadA"> </service> - <service name="testServiceDeadLockRetryThreadB" engine="java" auth="false" transaction-timeout="10" + <service name="testServiceDeadLockRetryThreadB" engine="java" auth="false" location="org.ofbiz.service.test.ServiceEngineTestServices" invoke="testServiceDeadLockRetryThreadB"> </service> @@ -58,9 +58,12 @@ </service> <!-- make sure that if rollback only is set on the tx of the parent service you can still run a child service in a separate tx --> + <service name="testServiceOwnTxSubServiceAfterSetRollbackOnlyInParentErrorCatchWrapper" engine="java" auth="false" + location="org.ofbiz.service.test.ServiceEngineTestServices" invoke="testServiceOwnTxSubServiceAfterSetRollbackOnlyInParentErrorCatchWrapper"> + <implements service="testServiceInterface"/> + </service> <service name="testServiceOwnTxSubServiceAfterSetRollbackOnlyInParent" engine="java" auth="false" location="org.ofbiz.service.test.ServiceEngineTestServices" invoke="testServiceOwnTxSubServiceAfterSetRollbackOnlyInParent"> - <implements service="testServiceInterface"/> </service> <service name="testServiceOwnTxSubServiceAfterSetRollbackOnlyInParentSubService" engine="java" auth="false" require-new-transaction="true" location="org.ofbiz.service.test.ServiceEngineTestServices" invoke="testServiceOwnTxSubServiceAfterSetRollbackOnlyInParentSubService"> Modified: ofbiz/trunk/framework/service/src/org/ofbiz/service/test/ServiceEngineTestServices.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/service/src/org/ofbiz/service/test/ServiceEngineTestServices.java?rev=575366&r1=575365&r2=575366&view=diff ============================================================================== --- ofbiz/trunk/framework/service/src/org/ofbiz/service/test/ServiceEngineTestServices.java (original) +++ ofbiz/trunk/framework/service/src/org/ofbiz/service/test/ServiceEngineTestServices.java Thu Sep 13 09:47:36 2007 @@ -136,6 +136,8 @@ return ServiceUtil.returnSuccess(); } + // ================================================== + public static Map testServiceLockWaitTimeoutRetry(DispatchContext dctx, Map context) { LocalDispatcher dispatcher = dctx.getDispatcher(); try { @@ -217,6 +219,8 @@ return ServiceUtil.returnSuccess(); } + // ================================================== + /** * NOTE that this is a funny case where the auto-retry in the service engine for the call to * testServiceLockWaitTimeoutRetryCantRecoverWaiter would NOT be able to recover because it would try again @@ -282,6 +286,22 @@ return ServiceUtil.returnSuccess(); } + // ================================================== + + public static Map testServiceOwnTxSubServiceAfterSetRollbackOnlyInParentErrorCatchWrapper(DispatchContext dctx, Map context) { + LocalDispatcher dispatcher = dctx.getDispatcher(); + try { + Map resultMap = dispatcher.runSync("testServiceOwnTxSubServiceAfterSetRollbackOnlyInParent", null, 60, true); + if (ServiceUtil.isError(resultMap)) { + return ServiceUtil.returnError("Error running main test service in testServiceOwnTxSubServiceAfterSetRollbackOnlyInParentErrorCatchWrapper", null, null, resultMap); + } + } catch (GenericServiceException e) { + String errMsg = "This is the expected error running sub-service with own tx after the parent has set rollback only, logging and ignoring: " + e.toString(); + Debug.logError(e, errMsg, module); + } + + return ServiceUtil.returnSuccess(); + } public static Map testServiceOwnTxSubServiceAfterSetRollbackOnlyInParent(DispatchContext dctx, Map context) { LocalDispatcher dispatcher = dctx.getDispatcher(); try { Modified: ofbiz/trunk/framework/service/testdef/servicetests.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/service/testdef/servicetests.xml?rev=575366&r1=575365&r2=575366&view=diff ============================================================================== --- ofbiz/trunk/framework/service/testdef/servicetests.xml (original) +++ ofbiz/trunk/framework/service/testdef/servicetests.xml Thu Sep 13 09:47:36 2007 @@ -47,6 +47,6 @@ </test-case> <test-case case-name="service-own-tx-sub-service-after-set-rollback-only-in-parent"> - <service-test service-name="testServiceOwnTxSubServiceAfterSetRollbackOnlyInParent"/> + <service-test service-name="testServiceOwnTxSubServiceAfterSetRollbackOnlyInParentErrorCatchWrapper"/> </test-case> </test-suite> |
Free forum by Nabble | Edit this page |