Hello! 欢迎来到小浪资源网!


Java 外部语言网关


如果您喜欢 Java 并且拥有一个蓬勃发展的 java 生态系统,并且需要将 iris 纳入其中,那么这不是问题。 java 外部语言网关几乎可以无缝地完成它。该网关充当 iris 中 java 和对象脚本之间的桥梁。您可以在 iris 中创建 java 类的对象并调用它们的方法。您只需要一个 jar 文件即可完成此操作。

Java 外部语言网关

您需要做的第一件事是设置环境。 要开始使用 java 网关,请确保您具备以下条件:

  1. intersystems iris:已安装并正在运行。
  2. java 开发工具包 (jdk): 已安装并配置。

第二个要求可能听起来很简单,因为您已经在工作中使用 java,但事实并非如此。由于这个问题,原来你最多需要使用jdk版本11。这意味着你需要更改 ide 中的版本,这可能会带来相当大的麻烦。

下一步,我们可以检查一切是否正常,并尝试实例化 java 系统类的对象。为此,您必须启动连接、创建代理对象并调用方法。听起来有很多代码,但实际上只有一条语句:

write $system.external.getjavagateway().new("java.util.date").tostring()

这将在屏幕上打印当前日期和时间。

为了更进一步,我们可以创建自己的 java 类:

 public <span>class dish </span>{     private string name;     private string description;     private string category;     private float price;     private string currency;     private integer calories;          <span>public void setname(string name) </span>{         this.name = name;     }      <span>public void setdescription(string description) </span>{         this.description = description;     }      <span>public void setcategory(string category) </span>{         this.category = category;     }      <span>public void setprice(float price) </span>{         this.price = price;     }      <span>public void setcurrency(string currency) </span>{         this.currency = currency;     }      <span>public void setcalories(integer calories) </span>{         this.calories = calories;     }          <span>public string describe() </span>{         return "the dish "+this.name+" costs "+this.price.tostring()+                 this.currency+" and contains "+this.calories+" calories!";     } } 

并从对象脚本调用它的方法:

 set javaGate = $SYSTEM.external.getJavaGateway()  do javaGate.addToPath("D:TempGatewayTest.jar")  set dish = javaGate.new("Dish")  do dish.setCalories(1000)  do dish.setCategory("salad")  do dish.setCurrency("GBP")  do dish.setDescription("Very tasty greek salad")  do dish.setName("Greek salad")  do dish.setPrice(15.2)  write dish.describe()

结果我们将得到一个字符串,其中包含所创建菜肴的描述:

这道菜希腊沙拉售价15.2英镑,含有1000卡路里!

非常整洁,你不觉得吗?

无论如何,请从文档中了解有关使用网关的更多信息,祝您在项目中应用这些知识好运!

相关阅读