gpt4 book ai didi

java - 使部署失败并出现 Glassfish 3.1 中的自定义错误

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:19:18 28 4
gpt4 key购买 nike

通过在 @Startup 标记的 bean 中的 @PostConstruct 标记方法中抛出异常,我目前能够在 Glassfish 3.1 服务器上部署应用程序时发出警告消息。但是,它仍然处于部署状态(因此它在应用程序列表中)并且错误消息相当模糊,而不是带有异常的消息。

我希望使部署完全失败,并给出适当的消息,以指出到底出了什么问题。这是否可以在不自定义 Glassfish 服务器的情况下从标准 Java EE 实现?如果是这样,怎么做到的?

当前的设置是一个域应用服务器和两个实例。

当前给定的消息如下

Warning Command succeeded with Warning
"http://localhost:4848/management/domain/applications/application/applicationname" created successfully. WARNING: Command _deploy did not complete successfully on server instance instance1: remote failure: Failed to load the application on instance instance1. The application will not run properly. Please fix your application and redeploy. Exception while shutting down application container : java.lang.NullPointerException. Please see server.log for more details. WARNING: Command _deploy did not complete successfully on server instance instance1: remote failure: Failed to load the application on instance instance1. The application will not run properly. Please fix your application and redeploy. Exception while shutting down application container : java.lang.NullPointerException. Please see server.log for more details.

@PostConstruct 中使用的代码示例

@PostConstruct
public void init() throws ExceptionInInitializerError {
throw new ExceptionInInitializerError("Don't deploy!");
}

也为

@PostConstruct
public void init() throws Exception {
throw new Exception("Don't deploy!");
}

同样发生在 RuntimeException 的情况下

@PostConstruct
public void init() {
throw new RuntimeException("Don't deploy!");
}

最佳答案

我认为“中断”部署并抛出异常的方法是使用 JavaEE SPI 扩展。

她有一个简单的教程:

http://blog.eisele.net/2010/01/jsr-299-cdi-portable-extensions.html

我用的是这个,但它用于 glassfish4

http://www.byteslounge.com/tutorials/java-ee-cdi-extension-example

关于java - 使部署失败并出现 Glassfish 3.1 中的自定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30796497/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com