04-09-2013 10:56 AM
com.microsoft.sqlserver.jdbc.SQLServerException: Transaction (Process ID 55) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
   at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:213) ~[sqljdbc4.jar:na]
   at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1493) ~[sqljdbc4.jar:na]
   at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:388) ~[sqljdbc4.jar:na]
   at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:338) ~[sqljdbc4.jar:na]
   at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5574) ~[sqljdbc4.jar:na]
   at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1734) ~[sqljdbc4.jar:na]
   at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:179) ~[sqljdbc4.jar:na]
   at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:154) ~[sqljdbc4.jar:na]
   at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.execute(SQLServerPreparedStatement.java:320) ~[sqljdbc4.jar:na]
   at org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172) ~[org.apache.commons.dbcp_1.4.0.jar:1.4]
   at org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172) ~[org.apache.commons.dbcp_1.4.0.jar:1.4]
   at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:41) ~[mybatis-3.1.1.jar:3.1.1]
   at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:66) ~[mybatis-3.1.1.jar:3.1.1]
   at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:45) ~[mybatis-3.1.1.jar:3.1.1]
   at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:108) ~[mybatis-3.1.1.jar:3.1.1]
   at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:75) ~[mybatis-3.1.1.jar:3.1.1]
   at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:145) ~[mybatis-3.1.1.jar:3.1.1]
   at org.apache.ibatis.session.defaults.DefaultSqlSession.delete(DefaultSqlSession.java:158) ~[mybatis-3.1.1.jar:3.1.1]
   at org.activiti.engine.impl.db.DbSqlSession$DeleteById.execute(DbSqlSession.java:146) ~[activiti-engine-5.10.jar:5.10]
   at org.activiti.engine.impl.db.DbSqlSession.flushDeletes(DbSqlSession.java:483) ~[activiti-engine-5.10.jar:5.10]
   at org.activiti.engine.impl.db.DbSqlSession.flush(DbSqlSession.java:371) ~[activiti-engine-5.10.jar:5.10]
   at org.activiti.engine.impl.interceptor.CommandContext.flushSessions(CommandContext.java:157) ~[activiti-engine-5.10.jar:5.10]
   at org.activiti.engine.impl.interceptor.CommandContext.close(CommandContext.java:109) ~[activiti-engine-5.10.jar:5.10]
   at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:49) ~[activiti-engine-5.10.jar:5.10]
   at org.activiti.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:42) ~[activiti-spring-5.10.jar:na]
   at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130) ~[org.springframework.transaction_3.0.5.RELEASE.jar:3.0.5.RELEASE]
   at org.activiti.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:40) ~[activiti-spring-5.10.jar:na]
   at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:33) ~[activiti-engine-5.10.jar:5.10]
   at org.activiti.engine.impl.RuntimeServiceImpl.signal(RuntimeServiceImpl.java:137) ~[activiti-engine-5.10.jar:5.10]
   at com.softmodeler.workflow.service.impl.WorkflowService.start(WorkflowService.java:221) ~[com.softmodeler.workflow/:na]
   at com.softmodeler.workflow.service.impl.WorkflowService.startWorkflow(WorkflowService.java:186) ~[com.softmodeler.workflow/:na]
      <sequenceFlow id="startToWait" sourceRef="start" targetRef="wait"/>
      <receiveTask id="wait" name="wait"/>
      <sequenceFlow id="waitToTranslate" sourceRef="wait" targetRef="translate"/>   
      try {
         identiyService.setAuthenticatedUserId(creator);
         ProcessInstance instance = runtimeService.startProcessInstanceByKey(processKey, variables);
         processInstanceId = instance.getId();
      } catch (Throwable e) {
         throw ServerUtil.createServerException(e);
      } finally {
         identiyService.setAuthenticatedUserId(null);
      }
      
      Execution execution = runtimeService.createExecutionQuery().processInstanceId(processInstanceId).activityId("wait") //$NON-NLS-1$
            .singleResult();
      if (execution != null) {
         identiyService.setAuthenticatedUserId(null);
         runtimeService.signal(execution.getId());
      }
ProcessInstance instance = runtimeService.startProcessInstanceByKey(processKey, variables);
for (ProcessInstance in : runtimeService.createProcessInstanceQuery().list()) {
   System.out.println("RUNNING>: " + in.getId() + " " + in.getProcessDefinitionId());
}
 
					
				
		
04-09-2013 11:10 AM
04-10-2013 04:46 AM
04-10-2013 05:42 AM
04-12-2013 07:52 AM
04-16-2013 04:43 AM
<?xml version="1.0" encoding="UTF-8"?>
<definitions id="definitions"
             xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
             xmlns:activiti="http://activiti.org/bpmn"
             targetNamespace="http://www.activiti.org/bpmn2.0">
 <process id="SimpleCommit" isExecutable="true">
  <startEvent id="start"/>
  <sequenceFlow id="startToWait" sourceRef="start" targetRef="wait"/>
  <receiveTask id="wait" name="wait"/>
  <sequenceFlow id="waitToSleepTask" sourceRef="wait" targetRef="sleepTask"/>
  <serviceTask id="sleepTask" activiti:class="com.softmodeler.workflow.SleepTask">
  </serviceTask>
  <sequenceFlow id="sleepTaskToEnd" sourceRef="sleepTask" targetRef="end"/>
  <endEvent id="end"/>
 </process>
</definitions>
package com.softmodeler.workflow;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.JavaDelegate;
/**
 * @author created by Author: fdo, last update by $Author: $
 * @version $Revision: $, $Date: $
 */
public class SleepTask implements JavaDelegate {
 @Override
 public void execute(DelegateExecution execution) throws Exception {
  Thread.sleep(5000);
 }
}
 public void startTest() {
  try {
   Thread thread1 = new Thread(new Runnable() {
    @Override
    public void run() {
     try {
      System.out.println("start 1");
      start("testuser1", "SimpleCommit");
      System.out.println("end 1");
     } catch (ServerException e) {
      e.printStackTrace();
     }
    }
   });
   thread1.start();
   Thread thread2 = new Thread(new Runnable() {
    @Override
    public void run() {
     try {
      System.out.println("start 2");
      start("testuser2", "SimpleCommit");
      System.out.println("end 2");
     } catch (ServerException e) {
      e.printStackTrace();
     }
    }
   });
   thread2.start();
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
 @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
 protected String start(String initiator, String processKey) throws ServerException {
  String processInstanceId = null;
  try {
   identiyService.setAuthenticatedUserId(initiator);
   ProcessInstance instance = runtimeService.startProcessInstanceByKey(processKey);
   processInstanceId = instance.getId();
  } catch (Throwable e) {
   throw ServerUtil.createServerException(e);
  } finally {
   identiyService.setAuthenticatedUserId(null);
  }
  Execution execution = runtimeService.createExecutionQuery().processInstanceId(processInstanceId).activityId("wait") //$NON-NLS-1$
    .singleResult();
  if (execution != null) {
   // remove current user otherwise subprocesses are also listed (remove as well)
   identiyService.setAuthenticatedUserId(null);
   runtimeService.signal(execution.getId());
  }
  return processInstanceId;
 }
04-16-2013 07:25 AM
04-17-2013 03:17 AM
04-17-2013 05:03 AM
04-19-2013 08:39 AM
 
					
				
				
			
		
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.