Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Вылетает сервер томкат / 19 сообщений из 19, страница 1 из 1
01.08.2007, 12:48:16
    #34697725
Вылетает сервер томкат
Создал сервлетное приложение и запустил его в ТОмкат 5.5.17. Сервлет выбирает некоторые данные из dbf файлов через ODBC и отображает их на HTML странице. Если работает один пользователь (томкат развернут на Windows Server 2003) - то все нормально - если 2 и больше обращаются к серверу одновременно - сам сервер через некоторое время вылетает. Никто не подскажет, где искать причину (это сам сервер или сервлет?) По идее, какой бы плохой сервлет не был, сервер то не дорлжен вылетать.
...
Рейтинг: 0 / 0
01.08.2007, 13:08:45
    #34697799
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вылетает сервер томкат
а что в логах?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
01.08.2007, 13:26:26
    #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
01.08.2007, 13:32:10
    #34697887
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вылетает сервер томкат
а дальше? логи в момент падения?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
01.08.2007, 13:34:47
    #34697900
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вылетает сервер томкат
Изучающий JavaПо идее, какой бы плохой сервлет не был, сервер то не дорлжен вылетать.
Код: plaintext
System.exit( 1 );
никто не отменял.
...
Рейтинг: 0 / 0
01.08.2007, 13:55:53
    #34698015
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вылетает сервер томкат
Изучающий JavaНикто не подскажет, где искать причину (это сам сервер или сервлет?)
- конечно в коде :) [ а для начала нормально настроить логирование приложения, разместить контрольные сообщения в коде, логировать сборщик мусора ]
...
Рейтинг: 0 / 0
01.08.2007, 15:52:13
    #34698539
Вылетает сервер томкат
Спасибо всем за ответы, там действительно надо переделать сервлет, первый пользователь, который подключается захватывает базу эксклюзивно, второй пользователь тоже пытается подключиться - получается конфликт. Надо просто проверять время формирования HTML страницы, если от окончания формирования прошло не более определенного времени (1-5 минут), выдавать тот же результат, если прошло больше, формировать по новому, проверять необходимо также можна ли на данный момент времени подключиться к базе, если нет, то ожидать и позже повторить попытку. Вобщем много чего надо доделывать...
...
Рейтинг: 0 / 0
01.08.2007, 16:32:45
    #34698738
am_sasa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вылетает сервер томкат
УФФ напугал... я уже хотел свой Томкат заделетить, слава богу обошлось....
...
Рейтинг: 0 / 0
02.08.2007, 11:54:43
    #34700650
Anarion
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вылетает сервер томкат
А ты уверен, что пользователю нужен монопольный доступ к базе?
...
Рейтинг: 0 / 0
02.08.2007, 13:26:30
    #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
02.08.2007, 13:57:55
    #34701218
Anarion
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вылетает сервер томкат
Не то, все не то... Это логи томката, которые не несут никакой полезной...

Видимо, у тебя каша в сервлете. Ты дергаешь коннект к БД в лоб при вызове какого-то метода сервлета. Смотри в сторону Connection Pool. И покажи код сервлета....
...
Рейтинг: 0 / 0
02.08.2007, 14:31:23
    #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
02.08.2007, 15:08:59
    #34701500
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вылетает сервер томкат
Какой ужас...
...
Рейтинг: 0 / 0
02.08.2007, 15:11:04
    #34701508
Хрюхрюшкин.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вылетает сервер томкат
TimmКакой ужас...
+ 1048576
...
Рейтинг: 0 / 0
02.08.2007, 15:25:11
    #34701574
crazytoo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вылетает сервер томкат
мля.......подавилсо.....Макконнелл с Фаулером убились бы ап стену
...
Рейтинг: 0 / 0
02.08.2007, 15:25:46
    #34701577
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вылетает сервер томкат
у вас сервлет - это и есть поток. не надо в нем другие потоки запускать
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
02.08.2007, 15:28:47
    #34701592
Хрюхрюшкин.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вылетает сервер томкат
Строго говоря, запуск своих потоков под контейнером сервлетов — порочная практика :)
...
Рейтинг: 0 / 0
02.08.2007, 15:31:34
    #34701599
Вылетает сервер томкат
У меня сначала так и было (правда я не знаю вылетал ли томкат в варианте без потоков), но при сравнении работы оказалось, что сервлет с множеством потоков работает процентов на 30 быстрее...но если это и есть причина вылетания томката, попробую вернуться к старому варианту...
...
Рейтинг: 0 / 0
02.08.2007, 16:51:35
    #34702017
Anarion
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вылетает сервер томкат
ппц мозгу...
Читай на сане про архитектуру веб приложений и про паттерн MVC.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Вылетает сервер томкат / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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