As we transition to the new Hyland Community, some post links may be temporarily disrupted as we finalize redirects. We apologize for the inconvenience and are working to resolve this as quickly as possible. Details.
<br><!– DataSource Definition –><br><bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"><br> <property name="driverClassName" value="com.mysql.jdbc.Driver" /><br> <property name="url" value="jdbc:mysql://localhost:3306/activiti"/><br> <property name="username" value="root" /><br> <property name="password" value="root" /><br> <property name="poolPreparedStatements" value="true" /><br> <property name="maxActive" value="50" /><br> <property name="maxIdle" value="10" /><br></bean><br><br><!– Session Factory Definition –><br><bean id="sessionFactory"<br> class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><br> <property name="dataSource"><br> <ref bean="dataSource" /><br> </property><br> …<br></bean><br><br><br><!– Hibernate Transaction Manager Definition –><br><bean id="transactionManager"<br> class="org.springframework.orm.hibernate3.HibernateTransactionManager"><br> <property name="sessionFactory"><br> <ref local="sessionFactory" /><br> </property><br> <property name="dataSource"><br> <ref local="dataSource" /><br> </property><br></bean><br><br><!– Process Engine Definition –><br><bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration"><br> <property name="dataSource" ref="dataSource" /><br> <property name="transactionManager" ref="transactionManager" /><br> <property name="databaseSchemaUpdate" value="true" /><br> <property name="jobExecutorActivate" value="false" /><br></bean><br>
<br>protected TransactionStatus startTransaction() {<br> PlatformTransactionManager manager = getTransactionManager();<br> DefaultTransactionDefinition d = new DefaultTransactionDefinition();<br> d.setPropagationBehavior(DefaultTransactionDefinition.PROPAGATION_REQUIRES_NEW);<br><br> transaction = manager.getTransaction(d);<br><br> return transaction;<br>}<br><br>protected void commit(TransactionStatus transaction) {<br> PlatformTransactionManager manager = getTransactionManager();<br> manager.commit(transaction);<br>}<br><br>protected void rollback(TransactionStatus transaction) {<br> PlatformTransactionManager manager = getTransactionManager();<br> manager.rollback(transaction);<br>}<br><br>private PlatformTransactionManager getTransactionManager() {<br><br> return (PlatformTransactionManager) this.appContext<br> .getBean("transactionManager");<br>}<br>
<br>public class MyBean() extends BaseAction{<br> private MyObject pojo;<br> private MyService service;<br> private RuntimeService runtimeService;<br> …<br> <br> public void doSomeStuff() {<br> pojo.setText("demo");<br> pojo.setValue(42);<br> <br> save(); // Or just call the save from your GUI for example<br> }<br> <br> <br> public void save() {<br> try {<br> service.save(pojo);<br> runtimeService.setVariable(pInst.getId(), "pojoid", pojo.getId());<br> <br> commit();<br> }<br> catch(Exception e) {<br> onError(e);<br> }<br> }<br> <br> <br> public void onError(Exception e) {<br> // do some stuff<br> <br> rollback();<br> }<br> …<br>}<br>
<br><bean id="dataSource"<br> class="com.mchange.v2.c3p0.ComboPooledDataSource"><br> <property name="driverClass" value="${database.driver}" /><br> <property name="jdbcUrl" value="${database.url}" /><br> <property name="user" value="${database.username}" /><br> <property name="password" value="${database.password}" /><br> <property name="initialPoolSize" value="3" /><br> <property name="minPoolSize" value="1" /><br> <property name="maxPoolSize" value="17" /><br> </bean><br>…<br><tx:annotation-driven transaction-manager="transactionManager" mode="aspectj"/><br>…<br><bean id="transactionManager"<br> class="org.springframework.orm.hibernate3.HibernateTransactionManager"><br> <property name="dataSource" ref="dataSource" /><br> <property name="sessionFactory" ref="sessionFactory" /><br> </bean><br>…<br><bean<br> class="org.springframework.transaction.aspectj.AnnotationTransactionAspect"<br> factory-method="aspectOf"><br> <property name="transactionManager"><br> <ref local="transactionManager" /><br> </property><br> </bean><br>…<br> <bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration"><br> <property name="databaseType" value="postgres" /><br> <property name="dataSource" ref="dataSource" /><br> <property name="transactionManager" ref="transactionManager" /><br>…<br>
@Override<br> @Transactional<br> public ProcessInstance startWorkflowProcess(String processDefinitionId, Map<String, Object> variables, String currentUser){<br> log.debug("Starting new process with the id: "+processDefinitionId+" and the variables are :"+variables);<br> identityService.setAuthenticatedUserId(currentUser);<br> ProcessInstance processInstance = runtimeService.startProcessInstanceById(processDefinitionId, variables);<br> identityService.setAuthenticatedUserId(null);<br> <br> return processInstance;<br> }<br>
import org.hibernate.Session;<br>import org.hibernate.SessionFactory;<br>import org.springframework.beans.factory.annotation.Autowired;<br><br>public class JPASessionFactory {<br><br> @Autowired<br> private SessionFactory sessionFactory;<br><br> public Session getCurrentSession() {<br> return sessionFactory.getCurrentSession();<br> }<br><br> public SessionFactory getSessionFactory() {<br> return sessionFactory;<br> }<br>}
public void execute(DelegateExecution execution) throws Exception {<br> <br> Version version = versionService.findDistributionVersion("Test");<br> System.err.println(version);<br> }