`
zqjshiyingxiong
  • 浏览: 432504 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

代码严谨度的重要性和耦合的重要性

    博客分类:
  • JAVA
阅读更多

 

情况是:星期六,同时打我电话,说平台动不了,让我解决一下,当时我正好在外面出差,来不及帮他们解决。

 

这个问题一直延续到星期一早上,服务器提供的服务瘫痪了!

 

把整个服务器翻了遍也没查出问题的所在。tomcat好好,怎么就会怎么瘫痪了!?

 

进过了四五个小时的苦战,终于发现问题的所在:

 

  1. 服务项目中远程链接的数据库连不上了?连不上也会造成服务挂掉?这个我之前一直没有碰到过中情况,

这次算是领教了,下面我就和大家详细的解释一下:

 

tomcat在链接不上后,只报一个connect failed,一个报了一下错误:

 

1.java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.

 

2.ERROR: All threads (150) are currently busy, waiting. Increase maxThreads (999) or check the servlet status

 

3.WARN ContainerBackgroundProcessor[StandardEngine[Catalina]] org.apache.catalina.core.ContainerBase - Exception processing manager org.apache.catalina.session
.StandardManager@6ebdb4 background process
java.lang.IllegalStateException: getAttribute: Session already invalidated

 

通过这样的日志信息,我应该顺藤摸瓜 ,可是一开始没有这么去做,而是一个一个去查原因,最终耽误了很多时间,warn

 

错误根本和这次的问题毫无关系,我还花了时间去分析它,实属不该。第二个error,这个是比较严重的问题,也是导致结

 

果性的问题。通过分析和google,得出他上面还有一层错误导致他的出现。那么是那个了?其实不用想也知道是第一个

 

了。也是我一开始就发现的问题,我居然没有清晰过来。问题的所在就在无法链接数据库的代码上,如果我添加的close,

 

现在的情况及大大的不一样了,就这么小小的一行代码给变我们。还有一个必然的原因:耦合。我们系统为什么要去依赖远

 

程数据库了,这就造成了耦合的问题。这是发生也是必然的。

 

从这件事情上,我真正体会到,你写的东西后将来发生事情有着紧密的联系,永远是耦合的,无法分割的。

 

      之前,听人说过,程序可以让世界变的美好,也可以让你瘫痪。

 

      我们永远和之后发生的事情是耦合的,但是我们可以让我们的系统避免耦合。

 

      这里,和大家分享一下:提供代码严谨度和减少耦合

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics