Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Apache Tomcat 6.0.10 se gasi sam !

[es] :: Java :: Apache Tomcat 6.0.10 se gasi sam !

[ Pregleda: 3229 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Cyberghost
Aleksandar Jovanović
Programer
S U M A D I J A

Član broj: 14674
Poruke: 813
77.46.241.*



+1 Profil

icon Apache Tomcat 6.0.10 se gasi sam !22.06.2008. u 10:13 - pre 192 meseci
Za testiranje web aplikacije koristim Tomcat 6.0.10. Kada iz Eclipse uradim deploy aplikacije,
sve lepo radi nekoliko sati. Nakon toga (duze vreme ne koriscenja) jednostavno mogu
samo da uradimpovezivanje na prvu stranu aplikacije gde se vrsi logovanje, ali ne postoji
sansa da s eulogujem sa korisnickim imenom i sifrom (baza mySQL 5.0).
Moj zakljucak je da je veza izmedju mySQL-a i Tomacata problem, posto mi se
prikaze prva strana aplikacije, a cim pokusam komunikaciju sa bazom nastaje problem.
Kada uradim reststart Tomcat-a sve radi kao podmazano !
Tomacat je instaliran kao Windows service. Da li je bolje da koristim
preconfigured verziju i da se manuelno pokrece ???

Evo ERROR-a

Code:

java.sql.SQLException: No operations allowed after connection closed.Connection was implicitly closed due to underlying exception/error:


** BEGIN NESTED EXCEPTION ** 

com.mysql.jdbc.CommunicationsException
MESSAGE: Communications link failure due to underlying exception: 

** BEGIN NESTED EXCEPTION ** 

java.net.SocketException
MESSAGE: Software caused connection abort: recv failed

STACKTRACE:

java.net.SocketException: Software caused connection abort: recv failed
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(Unknown Source)
    at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:105)
    at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:148)
    at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:176)
    at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1899)
    at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2348)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2858)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1570)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1665)
    at com.mysql.jdbc.Connection.execSQL(Connection.java:2972)
    at com.mysql.jdbc.Connection.execSQL(Connection.java:2902)
    at com.mysql.jdbc.Statement.executeQuery(Statement.java:822)
    at command.SearchingAdmin.findByUNAndPass(Unknown Source)
    at controller.CheckAdmin.doGet(Unknown Source)
    at controller.CheckAdmin.doPost(Unknown Source)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
    at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:866)
    at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:716)
    at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1498)
    at java.lang.Thread.run(Unknown Source)


** END NESTED EXCEPTION **



Last packet sent to the server was 31 ms ago.

STACKTRACE:

com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: 

** BEGIN NESTED EXCEPTION ** 

java.net.SocketException
MESSAGE: Software caused connection abort: recv failed

STACKTRACE:

java.net.SocketException: Software caused connection abort: recv failed
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(Unknown Source)
    at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:105)
    at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:148)
    at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:176)
    at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1899)
    at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2348)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2858)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1570)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1665)
    at com.mysql.jdbc.Connection.execSQL(Connection.java:2972)
    at com.mysql.jdbc.Connection.execSQL(Connection.java:2902)
    at com.mysql.jdbc.Statement.executeQuery(Statement.java:822)
    at command.SearchingAdmin.findByUNAndPass(Unknown Source)
    at controller.CheckAdmin.doGet(Unknown Source)
    at controller.CheckAdmin.doPost(Unknown Source)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
    at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:866)
    at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:716)
    at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1498)
    at java.lang.Thread.run(Unknown Source)


Every program is either trivial or it contains at least one bug.
 
Odgovor na temu

anon315

Član broj: 315
Poruke: 1657
*.adsl-a-1.sezampro.yu.



+13 Profil

icon Re: Apache Tomcat 6.0.10 se gasi sam !22.06.2008. u 11:17 - pre 192 meseci
Kako menadzujes konekciju ka bazi?
 
Odgovor na temu

Cyberghost
Aleksandar Jovanović
Programer
S U M A D I J A

Član broj: 14674
Poruke: 813
77.46.241.*



+1 Profil

icon Re: Apache Tomcat 6.0.10 se gasi sam !22.06.2008. u 11:25 - pre 192 meseci
Evo Coonectgion properties-a i Connection class-e

Code:

driver=com.mysql.jdbc.Driver
jdbcURL=jdbc:mysql://localhost:3306/logmein
username=root
password=nekipass
preconnectCount=10
maxIdleConnections=15
maxConnections=20



Code:

package pool;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.PropertyResourceBundle;
import java.util.ResourceBundle;

