【发布时间】:2014-01-16 02:13:11
【问题描述】:
我在 tomcat 的 Spring MVC 应用程序中使用 Firebase。 似乎 firebase 创建了一个非守护线程来阻止 tomcat 关闭。
如何在我的 Spring 应用中终止/关闭 Firebase?
这就是我使用 Firebase 的方式:
private static Firebase getUserRef(String username)
{
Firebase ref = new Firebase("https://<firebaseurl>");
return ref.child(username);
}
private static void createUserName(final String name)
{
final Firebase userref = getUserRef(name);
userref.addListenerForSingleValueEvent(new ValueEventListener()
{
@Override
public void onDataChange(DataSnapshot dataSnapshot)
{
Object value = dataSnapshot.getValue();
// logic
}
@Override
public void onCancelled(FirebaseError firebaseError)
{
}
});
}
createUserName() 方法在控制器方法中调用。
我应该使用 bean 吗?
【问题讨论】:
-
向我们展示您如何使用 Firebase。你声明 bean 吗? Firebase 入口点是什么?
-
已更新。如您所见,我没有使用 bean,也不确定是否应该使用?
-
我根本不知道
FirebaseAPI,但请尝试使用调用contextDestroyed()的ServletContextListener方法添加Firebase.goOffline() -
这是可能的。但我正在等待 Firebase 支持人员提供官方答案
-
好吧,根据this,似乎没有API调用来杀死工作线程。另外,
Firebase.goOffline()只是关闭网络连接,它对工作线程没有任何作用。
标签: spring tomcat spring-mvc firebase