Apache Ignite变得简单:第一个Java应用程序

在本文中,我们将更进一步,让您完成第一个Ignite应用程序的创建,以从分布式缓存中进行读写操作。 作为第一个示例,我们将尽可能简单地向您展示如何用Java编写用于处理Apache Ignite集群数据的应用程序。

可从GitHub存储库(第二章)中获得本节中显示的应用程序。 您可以从GitHub克隆或下载项目,使用Maven编译应用程序并在工作站中运行它。 但是,如果您想手动输入程序,则可以随意输入。 在这种情况下,您必须使用文本编辑器而不是文字处理器将程序输入到计算机中。

您遵循以下三个步骤:

1.启动您的Ignite节点。
2.创建一个mvn项目或输入程序。
3.编译程序。 4.运行程序。 步骤1 。 如果尚未启动Apache Ignite单节点集群,请启动它。 在您喜欢的终端中使用以下命令。

$ IGNITE_HOME/bin/ignite.sh

第二步
使用以下命令创建一个maven项目。 如果从GitHub下载项目,请跳过此步骤。

mvn archetype:generate -DartifactId=chapter-two -DgroupId=com.blu.imdg -DarchetypeArtifac\ tId=maven-archetype-quickstart -DinteractiveMode=false

上面的命令将创建一个目录,该目录具有与artifactId相同的名称。 切换到第二章目录。 在此目录下,您将找到以下标准项目结构。

点燃应用

src / main / java目录包含项目源代码,src / test / java目录包含测试源,而pom.xml是项目的项目对象模型或POM。 pom.xml文件是Maven中项目配置的核心。 它是一个配置文件,其中包含编译和运行Java程序的所有必需信息。 pom.file可能很复杂,但是没有必要了解所有复杂性才能有效地使用它。

第三步
将以下Ignite Maven依赖项添加到pom.xml文件中。

<dependency> 
<groupId>org.apache.ignite</groupId> 
<artifactId>ignite-core</artifactId> 
<version>${ignite.version}</version> 
</dependency>

另外,将项目属性部分添加到pom.xml文件中,如下所示。

<properties> 
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
<ignite.version>2.4.0</ignite.version>
</properties>

您可以使用Maven从命令行运行该应用程序。 另外,您可以构建一个包含所有必需的依赖项,类和资源的单个可执行JAR文件,然后运行该应用程序。 这使得在整个开发生命周期中,跨不同环境等等的情况下,可以轻松地将服务作为应用程序进行发布,版本控制和部署。 在pom.xml的plugin部分中再添加两个插件,以创建一个
胖的可执行jar,用于有效运行应用程序。

<build> <plugins> 
<plugin>
<groupId>com.jolira</groupId> <artifactId>onejar-maven-plugin</artifactId> <version>1.4.4</version>
<executions> 
<execution> <id>build-query</id> <configuration> 
<mainClass>com.blu.imdg.HelloIgnite</mainClass> <attachToBuild>true</attachToBuild> <classifier>onejar</classifier> <filename>HelloIgnite-runnable.jar</filename> 
</configuration> <goals> 
<goal>one-jar</goal> </goals> 
</execution> </executions> 
</plugin> </plugins>
</build>

第四步。
在src / main / java / com / blu / imdg目录中,您可以添加所需的任何Java类。

为了与本指南的其余部分保持一致,请创建以下Java类:这些目录中的HelloIgnite。

package com.blu.imdg;
public class HelloIgnite { }

步骤5
在package语句之后添加以下所有库。

import org.apache.ignite.Ignite;
import org.apache.ignite.IgniteCache;
import org.apache.ignite.Ignition;
import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
import org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder

步骤6
现在您已经有了一个Java类,将以下代码行复制到该类中。