public class ConnectionPool {

  /** Vraca jedinu (singleton) instancu poola. */
  public static ConnectionPool getInstance() {
    return instance;
  }

  /** Uzima jednu konekciju iz poola. */
  public synchronized Connection checkOut() throws SQLException {
    Connection conn = null;
    if (freeConnections.size() > 0) {
      conn = (Connection)freeConnections.get(0);
      freeConnections.remove(0);
      usedConnections.add(conn);
    } else {
      if (connectCount < maxConnections) {
        conn = DriverManager.getConnection(
          jdbcURL, username, password);
        usedConnections.add(conn);
        connectCount++;
      } else {
        try {
          wait();
          conn = (Connection)freeConnections.get(0);
          freeConnections.remove(0);
          usedConnections.add(conn);
        } catch (InterruptedException ex) {
          ex.printStackTrace();
        }
      }
    }
    return conn;
  }

  /** vraca konekciju u pool. */
  public synchronized void checkIn(Connection aConn) {
    if (aConn ==  null)
      return;
    if (usedConnections.remove(aConn)) {
      freeConnections.add(aConn);
      while (freeConnections.size() > maxIdleConnections) {
        int lastOne = freeConnections.size() - 1;
        Connection conn = (Connection)
          freeConnections.get(lastOne);
        try { conn.close(); } catch (SQLException ex) { }
        freeConnections.remove(lastOne);
      }
      notify();
    }
  }

  /** konstruise pool. */
  protected ConnectionPool(String driver, String jdbcURL, String username,
      String password, int preconnectCount, int maxIdleConnections,
      int maxConnections) throws ClassNotFoundException, SQLException {

    freeConnections = new ArrayList();
    usedConnections = new ArrayList();
    this.driver = driver;
    this.jdbcURL = jdbcURL;
    this.username = username;
    this.password = password;
    this.preconnectCount = preconnectCount;
    this.maxIdleConnections = maxIdleConnections;
    this.maxConnections = maxConnections;

    Class.forName(driver);
    for (int i = 0; i < preconnectCount; i++) {
      Connection conn = DriverManager.getConnection(
        jdbcURL, username, password);
      conn.setAutoCommit(false);
      freeConnections.add(conn);
    }
    connectCount = preconnectCount;
  }

  private static ConnectionPool instance;
  private String driver;
  private String jdbcURL;
  private String username;
  private String password;
  private int preconnectCount;
  private int connectCount;
  private int maxIdleConnections;
  private int maxConnections;
  private List usedConnections;
  private List freeConnections;

  static {
    ResourceBundle bundle =
      PropertyResourceBundle.getBundle("pool.ConnectionPool");
    String driver = bundle.getString("driver");
    String jdbcURL = bundle.getString("jdbcURL");
    String username = bundle.getString("username");
    String password = bundle.getString("password");
    int preconnectCount = 0;
    int maxIdleConnections = 10;
    int maxConnections = 10;
    try {
      preconnectCount = Integer.parseInt(
        bundle.getString("preconnectCount"));
      maxIdleConnections = Integer.parseInt(
        bundle.getString("maxIdleConnections"));
      maxConnections = Integer.parseInt(
        bundle.getString("maxConnections"));
    } catch (Exception ex) {
      ex.printStackTrace();
    }
    try {
      instance = new ConnectionPool(driver,
        jdbcURL, username, password,
        preconnectCount, maxIdleConnections,
        maxConnections);
    } catch (Exception ex) {
      ex.printStackTrace();
    }
  }



Web aplikacijama sam poceo da se bavim aktivno tek nedavno (mesec dana).
Pozajmio sam deo koda za Deploy aplikacije radi lakseg testiranja i klasu za Konekciju na bazu,
ostalo sam sam pravio.
Every program is either trivial or it contains at least one bug.
 
Odgovor na temu

anon315

Član broj: 315
Poruke: 1657
*.adsl-a-1.sezampro.yu.



+13 Profil

icon Re: Apache Tomcat 6.0.10 se gasi sam !22.06.2008. u 15:59 - pre 192 meseci
Pogledaj ovo: http://commons.apache.org/dbcp/

A ako ti nije bitno da aplikaciju mozes da startujes i kao standalone (od servisa pa na nize), onda mozes da ides i preko JNDI datasource-a: http://tomcat.apache.org/tomca...datasource-examples-howto.html
 
Odgovor na temu

Cyberghost
Aleksandar Jovanović
Programer
S U M A D I J A

Član broj: 14674
Poruke: 813
77.46.241.*



+1 Profil

icon Re: Apache Tomcat 6.0.10 se gasi sam !22.06.2008. u 16:23 - pre 192 meseci
Citat:
Vanja Petreski: Pogledaj ovo: http://commons.apache.org/dbcp/ ;)

A ako ti nije bitno da aplikaciju mozes da startujes i kao standalone (od servisa pa na nize), onda mozes da ides i preko JNDI datasource-a: http://tomcat.apache.org/tomca...datasource-examples-howto.html


Auuuuuuuuu ovo je dobro, jako korisno.
Taman sam se zabrinuo da nema resenja i da moram da menjam web "kantu" ! ;)
Trenutno se stanje malo stabilizovalo.
Pokrenuo sam Tomcat preconfigured verziju 5.0.28 i zaobisao winodws service,
evo vec 5-6h radi normalno.

