gpt4 book ai didi

java - 在 Coldfusion 上使用 Java SDK 库

转载 作者:行者123 更新时间:2023-11-30 09:01:32 27 4
gpt4 key购买 nike

我正在尝试使用 Prediction.io 提供的 Java SDK,但遇到了一些问题。基本上,要使用 Java SDK,Java 代码如下。

import com.google.common.collect.ImmutableMap;
import io.prediction.EventClient;
import org.joda.time.DateTime;

EventClient eventClient = new EventClient(1);
eventClient.setUser("id_1", ImmutableMap.<String, Object>of(), new DateTime("2004-12-13T21:39:45.618-07:00"));

我所做的是:

1) 编译Java SDK并将生成的jar文件和依赖复制到/opt/railo/lib/

2) 使用以下代码设法获取 EventClient 类的转储:

<cfset MyTest = CreateObject("java", "io.prediction.EventClient")>
<cfdump var="#MyTest#">

在那之后我几乎迷路了。尽管我已经习惯了 Coldfusion,但我是一个彻头彻尾的 Java 新手。如何将上面的 Java 代码使用/复制到 Coldfusion 中?

最佳答案

完全未经测试,但应该这样做:

首先创建对象:

<cfset MyTest = CreateObject("java", "io.prediction.EventClient").init(1)>

这等同于 EventClient eventClient = new io.prediction.EventClient(1);。您需要使用 init() 方法来创建使用 CreateObject() 加载的类的实例,方法是使用参数 1 调用其构造函数。

创建一个空的ImmutableMap:

<cfset imClass = CreateObject("java", "com.google.common.collect.ImmutableMap")>
<cfset imObj = imClass.of()>

上面,你正在调用 ImmutableMap 类的静态方法 of(),所以你不需要在类上使用 init .如果您愿意,也可以将这两行合并为一行。

现在创建 Joda DateTime 对象:

<cfset jtObj = CreateObject("java", "org.joda.time.DateTime").init("2004-12-13T21:39:45.618-07:00")>

最后,您可以在 EventClient 对象上调用该方法:

<cfset MyTest.setUser("id_1", imObj, jtObj)>

关于java - 在 Coldfusion 上使用 Java SDK 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26374536/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com