我正在构建一个小API,我将调用它并接收有关目录的JSON数据。它在我的dev box上运行得很好,但是当我把它放到我需要它的服务器上时,它在应用程序中运行了一半,然后就停止了。
没有抛出异常,控制台输出不做任何事情,我也没有从GET请求中收到对服务器的响应。插件就会停止。
这是一个在Wowza服务器上作为插件运行的HTTPProvider,但我不认为这是相关的。服务器没有崩溃,我的插件在代码中的这一点之后什么也做不了(每一组注释都是我用控制台输出测试过的地方,除了最后一组外,都是有效的):
File dir = new File(appInst.getStreamStoragePath()+"/"+content_path);
//Correct Path is formed and file object created
if(dir.exists() && dir.isDirectory())
{
//Directory exists
File[] files = dir.listFiles();
//Was able to find the 2 files in this directory
JSONObject output = new JSONObject();
JSONArray directories = new JSONArray();
JSONArray videos = new JSONArray();
boolean access_allowed = true;
//Nothing happens after these declarations, no errors
//No thrown exceptions or console output
for (int i = 0; i < files.length; i++) {
//Build JSON objects+arrays with files
}
}
dev box和server都是java和wowza server的相同版本。(1.6)
我的主要问题不是如何修复它,而是我如何才能找出哪里出了问题?
发布于 2013-11-19 16:03:56
我想问题是我没有在我的应用程序中包含org.json.*包。它工作的原因(以及为什么我认为没有什么问题,因为它在本地工作)是因为Wowza加载插件的方式。另一个插件已经有了JSON包,但是服务器没有这个插件。
我修复了这个问题,将JSON包包含到插件的构建路径中。
但对我来说,这仍然很奇怪,根本没有错误。
发布于 2013-11-18 05:17:38
你试过远程调试吗?
https://stackoverflow.com/questions/20036421
复制