powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Вылетает сервер томкат
19 сообщений из 19, страница 1 из 1
Вылетает сервер томкат
    #34697725
Создал сервлетное приложение и запустил его в ТОмкат 5.5.17. Сервлет выбирает некоторые данные из dbf файлов через ODBC и отображает их на HTML странице. Если работает один пользователь (томкат развернут на Windows Server 2003) - то все нормально - если 2 и больше обращаются к серверу одновременно - сам сервер через некоторое время вылетает. Никто не подскажет, где искать причину (это сам сервер или сервлет?) По идее, какой бы плохой сервлет не был, сервер то не дорлжен вылетать.
...
Рейтинг: 0 / 0
Вылетает сервер томкат
    #34697799
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что в логах?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Вылетает сервер томкат
    #34697864
вот лог за 13-е число (на данный момент лог дать не могу)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
 13 / 7 / 2007   10 : 55 : 23  org.apache.coyote.http11.Http11BaseProtocol init
INFO: Initializing Coyote HTTP/ 1 . 1  on http- 1777 
 13 / 7 / 2007   10 : 55 : 23  org.apache.catalina.startup.Catalina load
INFO: Initialization processed in  1140  ms
 13 / 7 / 2007   10 : 55 : 23  org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
 13 / 7 / 2007   10 : 55 : 23  org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/ 5 . 5 . 17 
 13 / 7 / 2007   10 : 55 : 23  org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
 13 / 7 / 2007   10 : 55 : 24  org.apache.coyote.http11.Http11BaseProtocol start
INFO: Starting Coyote HTTP/ 1 . 1  on http- 1777 
 13 / 7 / 2007   10 : 55 : 24  org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on / 0 . 0 . 0 . 0 : 8009 
 13 / 7 / 2007   10 : 55 : 24  org.apache.jk.server.JkMain start
INFO: Jk running ID= 0  time= 0 / 47   config= null 
 13 / 7 / 2007   10 : 55 : 24  org.apache.catalina.storeconfig.StoreLoader load
INFO: Find registry server-registry.xml at classpath resource
 13 / 7 / 2007   10 : 55 : 24  org.apache.catalina.startup.Catalina start
INFO: Server startup in  1735  ms 
...
Рейтинг: 0 / 0
Вылетает сервер томкат
    #34697887
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а дальше? логи в момент падения?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Вылетает сервер томкат
    #34697900
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изучающий JavaПо идее, какой бы плохой сервлет не был, сервер то не дорлжен вылетать.
Код: plaintext
System.exit( 1 );
никто не отменял.
...
Рейтинг: 0 / 0
Вылетает сервер томкат
    #34698015
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изучающий JavaНикто не подскажет, где искать причину (это сам сервер или сервлет?)
- конечно в коде :) [ а для начала нормально настроить логирование приложения, разместить контрольные сообщения в коде, логировать сборщик мусора ]
...
Рейтинг: 0 / 0
Вылетает сервер томкат
    #34698539
Спасибо всем за ответы, там действительно надо переделать сервлет, первый пользователь, который подключается захватывает базу эксклюзивно, второй пользователь тоже пытается подключиться - получается конфликт. Надо просто проверять время формирования HTML страницы, если от окончания формирования прошло не более определенного времени (1-5 минут), выдавать тот же результат, если прошло больше, формировать по новому, проверять необходимо также можна ли на данный момент времени подключиться к базе, если нет, то ожидать и позже повторить попытку. Вобщем много чего надо доделывать...
...
Рейтинг: 0 / 0
Вылетает сервер томкат
    #34698738
am_sasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
УФФ напугал... я уже хотел свой Томкат заделетить, слава богу обошлось....
...
Рейтинг: 0 / 0
Вылетает сервер томкат
    #34700650
Anarion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ты уверен, что пользователю нужен монопольный доступ к базе?
...
Рейтинг: 0 / 0
Вылетает сервер томкат
    #34701078