public static void main(String[] args) {
System.out.println("Hello Ignite");
// create a new instance of TCP Discovery SPI
TcpDiscoverySpi spi = new TcpDiscoverySpi();
// create a new instance of tcp discovery multicast ip finder TcpDiscoveryMulticastIpFinder tcMp = new TcpDiscoveryMulticastIpFinder(); tcMp.setAddresses(Arrays.asList("localhost")); // change your IP address here // set the multi cast ip finder for spi
spi.setIpFinder(tcMp);
// create new ignite configuration
IgniteConfiguration cfg = new IgniteConfiguration(); cfg.setClientMode(true);
// set the discovery spi to ignite configuration 
cfg.setDiscoverySpi(spi);
// Start ignite
Ignite ignite = Ignition.start(cfg);
// get or create cache
IgniteCache < Integer, String > cache = ignite.getOrCreateCache("HelloWorld"); // put some cache elements
for (int i = 1; i <= 100; i++) { 
cache.put(i, Integer.toString(i)); } 
// get them from the cache and write to the console 
for (int i = 1; i <= 100; i++) { System.out.println("Cache get:" + cache.get(i)); 
} 
// close ignite instance
ignite.close(); 
}

对Java有一定编程经验的人都应该熟悉该程序。 让我们仔细检查程序的每个部分。 它具有main()方法,程序将在该方法处开始执行。 所有Java程序都通过调用main()方法开始执行。 main()方法中的代码的下一行输出字符串Hello Ignite。 接下来,我们创建了一个TCP Discovery SPI实例,并在其上设置了多播IP查找程序实例。

稍后,我们为SPI设置了多播IP查找程序。 当TCP发现开始时,此查找器将发送多播请求,并在其他节点用包含其地址的消息答复此请求时等待一段时间。 然后,我们创建了一个Ignite配置实例,并将发现SPI设置为该配置。

启动Ignite实例后,它与现有的Ignite群集一起作为客户端加入。 接下来,我们创建了一个名称为“ HelloWorld”的缓存,并将100个条目放入其中。 在for-each循环中,我们从缓存中读取了这100个条目并在控制台上打印。 最后,我们停止了Ignite客户端实例。

现在,您已经可以使用Maven构建一个项目,下一步就是构建和运行该应用程序。

步骤7
要尝试构建,请在命令行中发出以下命令。

$ mvn clean install

这将运行Maven,告诉它执行安装目标。 此目标将编译,测试和打包您的项目代码,然后将其复制到本地依赖项存储库中。 第一次构建过程需要几分钟才能完成,成功编译后,将在目标目录中创建一个可执行jar。

步骤8
通过键入以下命令来运行应用程序。

$ java -jar .\target\HelloIgnite-runnable.jar

您应该在终端中看到很多日志。 首先,将创建一个新的Ignite客户端实例,它将连接到群集中的随机节点(在我们的示例中,只有一个单节点)。 在Ignite服务器节点控制台中,您应该看到如下所示的日志:

点燃应用

图1

另一方面,Apache Ignite客户端节点控制台按1到100打印缓存条目。

点燃应用

图2

让我们使用Ignite visor管理员控制台检查缓存条目。 Apache Ignite visor命令行工具为Ignite群集提供监视和管理功能。 使用以下命令对遮阳板工具进行午餐。

$ IGNITE_HOME/bin/ignitevisorcmd.sh

向visor命令工具发出以下命令。

cache -a

它将返回您的缓存“ HelloWorld”的缓存统计信息的详细信息,如下图所示。

点燃应用

图3

您会注意到总缓存大小为100,而Offheap大小也为100。从版本2.0.1开始,默认情况下,Apache Ignite将缓存条目存储到Offheap内存中。 在后面的章节中,我们将详细介绍Offheap内存以及Onheap和Offheap内存之间的区别。 还要注意,为了使示例尽可能简单,我们在此程序中未使用任何与弹簧相关的配置。

翻译自: https://www.javacodegeeks.com/2018/10/apache-ignite-easy-java-application.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/346164.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华测数据导出方法_输电线路塔基测量成图方法研究与应用

1.前言塔基测量成图软件是EATool第一个电力勘测模块&#xff0c;也是笔者个人刚参加工作时开发的第一个与工作直接相关的软件。该模块开发开始于2010年&#xff0c;于2012基本成型。记得第一次参加线路工程终勘定位&#xff0c;对于老员工的塔基断面测量模式有着诸多疑惑&#…

MQ在计算机组成,[转载]计算机组成框图-计算机运行流程(例子)