Hvala na savetu.

Every program is either trivial or it contains at least one bug.
 
Odgovor na temu

Cyberghost
Aleksandar Jovanović
Programer
S U M A D I J A

Član broj: 14674
Poruke: 813
91.150.76.*



+1 Profil

icon Re: Apache Tomcat 6.0.10 se gasi sam !23.06.2008. u 17:25 - pre 192 meseci
Ponovo je poceo da se desava isti problem.
Pronasao sam uzrok na mySQL forumu gde je opisano da problem
nastaje kada se nakon zavrsetka komunikacije sa bazom ne uradi
odmah zatvaranje konekcije.
Sve sam 2 puta proverio, u svim klasama nakon vracanja rezultata upita vrsim zatvaranje
konekcije, i opet je isti problem, posle nekoliko sati u idle rezimu mySQL se zaglupi
i ne mogu se povezati na njega.
Mnogi imaju problem sa ovim i pokusano je na razne nacine konfigurisanjem my.cfg fajl za mySQL
ali meni i dalje ne ide.
Pominje se postavljanje autoReconnect = true // ali opet se napominje da to nije dobro
Pise i da mySQL nakon 8h neaktivnosti zatvara konekciju ...
Sve me ovo zbunjuje i jednostavno aplikacija posle nekoliko sati ne radi, pre 2 godine
sam imao problem kada sam otisao na ispit i hteo da pokazem aplikaciju koja je radila
kod kuce na racunaru nismo mogli da se ulogujemo, sad se ispostavilo da je i tada bio isti
problem !

Da li da menjam ovaj mySQL, dajte neki predlog !!!

Glavni problem je ovo:
Communications link failure due to underlying exception
Every program is either trivial or it contains at least one bug.
 
Odgovor na temu

anon315

Član broj: 315
Poruke: 1657
*.adsl-a-1.sezampro.yu.



+13 Profil

icon Re: Apache Tomcat 6.0.10 se gasi sam !23.06.2008. u 19:10 - pre 192 meseci
Pa dao sam ti savet

Imao sam, cini mi se, slican problem kada sam koristio dbcp, a ovakvo podesavanje parametara mi je zavrsilo posao (copy/paste-ovao sam iz Spring contexta..):

Code:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="${db.driver}"/>
        <property name="url" value="${db.url}"/>
        <property name="username" value="${db.user}"/>
        <property name="password" value="${db.pass}"/>
        <property name="initialSize" value="5" />
        <property name="maxActive" value="10" />
        <property name="maxIdle" value="10" />
        <!-- Na svakih sat cisti idle kandidate -->
        <property name="timeBetweenEvictionRunsMillis" value="3600000" />     
        <!-- Ovo su defaulti
         U jednom prolazu eviction threada maksimum 3 proveri
        <property name="numTestsPerEvictionRun" value="3" />  
         Da bi konekcija u pool-u bila kandidat za eviction, mora da je idle bar 30 minuta
        <property name="minEvictableIdleTimeMillis" value="1800000" />
        -->


Da stavis dbcp i pretumbas kod ti je 5 minuta..
 
Odgovor na temu

Cyberghost
Aleksandar Jovanović
Programer
S U M A D I J A

Član broj: 14674
Poruke: 813
91.150.76.*



+1 Profil

icon Re: Apache Tomcat 6.0.10 se gasi sam !24.06.2008. u 15:55 - pre 192 meseci
E evo skinuo sam dbcp postavio ga kako kaze uputstvo i napravio context.xml u okviru aplikacije,
veceras cemo da vidimo da li ce da radi !!!!

