[英]How do you tell the reference path when loading a class?
我正在尝试使用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服务器中。
我不知道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
为什么不试试Mark Mandel的AsyncHTTP库这样的现有工具,而不是重新发明轮子?
更新:从评论中,该工具仅限ACF。 因此,您可以尝试使用具体的类DefaultHttpAsyncClient
,如异步HTTP Exchange示例中所示。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.