计算机组成框图-计算机运行流程ACC(Accumulator)&#xff1a; 累加器MQ(Multiplier-Quotient Register)&#xff1a;乘商寄存器ALU&#xff1a;算术逻辑单元X&#xff1a;操作数寄存器CU&#xff1a;控制单元IR(Instruction Register)&#xff1a;指令寄存器(用于存放当前指令)…

计算机硬盘怎么设置ntfs,Windows7系统如何把磁盘格式转换为NTFS的方法

今天朋友匆匆忙忙来找我&#xff1a;他的电脑因为某种情况&#xff0c;需要吧磁盘转换成ntfs格式&#xff0c;该怎么转换?Win7系统、利用系统自带工具转换1.我们打开我们的电脑磁盘&#xff0c;大家发现小编的电脑G盘是FAT32格式的&#xff0c;小编现在要把G盘转换为NTFS格式。…

ace unlck工具下载_压缩工具:WinRAR 曝出代码执行漏洞,该升级了

作为享誉全球的装机必备工具&#xff0c;「压缩软件」这四个字基本可以认为是 WinRAR 的专有名字了。只要有 PC 的地方&#xff0c;几乎都能看到 WinRAR 的身影。不过这款软件最近却被曝出了一个有19年历史的代码执行漏洞。WinRAR 宣称在全球拥有超过5亿的用户&#xff0c;目前…

关于计算机航天生物的想像作文,未来的航天器想象作文750字

未来的航天器想象作文750字到了2999年&#xff0c;人类发明出了一种新型的航天器。这种航天器机身类似我们现在的轿车&#xff0c;机身长10米&#xff0c;高度最高达4&#xff0c;最低达0.5米&#xff0c;材料是来自外星的软体金属&#xff0c;上面有一条会发光的物体&#xff…

哈罗单车怎么关锁还车_记者体验临沂共享单车定点还车 停错地方关不上锁

共享单车在给市民出行带来便利的同时&#xff0c;也引发了停放秩序混乱、妨碍市民通行等问题&#xff0c;为规范共享单车停放&#xff0c;兰山区在临沂市率先试点共享单车定点停放&#xff0c;并在特定区域施划共享单车定点停放区。据悉&#xff0c;临沂市兰山区第一批272个共享…

工业机器人 答案 韩建海_中国将连续8年成为工业机器人第一大市场,还将持续多久?...

2020年&#xff0c;中国工业机器人销售量&#xff0c;将会由负转正&#xff0c;销量预计再次突破15万台。2019年&#xff0c;约为14.4万台的销量。2013年——2020年中国工业机器人销量这已经是第八个年头&#xff0c;中国位居全球工业机器人销量第一大市场。工业机器人打磨工作…

java命令行参数工具_Java方法中的参数太多,第8部分:工具

java命令行参数工具在我的系列文章的前七篇文章中&#xff0c;有关处理Java方法中期望的参数过多的内容集中在减少方法或构造函数期望的参数数量的替代方法上。 在本系列的第八篇文章中&#xff0c;我将介绍一些工具&#xff0c;这些工具可帮助您确定可能存在过多参数的情况&am…

工具 每分钟_black: 一个不妥协的Python代码格式化工具

代码可读性是评判代码质量的标准之一&#xff0c;有一个衡量代码质量的标准是 Martin 提出的 “WFT” 定律&#xff0c;即每分钟爆出 “WTF” 的次数。你在读别人代码或者做 Code Review 的时候有没有 “WTF” 冲动呢&#xff1f;为了帮助开发者统一代码风格&#xff0c;Python…

使用Spring Rest和Spring Data JPA和H2以及Spring Boot示例的Restful API

你好朋友&#xff0c; 在本教程中&#xff0c;您将学习以下内容&#xff1a; 1.在Spring Boot中配置Spring Rest&#xff0c;Spring Data JPA和H2 2.使用Spring Boot创建Springful服务端点的Spring Rest&#xff0c;Spring Data JPA和H2的示例 3.使用Swagger测试Restful端点…

计算机IP地址pin,打印机的ip地址在机身上哪里,打印机的pin在哪看

