实际上,我在我的spring引导应用程序中遇到了一个问题,我开发了一个与s3桶链接的restful,我定制了一些异常,但是当我运行url以获得控制台中不存在的对象时,我在我的控制台中看到了这个错误异常:
2019-07-25 09:06:45.733错误1 -nio-443-exec-1 o.a.c.c.C.[.[./.dispatcherServlet : Servlet.service() for servlet dispatcherServlet in path []引发的异常请求处理失败;嵌套异常为Servlet.service-1 o.a.c.c.)--指定的键不存在。(服务: D
Spring Integration或任何其他EAI框架中异常处理背后的概念是什么:它们被视为一条消息吗?
假设jms-outbound-gateway抛出了一个JMS超时异常。现在,它必须一直向上移动到父自定义网关addEmployeeGateway,该网关定义了一个名为addEmployee的方法,该方法抛出了一个名为SystemDownException的自定义异常。这两个组件通过请求和应答通道连接,这是唯一的通信媒介。这是否意味着异常也被视为消息?
此外,如果我必须将JMS超时异常映射到我的自定义异常SystemDownException并重新抛出SystemDownException
我们有一段从队列中读取的代码
while(true){
try {
message = readMessageFromQueue();
processMesage(message); //Writes into DB and some other operation
}catch(Exception e) {
log the exception
}
}
现在有十个线程是使用executor服务生成的,目的是永远运行。但是,我们已经注意到,在部署之后(可能是10-15天或一个月),线程的数量正在减少(每秒写的线程数量也因此减少)。
问题是
在我的项目中,我必须编写一个rest客户端,它将接收来自rest服务的HttpResponse。我想要的是记录响应的状态代码,如果出现任何异常,也要记录该异常。如何使用管道模式实现这一目标。PFB我的代码片段:
class MetadataAggregator(implicit config: Config) extends Actor with ActorLogging {
import context.system
import akka.pattern.pipe
implicit val exec = context.system.dispatcher
val ur
我引用了几篇文章来使用@ControllerAdvice为我使用spring的rest项目创建全局异常处理程序。这样做的目的是在发生异常时向客户端发送适当的格式化响应。在一些文章中,他们在全局异常处理程序中添加了Throwable或Exception。我是否应该用RunTimeException替换它,因为这个块是在运行时发生异常的?
异常处理程序代码:
@ControllerAdvice
public class GlobalExceptionHandler{
@ExceptionHandler(NoDataFoundException.class)
@ResponseSt
我正在尝试将一个基于Oauth for Spring Security的Oauth2客户端从普通的Java/Spring移植到Grails,但是遇到了一个问题。问题的症结在于Spring Oauth客户端实现的设计依赖于这样一个假设,即从Oauth2RestTemplate抛出的异常将在OAuth2ClientContextFilter的catch块中捕获,从而允许筛选器发出重定向响应(向oath提供者发送授权请求)。
这在普通的Java/Spring中工作得很好,但是在Grails中,GrailsDispatcherServlet被配置为通过HandlerExceptionResolvers
我正在读一本Spring的书来学习Spring。在阅读了有关JDBCTemplate的章节后,我惊讶地发现Spring对大多数SQLException异常的处理方式是不同的。
例如,所有已检查的异常都会转换为未检查的异常。这到底有什么好处呢?
根据我的经验,大多数SQL异常都应该得到处理。例如,我们有一个与Oracle PL/SQL过程对话的应用程序。对PL/SQL过程的调用可以返回ORA-01403: no data found异常。这类异常通常是通过向用户显示错误消息来恢复的。例如,搜索结果没有返回任何内容。
如果所有异常都是未检查的,那么在Spring中如何处理这种检查过的异常,也就是说
问题:我正在使用SpringBoot1.4.3( Spring Starter),并在它启动时运行一个可能引发异常的方法。当前,如果抛出异常,Spring将关闭Tomcat并退出。我怎么才能让这个例外不是致命的呢?换句话说,我仍然希望web服务器继续运行。
这是我的密码:
@EventListener
public void runOnStartup(ApplicationReadyEvent event) {
do_stuff_that_might_runtime_exception();
}
但是,如果抛出我的自定义RuntimeException,我会看到:
..[info] a