commit
f68b3d6ed7
|
@ -72,7 +72,7 @@
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.ignite</groupId>
|
<groupId>org.apache.ignite</groupId>
|
||||||
<artifactId>ignite-spring</artifactId>
|
<artifactId>ignite-spring-data</artifactId>
|
||||||
<version>${ignite.version}</version>
|
<version>${ignite.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
|
@ -192,7 +192,7 @@
|
||||||
<maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
|
<maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
|
||||||
<ormlite.version>5.0</ormlite.version>
|
<ormlite.version>5.0</ormlite.version>
|
||||||
<kafka.version>1.0.0</kafka.version>
|
<kafka.version>1.0.0</kafka.version>
|
||||||
<ignite.version>2.3.0</ignite.version>
|
<ignite.version>2.4.0</ignite.version>
|
||||||
<gson.version>2.8.2</gson.version>
|
<gson.version>2.8.2</gson.version>
|
||||||
</properties>
|
</properties>
|
||||||
</project>
|
</project>
|
|
@ -0,0 +1,53 @@
|
||||||
|
package com.baeldung.ignite.spring;
|
||||||
|
|
||||||
|
import com.baeldung.ignite.spring.config.SpringDataConfig;
|
||||||
|
import com.baeldung.ignite.spring.dto.EmployeeDTO;
|
||||||
|
import com.baeldung.ignite.spring.repository.EmployeeRepository;
|
||||||
|
import org.apache.ignite.Ignite;
|
||||||
|
import org.apache.ignite.IgniteCache;
|
||||||
|
import org.apache.ignite.Ignition;
|
||||||
|
import org.apache.ignite.cache.query.QueryCursor;
|
||||||
|
import org.apache.ignite.cache.query.SqlFieldsQuery;
|
||||||
|
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by Gebruiker on 4/12/2018.
|
||||||
|
*/
|
||||||
|
public class IgniteApp {
|
||||||
|
|
||||||
|
public static void main (String[] args) {
|
||||||
|
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
|
||||||
|
context.register(SpringDataConfig.class);
|
||||||
|
context.refresh();
|
||||||
|
|
||||||
|
EmployeeRepository repository = context.getBean(EmployeeRepository.class);
|
||||||
|
|
||||||
|
EmployeeDTO employeeDTO = new EmployeeDTO();
|
||||||
|
employeeDTO.setId(1);
|
||||||
|
employeeDTO.setName("John");
|
||||||
|
employeeDTO.setEmployed(true);
|
||||||
|
|
||||||
|
repository.save(employeeDTO.getId(), employeeDTO);
|
||||||
|
|
||||||
|
EmployeeDTO employee = repository.getEmployeeDTOById(employeeDTO.getId());
|
||||||
|
System.out.println(employee);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void getUsingTheCache(Integer employeeId) {
|
||||||
|
|
||||||
|
Ignite ignite = Ignition.ignite();
|
||||||
|
|
||||||
|
IgniteCache<Integer, EmployeeDTO> cache = ignite.cache("baeldungCache");
|
||||||
|
|
||||||
|
EmployeeDTO employeeDTO = cache.get(employeeId);
|
||||||
|
|
||||||
|
System.out.println(employeeDTO);
|
||||||
|
|
||||||
|
SqlFieldsQuery sql = new SqlFieldsQuery(
|
||||||
|
"select * from EmployeeDTO where isEmployed = 'true'");
|
||||||
|
|
||||||
|
QueryCursor<List<?>> cursor = cache.query(sql);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,34 @@
|
||||||
|
package com.baeldung.ignite.spring.config;
|
||||||
|
|
||||||
|
import com.baeldung.ignite.spring.dto.EmployeeDTO;
|
||||||
|
import com.baeldung.ignite.spring.repository.EmployeeRepository;
|
||||||
|
import org.apache.ignite.Ignite;
|
||||||
|
import org.apache.ignite.Ignition;
|
||||||
|
import org.apache.ignite.configuration.CacheConfiguration;
|
||||||
|
import org.apache.ignite.configuration.IgniteConfiguration;
|
||||||
|
import org.apache.ignite.springdata.repository.config.EnableIgniteRepositories;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.ComponentScan;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
@EnableIgniteRepositories(basePackageClasses = EmployeeRepository.class)
|
||||||
|
@ComponentScan(basePackages = "com.baeldung.ignite.spring.repository")
|
||||||
|
public class SpringDataConfig {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public Ignite igniteInstance() {
|
||||||
|
IgniteConfiguration config = new IgniteConfiguration();
|
||||||
|
// Setting some custom name for the node.
|
||||||
|
//config.setIgniteInstanceName("springDataNode");
|
||||||
|
// Enabling peer-class loading feature.
|
||||||
|
//config.setPeerClassLoadingEnabled(true);
|
||||||
|
// Defining and creating a new cache to be used by Ignite Spring Data
|
||||||
|
// repository.
|
||||||
|
CacheConfiguration cache = new CacheConfiguration("baeldungCache");
|
||||||
|
// Setting SQL schema for the cache.
|
||||||
|
cache.setIndexedTypes(Integer.class, EmployeeDTO.class);
|
||||||
|
config.setCacheConfiguration(cache);
|
||||||
|
return Ignition.start(config);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,48 @@
|
||||||
|
package com.baeldung.ignite.spring.dto;
|
||||||
|
|
||||||
|
import org.apache.ignite.cache.query.annotations.QuerySqlField;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
public class EmployeeDTO implements Serializable {
|
||||||
|
|
||||||
|
@QuerySqlField(index = true)
|
||||||
|
private Integer id;
|
||||||
|
@QuerySqlField(index = true)
|
||||||
|
private String name;
|
||||||
|
@QuerySqlField(index = true)
|
||||||
|
private boolean isEmployed;
|
||||||
|
|
||||||
|
public Integer getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Integer id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isEmployed() {
|
||||||
|
return isEmployed;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEmployed(boolean employed) {
|
||||||
|
isEmployed = employed;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "EmployeeDTO{" +
|
||||||
|
"id=" + id +
|
||||||
|
", name='" + name + '\'' +
|
||||||
|
", isEmployed=" + isEmployed +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
package com.baeldung.ignite.spring.repository;
|
||||||
|
|
||||||
|
import com.baeldung.ignite.spring.dto.EmployeeDTO;
|
||||||
|
import org.apache.ignite.springdata.repository.IgniteRepository;
|
||||||
|
import org.apache.ignite.springdata.repository.config.RepositoryConfig;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
@Repository
|
||||||
|
@RepositoryConfig(cacheName = "baeldungCache")
|
||||||
|
public interface EmployeeRepository extends IgniteRepository<EmployeeDTO, Integer> {
|
||||||
|
|
||||||
|
EmployeeDTO getEmployeeDTOById(Integer id);
|
||||||
|
}
|
Loading…
Reference in New Issue