Md Noorshid
Md Noorshid

Reputation: 107

Activiti-Rest with spring boot

This is my pom file

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.activiti.examples</groupId>
  <artifactId>activiti-examples</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>
  <name>BPMN 2.0 with Activiti - Examples</name>
  <properties>
    <activiti-version>5.20.0</activiti-version>
  </properties>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.3.5.RELEASE</version>
</parent>
  <dependencies>
    <dependency>
      <groupId>org.activiti</groupId>
      <artifactId>activiti-engine</artifactId>
      <version>${activiti-version}</version>
      <scope>import</scope>
      <type>pom</type>
    </dependency>
    <!-- <dependency>
      <groupId>org.activiti</groupId>
      <artifactId>activiti-spring</artifactId>
      <version>${activiti-version}</version>
    </dependency> -->
    <dependency>
      <groupId>org.codehaus.groovy</groupId>
      <artifactId>groovy-all</artifactId>
      <version>2.4.3</version>
    </dependency>
   <!--  <dependency>
      <groupId>com.h2database</groupId>
      <artifactId>h2</artifactId>
      <version>1.3.168</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.7.6</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-jdk14</artifactId>
      <version>1.7.6</version>
    </dependency> -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      </dependency>
    <!-- http://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    </dependency>
<dependency>
    <groupId>org.activiti</groupId>
    <artifactId>spring-boot-starter-basic</artifactId>
    <version>5.17.0</version>
</dependency>
<!-- http://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-actuator -->
<!-- <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
    <version>1.3.5.RELEASE</version>
</dependency> -->
<!-- http://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter -->
<!-- <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
    <version>1.3.5.RELEASE</version>
</dependency> -->
<!-- http://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    </dependency>
  </dependencies>
	 <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
	       <configuration>
	         <source>1.6</source>
	         <target>1.6</target>
	       </configuration>
	     </plugin>
	     <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-eclipse-plugin</artifactId>
        <inherited>true</inherited>
        <configuration>
	         <classpathContainers>
	           <classpathContainer>org.eclipse.jdt.USER_LIBRARY/Activiti Designer Extensions</classpathContainer>
	         </classpathContainers>
	       </configuration>
	     </plugin>
    </plugins>
	 </build>
</project>

Hi all i am trying to do activiti rest with spring boot. But i am getting error. However i am able to build one app for startup.It works fine.But getting error only in that.Please help to resolve my error. You can find the errors below in the snippet.

These are my errors