dbcp.jar sam smestio u TOMCAT/common/lib ovo Boldirano sam moram da napravim !
U uputstvu kaze da Tomcat jedino iz tog direktorijuma tj. $CATALINA_HOME/common/lib hoce
da ucita biblioteke !!!
Every program is either trivial or it contains at least one bug.
 
Odgovor na temu

Dejan Lozanovic
Dejan Lozanovic
Beograd

Član broj: 691
Poruke: 2325
*.dynamic.sbb.rs.

Jabber: null@elitesecurity.org
Sajt: speedy-order.com


+75 Profil

icon Re: Apache Tomcat 6.0.10 se gasi sam !25.06.2008. u 15:35 - pre 192 meseci
e a drugo pitanje kako koristis konekciju s bazom, jel koristis JDBC ili jos nesto pored, ako se zezas sa cistim JDBC-om onda imaj na umu da svaki PreparedStatement i resultSet isto tako moras da zatvaras nakon upotrebe.
 
Odgovor na temu

Cyberghost
Aleksandar Jovanović
Programer
S U M A D I J A

Član broj: 14674
Poruke: 813
91.150.76.*



+1 Profil

icon Re: Apache Tomcat 6.0.10 se gasi sam !25.06.2008. u 17:54 - pre 192 meseci
Citat:
Dejan Lozanovic: e a drugo pitanje kako koristis konekciju s bazom, jel koristis JDBC ili jos nesto pored, ako se zezas sa cistim JDBC-om onda imaj na umu da svaki PreparedStatement i resultSet isto tako moras da zatvaras nakon upotrebe.


Koristim JDBC driver. Konekcije se "uzimaju " i "vracaju" u ConnectionPool.
Nekim cudom statement i resultSet nisu zatvoreni nakon upotrebe ali jeste zatvorena konekcija ka bazi, tj
vracena je konekcija u pool cime se izvrsilo zatvaranje konekcije.
Pronasao sam kompletan tutorial za ovaj DBCP na
http://tomcat.apache.org/tomca...datasource-examples-howto.html
pa cu jos jednom od pocetka sve da probam ako to ne prodje ne znam sta da radim.
Ucim Struts trenutno pa cu probati kasnije i sa Vanjinim primerom Context-a.
Every program is either trivial or it contains at least one bug.
 
Odgovor na temu

anon315

Član broj: 315
Poruke: 1657
*.adsl-a-1.sezampro.yu.



+13 Profil

icon Re: Apache Tomcat 6.0.10 se gasi sam !25.06.2008. u 19:28 - pre 192 meseci
Context ti je iz Springa, ali nije bila poenta da ti skrenem paznju na to, nego na parametre DBCP-a. Ne moras da koristis Spring za to..

Btw, ako ucis Struts, nadam se da ucis Struts2 ;)
 
Odgovor na temu

Cyberghost
Aleksandar Jovanović
Programer
S U M A D I J A

Član broj: 14674
Poruke: 813
77.46.241.*



+1 Profil

icon Re: Apache Tomcat 6.0.10 se gasi sam !26.06.2008. u 09:09 - pre 192 meseci
Citat:
Vanja Petreski: Context ti je iz Springa, ali nije bila poenta da ti skrenem paznju na to, nego na parametre DBCP-a. Ne moras da koristis Spring za to..

Btw, ako ucis Struts, nadam se da ucis Struts2 ;)


Da poceo sam Struts da citam e onda sam primetio da je izasla Verzija 2, i kada sam nju poceo da citam
konkretno Practical Apache Struts 2 Web 2.0 Projects poceli su sa Mavenom i Ajax-om
i nisam mogao da se sastavim, pa sad jurim nesto jednostavnije, kao sto je Struts 1
from Beginning to Professional ali ta knjiga je za Struts 1 !!!

Ima li neki predlog za pocetak u Struts 2 ?
Nasao sam:

- Struts 2 in Action (In Action)
- Struts: The Complete Reference, 2nd Edition
- sve ostale su Pro varijante
Every program is either trivial or it contains at least one bug.
 
Odgovor na temu

anon315

Član broj: 315
Poruke: 1657
*.adsl-a-1.sezampro.yu.



+13 Profil

icon Re: Apache Tomcat 6.0.10 se gasi sam !26.06.2008. u 18:00 - pre 192 meseci
Manning - Struts 2 in Action 2008 je odlicna knjiga, ja sam je bas skoro procitao i bas sam zadovoljan. Doduse i sajt je neophodan, jer se S2 brzo razvija..
 
Odgovor na temu

[es] :: Java :: Apache Tomcat 6.0.10 se gasi sam !

[ Pregleda: 3229 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.