为什么会在sessionBean里直接操作数据库呢!如果需要可以采用BMP,和CMP结合的方式。
这样可以避免很多问题,JBoss是热部署,这部分问题,都可以帮你解决。

解决方案 »

  1.   

    是的,得重启,好象tomcat的连接池就是这个毛病。
      

  2.   

    在SessionBean里面直接操作数据库是为了提高性能,有一部分对性能的要求特别高
      

  3.   

    必须重启似乎不合情理,你没法要求数据库服务器和Application Server在一台机器上,也没法确保数据库一定不会重启,或者它中断了,这时候备用数据库启动的时候,Application Server马上就知道这些,如果它不能自适应,服务就会出现异常。
    对于一些要求很高的服务,这是严重的问题。
      

  4.   

    我试过一种方法,在getConnection方法里面拿到Connection之后检测Connection是否有效,如果是无效的Connection,通过刷新oracledb-service.xml文件让Jboss刷新连接池,这对于Session是有效的,刷新后工作正常,但是这时候EntityBean再也无法正常工作了
      

  5.   

    使用weblogic有办法不重启不知道jboss行不行