小编Pav*_*cek的帖子

许多线程等待锁定一个对象,但没有线程持有该锁

我有一个应用程序当前被卡住,我正在尝试了解原因。在kill -3(线程转储)输出中,我看到许多线程正在等待锁定对象(特别是等待Vector的同步方法),但我没有看到任何线程持有该锁。

知道如何调试吗?

谢谢

PS 我知道 Vector 很旧,更推荐使用 ArrayList,但这是我正在尝试调试的遗留代码。

java multithreading

5
推荐指数
1
解决办法
2273
查看次数

websocket使用会话ID重新连接

我正在为我的应用程序使用 Java 和 Websocket API

这是我面临的问题:

我打开一个 websocket 连接以通过某些服务器进行连接:

ws = new WebSocket(targetURL);
Run Code Online (Sandbox Code Playgroud)

当我使用 ws 发送每条消息时,我总是首先检查 ws 的状态,通过:

if(ws.readyState == 1) {
        ws.send(request);
} else {
        alert("THE CONNECTION IS CLOSED. PLEASE REFRESH YOUR BROWSER.");
}
Run Code Online (Sandbox Code Playgroud)

在客户端和服务器之间的通信期间,我在我的 EndPoint 中保存了一条信息。但有时,当我想从客户端发送消息时,状态不是 1,这意味着 ws 不再打开(CMIIW)。如果我尝试使用 ws = new WebSocket(targetURL) 再次连接,它将创建一个新连接,因此我的 EndPoint 中的信息会丢失。

所以我的问题是:有没有办法使用会话 ID 或任何其他唯一 ID 重新连接 Websocket 的关闭连接,以便可以保留端点中的信息?

谢谢

javascript websocket

5
推荐指数
1
解决办法
5716
查看次数

Websocket 1.0 WebSocketServlet替换

我正在尝试采用使用的旧代码(现已弃用)WebSocketServlet.旧代码如下所示:

@Singleton
ExampleServlet extends WebSocketServlet {
    @Override
    protected StreamInbound createWebSocketInbound(String subProtocol, HttpServletRequest request) {
        // Do something
        // ...

        return // StreamInbound impl;
    }
}
Run Code Online (Sandbox Code Playgroud)

正如我在较新版本的tomcat 7中所说,从tomcat 8(WebSocket 1.0,Tyrus)向后移植了WebSocket实现,并且WebSocketServlet不推荐使用类.

我应该用什么代替用更新的API部署我的servlet?

java websocket servlet-3.0 tomcat7

3
推荐指数
1
解决办法
2766
查看次数

如何在ios中使用facebook sdk 4.1获取用户信息?

我正在使用facebook集成版本2.3的预建登录UIButton.

问题:获取用户详细信息时获取null结果.

-(void) loginButton:(FBSDKLoginButton *)loginButton didCompleteWithResult:(FBSDKLoginManagerLoginResult *)result error:(NSError *)error
{
    if ([FBSDKAccessToken currentAccessToken]) {

            FBSDKGraphRequest *request =[[FBSDKGraphRequest alloc]initWithGraphPath:@"me" parameters:nil];
            [request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                          id result,
                                          NSError *error)
    {
        // Handle the result
        NSLog(@"%@",result);
    }];

    FBSDKProfile *profile = [[FBSDKProfile alloc]init];

    }
}
Run Code Online (Sandbox Code Playgroud)

facebook facebook-graph-api ios facebook-ios-sdk

2
推荐指数
1
解决办法
3010
查看次数

如何在jQuery/Javascript中的三元运算符中返回(true/false)?

如何在jQuery中使用三元运算符中的return?

myfunc: function() {
    for(i = 0; i < 10; i++) {
        (6 == i) ? Do_This_and_This : return true;
    }
    //Error: Expected an operand: but found return false or true.
}
Run Code Online (Sandbox Code Playgroud)

根据理解返回false将返回到函数并中断循环并返回true将继续工作,继续移动到下一次迭代.

请验证理解并为其提供解决方案.如果有其他方法可以做,请建议

更新:我的解决方案有很大的javascript,我已经为它正在做的实例添加了小片段.就像有嵌套的ifs`和嵌套的三元运算符一样.让我们给出更多片段

myfunc: function() {
    for(i = 0; i < 10; i++) {
        ($.inArray(questionNumber, questions) > -1) ? ((Ra === "") ? Report= Report+"<tr><td>lakslak</td></tr>" : Report= Report+"<tr><td>lasaaakslak</td></tr>") : return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript jquery

-1
推荐指数
1
解决办法
2684
查看次数