相关疑难解决方法(0)

使用log4j在Java中记录运行时异常

我目前正在使用Tomcat,Spring和JAVA构建应用程序.我Log4J用作我的日志库.我目前正在将所有内容记录到文本文件中.我遇到的一个问题RuntimeExceptions是没有记录到任何文件.我想知道是否有办法记录所有RuntimeExceptions可能抛出到我的应用程序日志文件.如果不是可以让它登录到另一个日志文件?有没有标准的方法来做到这一点?如果是这样,在Tomcat中运行应用程序时有一种标准的方法吗?

预先感谢您的帮助!

java logging spring tomcat log4j

20
推荐指数
2
解决办法
2万
查看次数

JSF ajax请求中的异常处理

在处理JSF ajax请求时抛出异常时,如何处理异常并访问堆栈跟踪?现在,当JSF项目阶段设置为Development时,我只在JavaScript警报中获取异常类名称和消息.更糟糕的是,当JSF项目阶段设置为Production时,没有任何视觉反馈,并且服务器日志不显示有关异常的任何信息.

如果这是相关的,我在Netbeans中使用GlassFish.

ajax jsf exception-handling jsf-2.2

7
推荐指数
1
解决办法
9256
查看次数

让表示层(JSF)处理来自服务层(EJB)的业务异常

更新提供的实体的EJB方法(使用CMT):

@Override
@SuppressWarnings("unchecked")
public boolean update(Entity entity) throws OptimisticLockException {
    // Code to merge the entity.
    return true;
}
Run Code Online (Sandbox Code Playgroud)

javax.persistence.OptimisticLockException如果检测到并发更新,则将抛出,这将由调用者(托管bean)精确处理.

public void onRowEdit(RowEditEvent event) {
    try {
        service.update((Entity) event.getObject())
    } catch(OptimisticLockException e) {
        // Add a user-friendly faces message.
    }
}
Run Code Online (Sandbox Code Playgroud)

但这样做会使javax.persistence表达层上的API 产生额外的依赖性,这是一种导致紧密耦合的设计气味.

应该包装哪个例外,以便完全省略紧耦合问题?或者是否有一种标准方法来处理此异常,这反过来又不会导致在表示层上强制执行任何服务层依赖性?

顺便说一句,我发现在EJB中(在服务层本身上)捕获此异常然后向客户端(JSF)返回一个标志值是笨拙的.

jsf ejb exception-handling java-ee optimistic-locking

3
推荐指数
1
解决办法
1072
查看次数