我想知道如何才能确保完整应用程序的初始化,而不会出现某些应用程序组件可能被访问或触发的问题。
我说的是JavaEE6/JavaEE7应用程序,其中包含多个WAR和EJB组件。想象一下,您必须确保在启动EAR应用程序时必须初始化应用程序部分。例如,你运行像数据库迁移这样的工具,这可能需要几个小时。在Java EE 6/Java EE 7中,如何控制应用程序的上述任何部分在初始化正确通过之前都不能执行。如果初始化失败,拒绝Jav
假设我用private final String s (Java)或val s (Kotlin)声明了最后一个字段。在初始化期间,我希望使用调用远程服务的结果初始化该字段。在Java中,我可以在构造函数(例如s = RemoteService.result())中初始化它,但是在Kotlin中,我不知道如何做到这一点,因为据我所知,字段必须在声明的同一行中初始化。
我必须处理一堆包含static块的静态遗留类。类本身只是只有静态方法的助手类。问题:当并发访问类时,如果类尚未初始化,则会得到遗留类的异常。因此,我必须确保在应用程序启动时,每个静态类之前都已正确初始化。Legacy.class.newInstance();java.lang.InstantiationException
at sun.reflect.InstantiationExceptionConstructorAccessorImpl