在java中运行静态块

时间:2013-09-20 08:46:36

标签: java xmpp asmack

我在Java中有一个静态块。如何运行它的静态初始化块。

我在这个解决方案中看到了 How to keep a XMPP connection stable on Android with (a)smack?

https://android.googlesource.com/platform/external/smack/+/master/src/org/jivesoftware/smack/ReconnectionManager.java

static {
try {
    Class.forName("org.jivesoftware.smack.ReconnectionManager");
} catch (ClassNotFoundException ex) {
    // problem loading reconnection manager
}

}

2 个答案:

答案 0 :(得分:3)

当你调用SmackAndroid.init(Context)时,它会自动调用这些静态类,你可以检查asmack代码以便澄清。

如果您有任何与重新连接相关的问题,那么您可以查看我的答案,它对我有用。 https://stackoverflow.com/a/23307341/2729665

答案 1 :(得分:0)

加载类时运行静态初始化程序块。如果没有其他内容可以加载课程,您可以调用Class.forName加载它:

try {
    Class.forName("full.name.of.YourClass");
} catch (ClassNotFoundException ex) {
    // installation error? Class not found.
    ex.printStackTrace();
}