Recently, there is a new requirement to use Apache Ignite. I would like to ask whether Apache Ignite can perform CRUD operations through Spring Data like MySQL. My current thinking is this:
- Connect Apache ignite through dbherver database tool to create dimension table and fact table.
- Integrate Spring Data in SpringBoot, and create the entity and model corresponding to the table.
- SpringData connects to Apache ignite and provides Restful API through Repository API. In practice, I don't know what kind of configuration class SpringData should create:
(1) Ignite node connection configuration
(2) Ignite thin client connection configuration
Various errors occurred during the debugging of the configuration class. I wonder if there is a problem with my version selection. The following is my version:
SpringBoot-----2.7.5
ignite-verson-----2.15.0
ignite-spring-data-ext ---2.0.0
Apache Ignite cluster (node1:47500,node2:47500,node3:47500,node4:47500,node5:47500)
Seek seniors to give advice! please Below is my pom:
<!-- Apache Ignite -->
<dependency>
<groupId>org.apache.ignite</groupId>
<artifactId>ignite-core</artifactId>
<version>${ignite.version}</version>
</dependency>
<dependency>
<groupId>org.apache.ignite</groupId>
<artifactId>ignite-indexing</artifactId>
<version>${ignite.version}</version>
</dependency>
<dependency>
<groupId>org.apache.ignite</groupId>
<artifactId>ignite-spring-boot-autoconfigure-ext</artifactId>
<version>${ignite-autoconfigure.version}</version>
</dependency>
<dependency>
<groupId>org.apache.ignite</groupId>
<artifactId>ignite-spring-data-ext</artifactId>
<version>${ignite-spring-data.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-commons</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>${h2.version}</version>
</dependency>
Below is my configuration class:
@Configuration
@EnableIgniteRepositories
public class IgniteConfig {
@Bean
public Ignite igniteInstance() {
IgniteConfiguration cfg = new IgniteConfiguration();
cfg.setClientMode(true);
TcpDiscoverySpi spi = new TcpDiscoverySpi();
TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();
ipFinder.setAddresses(Collections.singletonList("node1:47500"));
spi.setIpFinder(ipFinder);
cfg.setDiscoverySpi(spi);
return Ignition.start(cfg);
}
}
Got stuck here once:
2023-06-13 22:07:07.654 INFO 37540 --- [ main] o.a.i.i.p.cluster.ClusterProcessor : Cluster ID and tag has been read from metastorage: null
2023-06-13 22:07:07.659 INFO 37540 --- [ main] o.a.i.i.cluster.IgniteClusterImpl : Shutdown policy was updated [oldVal=null, newVal=null]
2023-06-13 22:07:07.662 INFO 37540 --- [ main] .a.i.i.p.q.s.IgniteStatisticsManagerImpl : Statistics usage state was changed from null to null