如何在加载课程时告诉参考路径?

时间:2011-10-13 20:16:47

标签: java coldfusion javaloader

我正在尝试使用JavaLoader将一个java(HttpAsyncClient)类加载到ColdFusion中。

client = loader.create("org.apache.commons.HttpAsyncClient")

我们如何知道org.apache.commons.HttpAsyncClient的引用?我想如果你打开jar文件并按照目录结构,它会给你参考路径。但我不认为这是真的。

我正在尝试使用HttpAsyncClient,但我无法加载它:

client = loader.create("org.apache.commons.HttpAsyncClient")返回未找到类的错误。

Loader是对JavaLoader的引用,它将Java类加载到您的CF服务器中。

2 个答案:

答案 0 :(得分:2)

我不知道ColdFusion。您可能必须指定类的完整路径,而不仅仅是包含类的包。

根据一个例子,我发现完整的包和类名是:org.apache.http.nio.client.HttpAsyncClient

您还可以使用javadoc查找包名和类名:http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/index.html

使用像这样的界面获取异步可能是残酷的。我建议先尝试同步版本。

修改

我会尝试将此同步示例调整为CF:http://hc.apache.org/httpcomponents-client-ga/httpclient/examples/org/apache/http/examples/client/ClientWithResponseHandler.java

当你实例化HttpGet时,你必须像在这个例子中那样将额外的参数传递给init():http://www.coldfusionjedi.com/index.cfm/2009/5/29/Generating-Speech-with-ColdFusion-and-Java

答案 1 :(得分:2)

为什么不尝试像Mark Mandel's AsyncHTTP library这样的现有工具?

,而不是重新发明轮子

更新:根据评论,该工具仅限ACF。因此,您可以尝试使用Asynchronous HTTP Exchange示例中显示的具体类DefaultHttpAsyncClient