我创建了一个Javaee应用程序,除其他外,该应用程序必须使用朴素贝叶斯来执行情感分析。为了使情感算法正常工作,我们必须首先对其进行训练,因此我想创建一个对象,该对象将在服务器启动时处理训练,以避免反复进行训练。我考虑过使用单例ejb来执行此操作,但我不知道这是否是正确的方法,还有一个朋友建议使用托管bean。这些方法对我的问题有什么利弊?我是在朝正确的方向看,还是在错误的树上吠叫?
最佳答案
MBean非常适合在运行时修改应用程序的状态。如果要在运行时更改算法的训练并使用MBean,那么在启动时也应使用它们进行初始化。
另外,我建议在包含您的算法的类的设计中,将训练过程中要计算的系数外在化。然后,您可以保留这些系数,而不必重新运行训练。在启动时,您的应用程序将从持久性中加载系数。
将可加载系数与MBean结合使用,您可以使用后者在运行时检索或重新加载系数集。您将要确保重新加载它们是原子的。这将使您能够随时调整分析。
关于java - Javaee Mbean与Singleton,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10223786/