Пользователю,который запускает сервлет, монопольный доступ не нужен, просто почему то сервлет захватывает ресурс ОДВС монопольно (я так думаю), кстати вот полный лог (больше ничего нету), после которого вылетел томкат
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
 1 / 8 / 2007   14 : 44 : 15  org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The Apache Tomcat  Native  library which allows optimal performance in production environments was not found on the java.library.path: C:\PROGRA~ 1 \JAVA\JDK15~ 1 .0_0\bin;.;C:\WINDOWS\system32;C:\WINDOWS;C:\PROGRA~ 1 \JAVA\ANT_AP17\BIN;C:\PROGRA~ 1 \JAVA\JDK15~ 1 .0_0\BIN;D:\ora92\bin;C:\Progra~ 1 \Java\jre15~ 2 .0_0\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\nls;C:\WINDOWS\system32\nls\ENGLISH;C:\Sybase\shared; 
 1 / 8 / 2007   14 : 44 : 15  org.apache.coyote.http11.Http11BaseProtocol init
INFO: Initializing Coyote HTTP/ 1 . 1  on http- 1777 
 1 / 8 / 2007   14 : 44 : 15  org.apache.catalina.startup.Catalina load
INFO: Initialization processed in  1718  ms
 1 / 8 / 2007   14 : 44 : 15  org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
 1 / 8 / 2007   14 : 44 : 15  org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/ 5 . 5 . 17 
 1 / 8 / 2007   14 : 44 : 15  org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
 1 / 8 / 2007   14 : 44 : 17  org.apache.coyote.http11.Http11BaseProtocol start
INFO: Starting Coyote HTTP/ 1 . 1  on http- 1777 
 1 / 8 / 2007   14 : 44 : 18  org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on / 0 . 0 . 0 . 0 : 8009 
 1 / 8 / 2007   14 : 44 : 18  org.apache.jk.server.JkMain start
INFO: Jk running ID= 0  time= 0 / 63   config= null 
 1 / 8 / 2007   14 : 44 : 18  org.apache.catalina.storeconfig.StoreLoader load
INFO: Find registry server-registry.xml at classpath resource
 1 / 8 / 2007   14 : 44 : 18  org.apache.catalina.startup.Catalina start
INFO: Server startup in  2828  ms
 1 / 8 / 2007   16 : 24 : 35  org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The Apache Tomcat  Native  library which allows optimal performance in production environments was not found on the java.library.path: C:\PROGRA~ 1 \JAVA\JDK15~ 1 .0_0\bin;.;C:\WINDOWS\system32;C:\WINDOWS;C:\PROGRA~ 1 \JAVA\ANT_AP17\BIN;C:\PROGRA~ 1 \JAVA\JDK15~ 1 .0_0\BIN;D:\ora92\bin;C:\Progra~ 1 \Java\jre15~ 2 .0_0\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\nls;C:\WINDOWS\system32\nls\ENGLISH;C:\Sybase\shared; 
 1 / 8 / 2007   16 : 24 : 35  org.apache.coyote.http11.Http11BaseProtocol init
INFO: Initializing Coyote HTTP/ 1 . 1  on http- 1777 
 1 / 8 / 2007   16 : 24 : 35  org.apache.catalina.startup.Catalina load
INFO: Initialization processed in  1844  ms
 1 / 8 / 2007   16 : 24 : 35  org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
 1 / 8 / 2007   16 : 24 : 35  org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/ 5 . 5 . 17 
 1 / 8 / 2007   16 : 24 : 35  org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
 1 / 8 / 2007   16 : 24 : 37  org.apache.coyote.http11.Http11BaseProtocol start
INFO: Starting Coyote HTTP/ 1 . 1  on http- 1777 
 1 / 8 / 2007   16 : 24 : 38  org.apache.jk.common.ChannelSocket init
INFO: Port busy  8009  java.net.BindException: Address already in use: JVM_Bind
 1 / 8 / 2007   16 : 24 : 38  org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on / 0 . 0 . 0 . 0 : 8010 
 1 / 8 / 2007   16 : 24 : 38  org.apache.jk.server.JkMain start
