我正在编写在Oracle Web Logic Server上运行的Java EE应用程序,我需要扩展ApplicationLifecycleListener类以创建我自己的侦听器类,以便在启动应用程序之前分析一些系统变量。如果在初始分析期间出现问题,我必须阻止应用程序的启动。
这是我的代码:
import weblogic.application.ApplicationException;
import weblogic.application.ApplicationLifecycleEvent;
import weblogic.application.ApplicationLifecycleListener;
public class WebLogicListener extends ApplicationLifecycleListener {
@Override
public void preStart(ApplicationLifecycleEvent ale) throws ApplicationException {
//...
}
}
方法presStart会覆盖超类方法,但此时我在部署EAR文件时遇到运行时错误,此错误是“不兼容的类型:ApplicationException无法转换为Throwable”。 IDE(NetBeans 8)也会通知该错误,但它不会阻止编译EAR。
如果我浏览库(wls-api.jar)并查看ApplicationException类,我看到它扩展了weblogic.utils.ErrorCollectionException,它在Oracle Reference上是Throwable。无论如何,如果在我的代码中我尝试导入类ErrorCollectionException我有这个不同的包:
import weblogic.management.utils.ErrorCollectionException;
这是有效的,但我无法使用它,因为我需要引发ApplicationException来覆盖方法并在出现错误时停止应用程序。
我的环境:
任何人都可以提供帮助吗?