猿问

如何使用远程 Maven 存储库

我正在尝试为 Apache Ignite 配置持久存储,以便我的 IgniteCache 实例不会在应用程序重启时丢失数据。我的设置是从我的代码开始的本地单节点集群,如下所示:


IgniteConfiguration cfg = new IgniteConfiguration();

cfg.setWorkDirectory("C:\\ignite");


// Ignite persistence configuration.

DataStorageConfiguration storageCfg = new DataStorageConfiguration();

storageCfg.setStoragePath("ignitedb/storage");

storageCfg.setWalPath("ignitedb/wal");

storageCfg.setWalArchivePath("ignitedb/wal/archive");


// Enabling the persistence.


storageCfg.getDefaultDataRegionConfiguration().setPersistenceEnabled(true);


// Applying settings.

cfg.setDataStorageConfiguration(storageCfg);


Ignite ignite = Ignition.getOrStart(cfg);

ignite.active(true);

// Get all server nodes that are already up and running.

Collection<ClusterNode> nodes = ignite.cluster().forServers().nodes();

// Set the baseline topology that is represented by these nodes.

ignite.cluster().setBaselineTopology(nodes);

return ignite;

缓存是这样创建的:


cacheConfiguration = new CacheConfiguration<>();

cacheConfiguration.setBackups(1);

cacheConfiguration.setAtomicityMode(CacheAtomicityMode.ATOMIC);

cacheConfiguration.setName("UserCache");

cacheConfiguration.setCacheMode(CacheMode.LOCAL);

cacheConfiguration.setReadFromBackup(true);

cacheConfiguration.setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC);

cacheConfiguration.setIndexedTypes(String.class, User.class);

IgniteCache<String, User> cache = ignite.getOrCreateCache(cacheConfiguration);

User在缓存中存储对象有效。Ignite 在C:\ignite. 但是在应用程序重新启动时,所有数据都会丢失。我该如何正确配置?


杨__羊羊
浏览 198回答 3
3回答

慕桂英4014372

通常您应该在 Maven&nbsp;Central Repository 中检查您需要的所有依赖项。您将能够在那里找到大多数“免费”依赖项。只有少数情况下您将无法在那里找到您需要的内容。在确定您需要的依赖项和您需要的版本后,您将在左侧看到如下所示的内容:那里的信息可以很容易地复制粘贴到您的项目中。此外,强烈建议通过定义变量对所有相关并一起发布的依赖项使用相同的版本。你定义一个这样的变量:<properties>&nbsp; &nbsp; <spring.version>5.0.7.RELEASE</spring.version> --> the version from maven central</properties>然后你可以像这样包含依赖:<dependency>&nbsp; &nbsp; <groupId>org.springframework</groupId>&nbsp; &nbsp; <artifactId>spring-beans</artifactId>&nbsp; &nbsp; <version>${spring.version}</version></dependency>而如果你有多个pom.xml文件,并且存在父->子关系,则不需要在子文件中包含依赖版本,因为它会自动继承父的版本。你将能够做这样的事情:<dependency>&nbsp; &nbsp; <groupId>org.springframework</groupId>&nbsp; &nbsp; <artifactId>spring-beans</artifactId></dependency>特别是对于 Spring,如果您需要多个依赖项,我建议您查看 spring-boot。您可以在此处找到有关 spring-boot 的更多信息。此外,当您使用 spring-boot 时,通常不需要手动处理依赖项的版本。来自链接的引用:Spring Boot 可以轻松创建独立的、生产级的基于 Spring 的应用程序,您可以“直接运行”这些应用程序。我们对 Spring 平台和第三方库采取了固执的观点,因此您可以轻松上手。大多数 Spring Boot 应用程序只需要很少的 Spring 配置。总而言之,您不需要添加另一个存储库groupId,您的依赖项应如下所示:<groupId>org.springframework</groupId>,一切都会正常进行。

繁华开满天机

<dependency>&nbsp; &nbsp; <groupId>org.springframework</groupId>&nbsp; &nbsp; <artifactId>spring-beans</artifactId>&nbsp; &nbsp; <version>5.0.0.RELEASE</version></dependency>删除组 id 上的 spring-beans

MMTTMM

删除groupId中的.spring-beans。只需改变你<groupId>org.springframework.spring-beans</groupId>的<groupId>org.springframework</groupId>
随时随地看视频慕课网APP

相关分类

Java
我要回答