打印机的ip地址在机身上哪里&#xff0c;打印机的pin在哪看时间&#xff1a;2021-04-19 10:38:04打印机是我们日常工作中必备的公办用品&#xff0c;但是对于刚接触打印机的电脑小白来说&#xff0c;打印机的网络设置可不简单&#xff0c;比如IP地址、pin码&#xff0c;他们可能…

开机启动失败_电脑常见开机引导错误的解决方法

电脑在开机启动过程中&#xff0c;经常会出现开机失败的故障&#xff0c;开机失败比较常出现在开机引导项错误的问题上&#xff0c;比如引导文件没了&#xff0c;硬盘有问题等等&#xff0c;有些小问题重启几遍可以解决&#xff0c;有些问题就只能修复。这边小编跟大家整理分享…

2020非全日计算机博士,在职攻读博士是不是非常难,免考在职博士和非全日博士有什么不同...

博士的含金量我们自然不容忽视&#xff0c;但博士又不是说三天打鱼两天晒网就可搞定的&#xff0c;都是要经过长久的沉淀以及耐心才能坚持下来的&#xff0c;博士少说也要读个四到五年方可毕业&#xff0c;但也有个别优秀的三年内就完成学业待着自己的成功找到了丰厚的薪资待遇…

创建二级索引_Mysql创建索引

零:文章概要这篇文章&#xff0c;主要是和大家一起去了解 索引&#xff0c;然后一起使用CREATE INDEX语法给数据库中的表创建一个索引。一&#xff1a;先拿电话薄做个类比假如&#xff0c;一个电话薄里面包含了一个城市的所有人的姓名和电话号码。那么&#xff0c;想找到Bob Ca…

转hdmi_苹果本轻松接大屏,毕亚兹雷电接口转HDMI/VGA转换器评测

作为上班族&#xff0c;日常开会加出差&#xff0c;经常需要用到笔记本连接投影仪投屏。很多小伙伴为了高效办公&#xff0c;使用的都是性能强劲但是设计轻薄的笔记本产品&#xff0c;最常见的就是苹果笔记本。但是比较尴尬的是&#xff0c;目前可以使用的绝大部分苹果笔记本电…

使用Java流查询数据库

在本文中&#xff0c;您将学习如何编写纯Java应用程序&#xff0c;这些应用程序能够处理现有数据库中的数据&#xff0c;而无需编写单行SQL&#xff08;或类似的语言&#xff0c;例如HQL&#xff09;&#xff0c;也无需花费数小时将所有内容放在一起。 准备好应用程序之后&…

2017计算机信息技术,2017年一级计算机信息技术及应用考试试题级答案[权威资料]...

2017年一级计算机信息技术及应用考试试题级答案 本文档格式为WORD,感谢你的阅读。最新最全的 学术论文 期刊文献 年终总结 年终报告 工作总结 个人总结 述职报告 实习报告 单位总结 演讲稿2017年一级计算机信息技术及应用考试试题级答案一、基础知识题(共45分&#xff0c;每题1…

恐鬼症不显示服务器区域,恐鬼症 steam版【简体中文】【4.34GB】

游戏介绍《恐鬼症(Phasmophobia)》是一款玩法十分精彩的冒险解谜类游戏&#xff0c;这款游戏支持4人联机对战&#xff0c;共同寻找隐藏的秘密&#xff0c;游戏的过程比较惊悚&#xff0c;需要玩家拥有强大的心里承受能力&#xff0c;气氛和渲染都十分的优质&#xff0c;游戏由K…

ajax默认什么方法,ajax设置默认值ajaxSetup()方法

$(function(){//设置全局 jQuery Ajax全局参数$.ajaxSetup({type:"POST",async:false,cache:false,dataType:"JSON",error:function(jqXHR,textStatus,errorThrown){switch(jqXHR.status){case(500):alert(服务器系统内部错误);break;case(401):alert(未登…

android实现评论列表_【Android视图效果】分组列表实现吸顶效果

效果图效果图分析先来分析一下&#xff0c;可以看到这是一个按月份分组的2行图片列表&#xff0c;列表顶部一个悬浮栏&#xff0c;会随着列表滑动而刷新&#xff0c;点击顶部栏&#xff0c;弹出了一个筛选框。思路1.列表部分可以用RecyclerViewGridLayoutManager&#xff0c;月…