当前位置: 首页 > 知识库问答 >
问题:

以下哪部分代码将在服务器端运行

金珂
2023-03-14

我正在用下面的代码将数据从mysql加载到Ignite缓存中。代码以客户端模式Ignite运行,并将数据加载到Ignite集群中。

>

  • 代码的哪些部分将在服务器端运行?

    将数据加载到缓存中的工作机制看起来像map-reduce,那么,哪些任务被发送到服务器?SQL?

    我想特别问一下:下面的代码是在客户端运行还是在服务器SDIE运行?

    下面是将数据加载到缓存中的完整代码

    public class LoadStudentIntoCache {
    
    
        public static void main(String[] args) {
            Ignition.setClientMode(false);
            String configPath = "default-config.xml";
            Ignite ignite = Ignition.start(configPath);
            CacheJdbcPojoStoreFactory storeFactory = new CacheJdbcPojoStoreFactory<Integer, Student>();
            storeFactory.setDialect(new MySQLDialect());
            IDataSourceFactory factory = new MySqlDataSourceFactory();
    
            storeFactory.setDataSourceFactory(new Factory<DataSource>() {
                public DataSource create() {
                    try {
                        DataSource dataSource = factory.createDataSource();
                        return dataSource;
                    } catch (Exception e) {
                        return null;
                    }
                }
            });
            //
            CacheConfiguration<Integer, Student> cfg = StudentCacheConfig.cache("StudentCache", storeFactory);
            IgniteCache<Integer, Student> cache = ignite.getOrCreateCache(cfg);
    
            List<String> sqls = new ArrayList<String>();
            sqls.add("java.lang.Integer");
            sqls.add("select id, name, birthday  from db1.student where id < 1000" );
            sqls.add("java.lang.Integer");
            sqls.add("select id, name, birthday  from db1.student where id >= 1000 and id < 1000" );
            cache.loadCache(null, , sqls.toArray(new String[0]));
    
            Student s = cache.get(1);
            System.out.println(s.getName() + "," + s.getBirthday());
            ignite.close();
        }
    }
    
  • 共有1个答案

    萧宣
    2023-03-14

    这里显示的代码将在应用程序中执行,不会发生神奇的事情。通常它是一个客户端节点,但是在您的示例中,它是在服务器模式下启动的(可能是错误的):ignition.setClientMode(false)

    数据加载过程将发生在每个服务器节点上。即。每个服务器节点将执行为从DB加载数据而提供的SQL查询。

     类似资料:
    • 问题内容: 我正在尝试针对我的代码库创建自定义静态分析规则,以便如果开发人员未遵循我公司的编码约定,则会生成编译器错误。在Visual Studio 2015中,罗斯林代码分析器似乎是实现此目标的方法。 我读过的MSDN文章指出代码分析器已打包为NuGet或VSIX软件包。这对于在Visual Studio中添加红色花体非常有用,但是我想确保在我的Jenkins构建服务器上也生成了编译器错误。 R

    • 问题内容: 我是詹金斯的新手。我有一个要求,我需要在主节点上运行一部分工作,而其余的要在从属节点上运行。 我尝试在论坛上进行搜索,但找不到与此相关的任何内容。是否有可能做到这一点? 如果没有,我将把它分成两个单独的工作。 编辑 基本上,我的工作是从svn中签出源代码,然后编译并构建jar文件。之后,它将为此应用程序构建一个明智的安装程序。我想在master(Linux)上进行源代码签出和编译,并将

    • 我无法在VS代码上运行Tomcat服务器。 错误信息如下 但是,我的tomcat文件夹放在D驱动器上,与源代码文件夹相同。我不知道它为什么要搜索“C:\Program”文件夹。如果你能帮忙,我真的很感激。非常感谢。 jdk1.8 Windows10 VS code1.47.2 Tomcat9.0.37 在此处输入图像描述

    • 本文向大家介绍C#实现的Socket服务器端、客户端代码分享,包括了C#实现的Socket服务器端、客户端代码分享的使用技巧和注意事项,需要的朋友参考一下 服务端: 客户端:

    • 我正在尝试在LinuxWeb服务器上使用PHP运行PhantomJS。这最终将作为cron作业运行,但现在我通过一个PHP脚本运行它,我正在通过FTP上传到服务器。 PHP脚本: (请注意,出于隐私考虑,我已将上面路径中的帐户名更改为“accountname”,但这在我的真实脚本中是正确的,并且是从大量其他PHP脚本复制的,这些脚本都可以完美地工作。) myscript.js内容: 结果是: 我在

    • 我正在尝试从FireBase获取所有用户的名称,该名称包含给定的字符串。例如,如果我有这些用户: 我希望所有用户的名称都包含'D',因此我希望得到这样的结果: 这是我的Firebase目前的结构: 2)现在我不想有服务器端代码,什么是实现自定义索引的好的和有效的方法? 谢谢