2016-07-28 12:21:56.611  INFO 7112 --- [           main] c.b.a.rest.leaveRequest.MyApplication    : Starting MyApplication on mdnoorshid with PID 7112 (started by noorshid in /media/noorshid/New Volume/BizRuntime/Activiti_Workspace/Activiti-Rest-Complete-Process-LeaveRequest)
2016-07-28 12:21:56.618  INFO 7112 --- [           main] c.b.a.rest.leaveRequest.MyApplication    : No active profile set, falling back to default profiles: default
2016-07-28 12:21:57.229  INFO 7112 --- [           main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@75225d4a: startup date [Thu Jul 28 12:21:57 IST 2016]; root of context hierarchy
2016-07-28 12:21:59.347  INFO 7112 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [class org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$66951570] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2016-07-28 12:22:00.122  INFO 7112 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)
2016-07-28 12:22:00.150  INFO 7112 --- [           main] o.apache.catalina.core.StandardService   : Starting service Tomcat
2016-07-28 12:22:00.152  INFO 7112 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.0.33
2016-07-28 12:22:00.342  INFO 7112 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2016-07-28 12:22:00.342  INFO 7112 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 3119 ms
2016-07-28 12:22:00.910  INFO 7112 --- [ost-startStop-1] o.s.b.c.e.ServletRegistrationBean        : Mapping servlet: 'dispatcherServlet' to [/]
2016-07-28 12:22:00.919  INFO 7112 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean  : Mapping filter: 'characterEncodingFilter' to: [/*]
2016-07-28 12:22:00.920  INFO 7112 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean  : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2016-07-28 12:22:00.920  INFO 7112 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean  : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2016-07-28 12:22:00.921  INFO 7112 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean  : Mapping filter: 'requestContextFilter' to: [/*]
2016-07-28 12:22:01.001  WARN 7112 --- [           main] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'myRestController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.bizruntime.activiti.rest.leaveRequest.MyService com.bizruntime.activiti.rest.leaveRequest.MyRestController.myService; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.bizruntime.activiti.rest.leaveRequest.MyService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
2016-07-28 12:22:01.006  INFO 7112 --- [           main] o.apache.catalina.core.StandardService   : Stopping service Tomcat
2016-07-28 12:22:01.024 ERROR 7112 --- [           main] o.s.boot.SpringApplication               : Application startup failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'myRestController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.bizruntime.activiti.rest.leaveRequest.MyService com.bizruntime.activiti.rest.leaveRequest.MyRestController.myService; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.bizruntime.activiti.rest.leaveRequest.MyService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1214) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839) ~[spring-context-4.2.6.RELEASE.jar:4.2.6.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538) ~[spring-context-4.2.6.RELEASE.jar:4.2.6.RELEASE]
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118) ~[spring-boot-1.3.5.RELEASE.jar:1.3.5.RELEASE]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766) [spring-boot-1.3.5.RELEASE.jar:1.3.5.RELEASE]
	at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361) [spring-boot-1.3.5.RELEASE.jar:1.3.5.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) [spring-boot-1.3.5.RELEASE.jar:1.3.5.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1191) [spring-boot-1.3.5.RELEASE.jar:1.3.5.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1180) [spring-boot-1.3.5.RELEASE.jar:1.3.5.RELEASE]
	at com.bizruntime.activiti.rest.leaveRequest.MyApplication.main(MyApplication.java:19) [classes/:na]
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.bizruntime.activiti.rest.leaveRequest.MyService com.bizruntime.activiti.rest.leaveRequest.MyRestController.myService; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.bizruntime.activiti.rest.leaveRequest.MyService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:573) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]
	at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:331) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]
	... 17 common frames omitted
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.bizruntime.activiti.rest.leaveRequest.MyService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:1373) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1119) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1014) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:545) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]
	... 19 common frames omitted

2016-07-28 12:22:01.028  INFO 7112 --- [           main] .b.l.ClasspathLoggingApplicationListener : Application failed to start with classpath: [file:/media/noorshid/New%20Volume/BizRuntime/Activiti_Workspace/Activiti-Rest-Complete-Process-LeaveRequest/target/classes/, file:/home/noorshid/.m2/repository/org/activiti/activiti-engine/5.20.0/activiti-engine-5.20.0.jar, file:/home/noorshid/.m2/repository/org/activiti/activiti-bpmn-converter/5.20.0/activiti-bpmn-converter-5.20.0.jar, file:/home/noorshid/.m2/repository/org/activiti/activiti-bpmn-model/5.20.0/activiti-bpmn-model-5.20.0.jar, file:/home/noorshid/.m2/repository/org/activiti/activiti-process-validation/5.20.0/activiti-process-validation-5.20.0.jar, file:/home/noorshid/.m2/repository/org/activiti/activiti-image-generator/5.20.0/activiti-image-generator-5.20.0.jar, file:/home/noorshid/.m2/repository/org/apache/commons/commons-email/1.4/commons-email-1.4.jar, file:/home/noorshid/.m2/repository/com/sun/mail/javax.mail/1.5.5/javax.mail-1.5.5.jar, file:/home/noorshid/.m2/repository/javax/activation/activation/1.1.1/activation-1.1.1.jar, file:/home/noorshid/.m2/repository/org/apache/commons/commons-lang3/3.3.2/commons-lang3-3.3.2.jar, file:/home/noorshid/.m2/repository/org/mybatis/mybatis/3.3.0/mybatis-3.3.0.jar, file:/home/noorshid/.m2/repository/org/springframework/spring-beans/4.2.6.RELEASE/spring-beans-4.2.6.RELEASE.jar, file:/home/noorshid/.m2/repository/joda-time/joda-time/2.8.2/joda-time-2.8.2.jar, file:/home/noorshid/.m2/repository/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.jar, file:/home/noorshid/.m2/repository/org/slf4j/jcl-over-slf4j/1.7.21/jcl-over-slf4j-1.7.21.jar, file:/home/noorshid/.m2/repository/org/codehaus/groovy/groovy-all/2.4.3/groovy-all-2.4.3.jar, file:/home/noorshid/.m2/repository/junit/junit/4.11/junit-4.11.jar, file:/home/noorshid/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar, file:/home/noorshid/.m2/repository/org/springframework/boot/spring-boot-starter-web/1.3.5.RELEASE/spring-boot-starter-web-1.3.5.RELEASE.jar, file:/home/noorshid/.m2/repository/org/springframework/boot/spring-boot-starter/1.3.5.RELEASE/spring-boot-starter-1.3.5.RELEASE.jar, file:/home/noorshid/.m2/repository/org/springframework/boot/spring-boot/1.3.5.RELEASE/spring-boot-1.3.5.RELEASE.jar, file:/home/noorshid/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/1.3.5.RELEASE/spring-boot-autoconfigure-1.3.5.RELEASE.jar, file:/home/noorshid/.m2/repository/org/springframework/boot/spring-boot-starter-logging/1.3.5.RELEASE/spring-boot-starter-logging-1.3.5.RELEASE.jar, file:/home/noorshid/.m2/repository/ch/qos/logback/logback-classic/1.1.7/logback-classic-1.1.7.jar, file:/home/noorshid/.m2/repository/ch/qos/logback/logback-core/1.1.7/logback-core-1.1.7.jar, file:/home/noorshid/.m2/repository/org/slf4j/jul-to-slf4j/1.7.21/jul-to-slf4j-1.7.21.jar, file:/home/noorshid/.m2/repository/org/slf4j/log4j-over-slf4j/1.7.21/log4j-over-slf4j-1.7.21.jar, file:/home/noorshid/.m2/repository/org/yaml/snakeyaml/1.16/snakeyaml-1.16.jar, file:/home/noorshid/.m2/repository/org/springframework/boot/spring-boot-starter-tomcat/1.3.5.RELEASE/spring-boot-starter-tomcat-1.3.5.RELEASE.jar, file:/home/noorshid/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/8.0.33/tomcat-embed-core-8.0.33.jar, file:/home/noorshid/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/8.0.33/tomcat-embed-el-8.0.33.jar, file:/home/noorshid/.m2/repository/org/apache/tomcat/embed/tomcat-embed-logging-juli/8.0.33/tomcat-embed-logging-juli-8.0.33.jar, file:/home/noorshid/.m2/repository/org/apache/tomcat/embed/tomcat-embed-websocket/8.0.33/tomcat-embed-websocket-8.0.33.jar, file:/home/noorshid/.m2/repository/org/springframework/boot/spring-boot-starter-validation/1.3.5.RELEASE/spring-boot-starter-validation-1.3.5.RELEASE.jar, file:/home/noorshid/.m2/repository/org/hibernate/hibernate-validator/5.2.4.Final/hibernate-validator-5.2.4.Final.jar, file:/home/noorshid/.m2/repository/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar, file:/home/noorshid/.m2/repository/org/jboss/logging/jboss-logging/3.3.0.Final/jboss-logging-3.3.0.Final.jar, file:/home/noorshid/.m2/repository/com/fasterxml/classmate/1.1.0/classmate-1.1.0.jar, file:/home/noorshid/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.6.6/jackson-databind-2.6.6.jar, file:/home/noorshid/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.6.6/jackson-annotations-2.6.6.jar, file:/home/noorshid/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.6.6/jackson-core-2.6.6.jar, file:/home/noorshid/.m2/repository/org/springframework/spring-web/4.2.6.RELEASE/spring-web-4.2.6.RELEASE.jar, file:/home/noorshid/.m2/repository/org/springframework/spring-webmvc/4.2.6.RELEASE/spring-webmvc-4.2.6.RELEASE.jar, file:/home/noorshid/.m2/repository/mysql/mysql-connector-java/5.1.6/mysql-connector-java-5.1.6.jar, file:/home/noorshid/.m2/repository/org/activiti/spring-boot-starter-basic/5.17.0/spring-boot-starter-basic-5.17.0.jar, file:/home/noorshid/.m2/repository/org/activiti/activiti-spring/5.17.0/activiti-spring-5.17.0.jar, file:/home/noorshid/.m2/repository/org/springframework/spring-jdbc/4.2.6.RELEASE/spring-jdbc-4.2.6.RELEASE.jar, file:/home/noorshid/.m2/repository/org/springframework/spring-tx/4.2.6.RELEASE/spring-tx-4.2.6.RELEASE.jar, file:/home/noorshid/.m2/repository/org/springframework/spring-orm/4.2.6.RELEASE/spring-orm-4.2.6.RELEASE.jar, file:/home/noorshid/.m2/repository/commons-dbcp/commons-dbcp/1.4/commons-dbcp-1.4.jar, file:/home/noorshid/.m2/repository/commons-pool/commons-pool/1.6/commons-pool-1.6.jar, file:/home/noorshid/.m2/repository/org/springframework/boot/spring-boot-starter-jdbc/1.3.5.RELEASE/spring-boot-starter-jdbc-1.3.5.RELEASE.jar, file:/home/noorshid/.m2/repository/org/apache/tomcat/tomcat-jdbc/8.0.33/tomcat-jdbc-8.0.33.jar, file:/home/noorshid/.m2/repository/org/apache/tomcat/tomcat-juli/8.0.33/tomcat-juli-8.0.33.jar, file:/home/noorshid/.m2/repository/org/springframework/spring-context/4.2.6.RELEASE/spring-context-4.2.6.RELEASE.jar, file:/home/noorshid/.m2/repository/org/springframework/spring-aop/4.2.6.RELEASE/spring-aop-4.2.6.RELEASE.jar, file:/home/noorshid/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar, file:/home/noorshid/.m2/repository/org/springframework/spring-core/4.2.6.RELEASE/spring-core-4.2.6.RELEASE.jar, file:/home/noorshid/.m2/repository/org/springframework/spring-expression/4.2.6.RELEASE/spring-expression-4.2.6.RELEASE.jar]

My Main Class

import javax.sql.DataSource;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

import com.bizruntime.activiti.rest.util.Config;

@Configuration
@ComponentScan
@EnableAutoConfiguration
public class MyApplication 
{
public static void main(String[] args) {
    SpringApplication.run(MyApplication.class, args);
}

//changing default database to mysql
public DataSource database(){
    return DataSourceBuilder.create().url(Config.getConfig().getProperty("url"))
            .username(Config.getConfig().getProperty("username")).password(Config.getConfig().getProperty("password"))
            .driverClassName(Config.getConfig().getProperty("driverClassName")).build();
}
}

My Rest Class

import java.util.ArrayList;
import java.util.List;
import org.activiti.engine.task.Task;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MyRestController
{
@Autowired
private MyService myService;	

@RequestMapping(value="/process", method=RequestMethod.POST)
public void startProcessInstance(){
	myService.startProcess();
}

@RequestMapping(value="/tasks", method= RequestMethod.GET, produces=MediaType.APPLICATION_JSON_VALUE)
public List<TaskRepresentation> getTasks(@RequestParam String assignee) {
    List<Task> tasks = myService.getTasks(assignee);
    List<TaskRepresentation> dtos = new ArrayList<TaskRepresentation>();
    for (Task task : tasks) {
        dtos.add(new TaskRepresentation(task.getId(), task.getName()));
    }
    return dtos;
}

@RequestMapping(value="/claim",method=RequestMethod.POST)
public void claimTheTask(String taskId,String assignee){
 myService.claimTask(taskId, assignee);	
}

@RequestMapping(value="/complete",method=RequestMethod.POST)
public void completeTheTask(String taskId){
	myService.completeTask(taskId);
}

static class TaskRepresentation
{
String id;
String name;
public TaskRepresentation(String id,String name){
	this.id=id;
	this.name=name;
}
public String getId() {
	return id;
}
public void setId(String id) {
	this.id = id;
}
public String getName() {
	return name;
}
public void setName(String name) {
	this.name = name;
}
}
}

My Service Class

import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.task.Task;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;

import com.bizruntime.activiti.rest.util.Config;

public class MyService {

	@Autowired
	private RuntimeService runtimeService;

	@Autowired
	private TaskService taskService;

	@Transactional
	public void startProcess() {
		Map<String, Object> variables1 = new HashMap<String, Object>();
		variables1.put("name", Config.getConfig().getProperty("name"));
		variables1.put("noOfLeaveDays1", Config.getConfig().getProperty("noOfLeaveDays"));
		variables1.put("emailId", Config.getConfig().getProperty("emailId"));
		variables1.put("reason", Config.getConfig().getProperty("reason"));
		runtimeService.startProcessInstanceByKey("restLeaveRequest", variables1);
	}
	
	@Transactional
	public List<Task>getTasks(String asignee){
	return taskService.createTaskQuery().taskAssignee(asignee).list();
	}
	
	@Transactional
	public void claimTask(String taskId,String assignee){
		taskService.claim(taskId,assignee);
	}
	
	@Transactional
	public void completeTask(String taskId){
		Map<String,Object>variables2=new HashMap<String, Object>();
		variables2.put("approveRequest1",Config.getConfig().getProperty("approveRequest"));
		variables2.put("remarks1",Config.getConfig().getProperty("remarks"));
		taskService.complete(taskId,variables2);
	}
	
}

Upvotes: 0

Views: 1830

Answers (3)

Sundararaj Govindasamy
Sundararaj Govindasamy

Reputation: 8495

In your class MyApplication, enable component scanning as below.

You should include the packages for your services,controllers, etc.

@ComponentScan({
      "com.abc.xyz.package1"
    , "com.abc.xyz.package2"
    })

As suggested by most people here, add @Service into your MyService Class ( I cannot see that annotation in this question, you may not updated this question).

Upvotes: 0

Joram Barrez
Joram Barrez

Reputation: 301

Your MyService class needs to have the @Component or @Service annotation to be picked up by Spring component scanning.

Also, make sure the class is in an autoscanned package.

Upvotes: 1

Abbas Kararawala
Abbas Kararawala

Reputation: 1254

Add @Service or @Component annotation to your MyService class. so, that it can be initialized before being injected.

Upvotes: 0

Related Questions