INFO: Jk running ID= 1  time= 0 / 78   config= null 
 1 / 8 / 2007   16 : 24 : 38  org.apache.catalina.storeconfig.StoreLoader load
INFO: Find registry server-registry.xml at classpath resource
 1 / 8 / 2007   16 : 24 : 38  org.apache.catalina.startup.Catalina start
INFO: Server startup in  2703  ms
...
Рейтинг: 0 / 0
Вылетает сервер томкат
    #34701218
Anarion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не то, все не то... Это логи томката, которые не несут никакой полезной...

Видимо, у тебя каша в сервлете. Ты дергаешь коннект к БД в лоб при вызове какого-то метода сервлета. Смотри в сторону Connection Pool. И покажи код сервлета....
...
Рейтинг: 0 / 0
Вылетает сервер томкат
    #34701347
Сервлетов несколько, вот отрывок из основного
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
 public   class  WelcomeServlet  extends  HttpServlet {
     static  Object[][] st1 =  new  Object[ 40 ][ 4 ];
...
     public   static  String[] featureF =  new  String[ 11 ];
...
       public   static  TheardClass t1;
...
       public   static  TheardClass t11;

       RequestDispatcher rd;
   
    Connection conOdbcConf= null ;
...
       Connection conOdbcDial= null ;
       Statement st_Cash =  null ;
 ...
       Statement st_Dial =  null ;

     private  String sql;
     private  String sql2;
...
     protected   void  doPost(HttpServletRequest request, HttpServletResponse response)
     throws  ServletException, IOException {

         try  {
           conOdbcConf=DriverManager.getConnection("jdbc:odbc:Stream.Conf");
...   
          conOdbcDial= DriverManager.getConnection("jdbc:odbc:Stream.Dial");
 ...
          st_Dial = conOdbcDial.createStatement();
        }  catch  (SQLException ex) {
            ex.printStackTrace();
        }


        ResultSet Rs1= null ;
         try  {
            Rs1 = st_Conf.executeQuery("SELECT DT FROM CNF_DAY");
            Rs1.next();
            odbday = Rs1.getDate("DT");
            Rs1.close();
            st_Conf.close();
        }  catch  (SQLException ex) {
            ex.printStackTrace();
            odbday=  new  java.sql.Date( new  java.util.Date().getTime());
        }

          sql = "SELECT COUNT(*) AS KOL,DA.PFLAG FROM DD DA WHERE "+
                     "DA.STSDOC<>\'D\' AND DTDOC=? GROUP BY DA.PFLAG";
        sql2 = "SELECT COUNT(*) AS KOL,DA.PFLAG FROM AВ DA WHERE "+
                     "PDT=? GROUP BY DA.PFLAG";
       flag=true;
        for  ( int  k= 0 ;k< 11 ;k++) featureF[k]="-";
       t1= new  TheardClass("Поток 1",sql,st4,odbday,st_Cash);
...
       t11= new  TheardClass("Поток 2",sql2,st11,odbday,st_Dial);

           while  (flag) {
     //      RequestDispatcher rd = request.getRequestDispatcher("IndexServlet");
           if  (!t1.t.isAlive()) {
              featureF[ 0 ]="+";
          }
           if  (!t2.t.isAlive()) {
              featureF[ 1 ]="+";
          }
...
           if  (!t11.t.isAlive()) {
              featureF[ 10 ]="+";
          }
          flag=false;
           for  ( int  k= 0 ;k< 11 ;k++) {
               if  (featureF[k].equals("-")) flag=true;
          }
             try  {
                Thread.sleep( 1 );
            }  catch  (InterruptedException ex) {
                ex.printStackTrace();
            }
       }

  t1.t.stop();
....
  t11.t.stop();

   RequestDispatcher rd1 = request.getRequestDispatcher("OutServletHtml");
        rd1.forward(request,response);
}
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
// класс TheardClass 

 public   class  TheardClass  implements  Runnable {

     private  java.sql.Date odbday;
     private  String sql;
    String namePr;
    Thread t;
     private  Object[][] st1;
    Statement st_Stream;

   TheardClass(String threadname, String sql1, Object[][] st11,java.sql.Date odbday1,Statement st_Stream1) {
        namePr=threadname;
        odbday=odbday1;
        sql=sql1;
        st1=st11;
        st_Stream=st_Stream1;
        t= new  Thread( this ,namePr);
        t.start();
        st11=st1;
    }

     public   void  run() {
          Double  nn;
        CallableStatement cst =  null ;
        ResultSet RsCash =  null ;
         try  {
            cst= st_Stream.getConnection().prepareCall(sql);
        }  catch  (SQLException ex) {
            ex.printStackTrace();
        }
         try  {
            cst.setDate( 1 ,odbday);
        }  catch  (SQLException ex) {
            ex.printStackTrace();
        }
         try  {
            RsCash = cst.executeQuery();
        }  catch  (SQLException ex) {
            ex.printStackTrace();
        }


          int  i= 0 ;
         try  {
             while  (RsCash.next()){
              st1[i][ 0 ]= new  Integer(RsCash.getInt("KOL"));
               if  (RsCash.getInt("PFLAG")== 1 )
               { st1[i][ 1 ]= new  String("Передано");

             }  else  {
               st1[i][ 1 ]= new  String("Ожидает");
            }
              i++;
             }
        }  catch  (SQLException ex) {
            ex.printStackTrace();
        }

         if  (i== 1  && st1[ 0 ][ 1 ].equals(namePr)) {
            st1[ 1 ][ 1 ]= new  String("Ожидает");
            st1[ 1 ][ 0 ]= new  Integer( 0 );
        }
         if  (i== 1  && st1[ 0 ][ 1 ].equals("Ожидает")) {
            st1[ 1 ][ 1 ]= new  String("Передано");
            st1[ 1 ][ 0 ]= new  Integer( 0 );
        }
         if  (i== 0 ){
            st1[ 1 ][ 1 ]= new  String("Ожидает");
            st1[ 1 ][ 0 ]= new  Integer( 0 );
            st1[ 0 ][ 1 ]= new  String("Передано");
            st1[ 0 ][ 0 ]= new  Integer( 0 );
        }

         try  {
             RsCash.close();
            st_Stream.getConnection().close();
        }  catch  (SQLException ex) {
            ex.printStackTrace();
        }
    }
}
...
Рейтинг: 0 / 0
Вылетает сервер томкат
    #34701500
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой ужас...
...
Рейтинг: 0 / 0
Вылетает сервер томкат
    #34701508
Фотография Хрюхрюшкин.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TimmКакой ужас...
+ 1048576
...
Рейтинг: 0 / 0
Вылетает сервер томкат
    #34701574
crazytoo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мля.......подавилсо.....Макконнелл с Фаулером убились бы ап стену
...
Рейтинг: 0 / 0
Вылетает сервер томкат
    #34701577
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у вас сервлет - это и есть поток. не надо в нем другие потоки запускать
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Вылетает сервер томкат
    #34701592
Фотография Хрюхрюшкин.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Строго говоря, запуск своих потоков под контейнером сервлетов — порочная практика :)
...
Рейтинг: 0 / 0
Вылетает сервер томкат
    #34701599
У меня сначала так и было (правда я не знаю вылетал ли томкат в варианте без потоков), но при сравнении работы оказалось, что сервлет с множеством потоков работает процентов на 30 быстрее...но если это и есть причина вылетания томката, попробую вернуться к старому варианту...
...
Рейтинг: 0 / 0
Вылетает сервер томкат
    #34702017
Anarion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ппц мозгу...
Читай на сане про архитектуру веб приложений и про паттерн MVC.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Вылетает сервер томкат
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]