如何在 Apache Igite 中同时使用 from Config.xml 和 C#/.Net 配置?
How to use from Config.xml and C#/.Net config as same time in Apache Igite?
我想在 Apache Ignite 中配置“Ignite Persistence”和“Ignite Connecting To Server”。
我使用 ignite 作为 docker 图像和 asp.net 核心应用程序。
如果我将 ignite 与 config.xml 一起使用,它不允许使用 ignite 客户端进行 linq 查询,我必须使用 sql 查询,这不是我想要的。
如果我将 ignite 与 C#/.Net 配置一起使用,那么它不允许在 ignite 实例创建中使用许多配置,或者我可能不知道该怎么做。
例如:
这是“Ignite Persistence”的配置:
var cfg = new IgniteConfiguration
{
DataStorageConfiguration = new DataStorageConfiguration
{
StoragePath = "/ssd/storage",
DefaultDataRegionConfiguration = new DataRegionConfiguration
{
Name = "Default_Region",
PersistenceEnabled = true
}
}
};
var ignite = Ignition.Start(cfg);
这是为了连接到 ignite 服务器:
var cfg = new IgniteClientConfiguration
{
Endpoints = new[] { "172.**.**.**:10800" },
SocketTimeout = TimeSpan.FromSeconds(60)
};
var cfg = Ignition.StartClient(conf);
如您所见,每个 Ignition.Start()
或 'Ignition.StartClinet()
' 都获得不同的输入类型(“IgniteConfiguration”和“IgniteClientConfiguration”)用于实例创建 ignite
变量和我的问题是如何将这个多重配置作为一个输入加入以将它们传递给 Ignition.Start()
方法?
此配置可以在 config.xml 中设置。
我需要为此实例设置两个配置(asp.net core ignite 配置和 config.xml),但它不允许。
我的问题是如何做到这一点或如何同时使用来自 config.xml 和 C#/.Net 的配置?
- 您可以通过设置
IgniteConfiguration.SpringConfigUrl
将 Spring XML 与 .NET/C# 配置相结合
var cfg = new IgniteConfiguration
{
// XML is always loaded first, then .NET config is applied on top.
SpringConfigUrl = "/foo/bar/ignite-config.xml",
DataStorageConfiguration = new DataStorageConfiguration
{
StoragePath = "/ssd/storage",
DefaultDataRegionConfiguration = new DataRegionConfiguration
{
Name = "Default_Region",
PersistenceEnabled = true
}
}
};
var ignite = Ignition.Start(cfg);
有关详细信息,请参阅 https://ignite.apache.org/docs/latest/net-specific/net-configuration-options#configure-with-spring-xml。
IgniteConfiguration
用于服务器节点和胖客户端(full-blown 进入集群的 Ignite 节点)。 IgniteClientConfiguration
适用于瘦客户端(轻量级连接器)。这就是配置 类 非常不同的原因。以任何方式“加入”他们都没有意义。
我想在 Apache Ignite 中配置“Ignite Persistence”和“Ignite Connecting To Server”。
我使用 ignite 作为 docker 图像和 asp.net 核心应用程序。
如果我将 ignite 与 config.xml 一起使用,它不允许使用 ignite 客户端进行 linq 查询,我必须使用 sql 查询,这不是我想要的。
如果我将 ignite 与 C#/.Net 配置一起使用,那么它不允许在 ignite 实例创建中使用许多配置,或者我可能不知道该怎么做。
例如:
这是“Ignite Persistence”的配置:
var cfg = new IgniteConfiguration
{
DataStorageConfiguration = new DataStorageConfiguration
{
StoragePath = "/ssd/storage",
DefaultDataRegionConfiguration = new DataRegionConfiguration
{
Name = "Default_Region",
PersistenceEnabled = true
}
}
};
var ignite = Ignition.Start(cfg);
这是为了连接到 ignite 服务器:
var cfg = new IgniteClientConfiguration
{
Endpoints = new[] { "172.**.**.**:10800" },
SocketTimeout = TimeSpan.FromSeconds(60)
};
var cfg = Ignition.StartClient(conf);
如您所见,每个 Ignition.Start()
或 'Ignition.StartClinet()
' 都获得不同的输入类型(“IgniteConfiguration”和“IgniteClientConfiguration”)用于实例创建 ignite
变量和我的问题是如何将这个多重配置作为一个输入加入以将它们传递给 Ignition.Start()
方法?
此配置可以在 config.xml 中设置。
我需要为此实例设置两个配置(asp.net core ignite 配置和 config.xml),但它不允许。 我的问题是如何做到这一点或如何同时使用来自 config.xml 和 C#/.Net 的配置?
- 您可以通过设置
IgniteConfiguration.SpringConfigUrl
将 Spring XML 与 .NET/C# 配置相结合
var cfg = new IgniteConfiguration
{
// XML is always loaded first, then .NET config is applied on top.
SpringConfigUrl = "/foo/bar/ignite-config.xml",
DataStorageConfiguration = new DataStorageConfiguration
{
StoragePath = "/ssd/storage",
DefaultDataRegionConfiguration = new DataRegionConfiguration
{
Name = "Default_Region",
PersistenceEnabled = true
}
}
};
var ignite = Ignition.Start(cfg);
有关详细信息,请参阅 https://ignite.apache.org/docs/latest/net-specific/net-configuration-options#configure-with-spring-xml。
IgniteConfiguration
用于服务器节点和胖客户端(full-blown 进入集群的 Ignite 节点)。IgniteClientConfiguration
适用于瘦客户端(轻量级连接器)。这就是配置 类 非常不同的原因。以任何方式“加入”他们都没有意义。