# Javamelody JDBC



## bob_sheknowdas (26. Aug 2011)

Hi,
ich versuche über javamelody einen apache tomcat zu überwachen und will auch die jdbc-funktionien einstellen.
allerdings kann ich folgendem tutorial nicht ganz folgen: UserGuide - javamelody - monitoring of JavaEE applications - Google Project Hosting

wo genau muss ich jetzt die driverclass definieren? in der web.xml des tomcat?


----------



## Noctarius (26. Aug 2011)

in der web.xml vermute ich


----------



## bob_sheknowdas (26. Aug 2011)

hab ich versucht, sah dann bei mir so aus:

[xml]<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">

  <display-name>Welcome to Tomcat</display-name>
  <description>
     Welcome to Tomcat
  </description>
  <property name="hibernate.connection.driver_class">net.bull.javamelody.JdbcDriver</property>
  <property name="hibernate.connection.driver">oracle.jdbc.OracleDriver</property>
  <property name="hibernate.connection.url">jdbcracle:thinsvorat:1521rat2</property>
  <property name="hibernate.connection.username">test123</property>
  <property name="hibernate.connection.password">test123</property>
  <filter>
     <filter-name>monitoring</filter-name>
     <filter-class>net.bull.javamelody.MonitoringFilter</filter-class>
     <init-param>
       <param-name>system-actions-enabled</param-name>
       <param-value>true</param-value>
     </init-param>
   </filter>
   <filter-mapping>
     <filter-name>monitoring</filter-name>
     <url-pattern>/*</url-pattern>
   </filter-mapping>
   <listener>
     <listener-class>net.bull.javamelody.SessionListener</listener-class>
    </listener>
<!-- JSPC servlet mappings start -->
    <servlet>
        <servlet-name>org.apache.jsp.index_jsp</servlet-name>
        <servlet-class>org.apache.jsp.index_jsp</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>org.apache.jsp.index_jsp</servlet-name>
        <url-pattern>/index.jsp</url-pattern>
    </servlet-mapping>

<!-- JSPC servlet mappings end -->

</web-app>
[/xml]

aber das funktioniert irgendwie nicht...


----------



## Noctarius (26. Aug 2011)

Welcher Tomcat? 7?


----------



## bob_sheknowdas (26. Aug 2011)

is doch drinne. bei mir zeile 28 (wird blos als auskommentiert gezeigt, weil der javacode das /* zeile 25 als kommentar erkennt  -  im .xml-file isses aber kein kommentar)


----------



## Noctarius (26. Aug 2011)

Noctarius hat gesagt.:


> Welcher Tomcat? 7?



Siehe oben, ist mir danach auch aufgefallen


----------



## bob_sheknowdas (26. Aug 2011)

spielst du darauf an was in zeile 7 steht?
ich habe die web.xml nicht weiter verändert ausser die paar zilen eingefügt wie im tutorial beschrieben. der rest (inklusive zeile 7) stand schon vorher so und der tomcat funktioniert einwandfrei, inklusive dem monitoring (ausser der überwachung der datanbanken)...


----------



## Noctarius (26. Aug 2011)

Ich meine eher Zeile 19 / 20

Hast du das gesehen: UserGuideAdvanced - javamelody - monitoring of JavaEE applications - Google Project Hosting


----------



## bob_sheknowdas (26. Aug 2011)

also ich nutze tomcat 5.5  -  die anleitung unter dem link den du gepostet hat fordert tomcat 6...


----------



## Noctarius (26. Aug 2011)

Tomcat 5.5 ist total veraltet. Die Property die du in Zeile 19/20 setzt ist auch erst für Servlet API 3, also Tomcat 7 (steht auch in der Doku ).


----------



## bob_sheknowdas (26. Aug 2011)

Noctarius hat gesagt.:


> Tomcat 5.5 ist total veraltet. Die Property die du in Zeile 19/20 setzt ist auch erst für Servlet API 3, also Tomcat 7 (steht auch in der Doku ).



hab ich nicht gefunden, dass das da steht...
 ich hab das im zuge von punkt 6 "optional parameters" eigefügt. die zusätzlichen anzeigen hab ich jetzt auch, funktioneirt alles prima...


----------



## bob_sheknowdas (26. Aug 2011)

sry für den doppelpost, hab noch keinen editierbutton gefunden^^

a) hättest du nen plan wie ich das umschreiben muss um das für ne ältere tomcatversion anzupassen?

b) tomcat 7 wurde noch nicht von deegree freigegeben, kann ich das trotzdem kombinieren?


----------



## Noctarius (26. Aug 2011)

Sorry keine Ahnung. Bis du das genannt hast, kannte ich das Tool noch gar nicht *schäm*


----------



## bob_sheknowdas (30. Aug 2011)

also ich hab mir jetzt den tomcat 7 gezogen und nochmal versucht jebc zu integrieren, hat aber wieder nicht funktioniert.
der code sieht genauso aus wie beim tomcat 5.5  -  wer also nochmal nasehen möchte kann im post weiter oben schaun


----------



## nillehammer (30. Aug 2011)

Hab die verlinkte Anleitung (UserGuide - javamelody - monitoring of JavaEE applications - Google Project Hosting) mal kurz überflogen. Da ist von einer JNDI Datasource die Rede. Die DataSource wird entweder in der server.xml oder der context.xml der Webanwendung definiert. In der server.xml, wenn die DataSource allen Anwendungen zur Verfügung stehen soll. In der context.xml der Webanwendung, wenn nur die eine Webanwendung die DataSource benutzen soll. Die DataSource wird in der web.xml nur referenziert. Nähere Infos erhälst Du in den Kapiteln 8. und 9. der Tomcat Doku (Apache Tomcat 7 (7.0.20) - Documentation Index)

// Edit: Habe weitergelesen. Die Überwachung von jdbc geht natürlich nur, wenn die überwachte Anwendung es auch nutzt. Bei einer JNDI-DataSource geht das wohl out of the box. Wenn Die Anwendung aber jdbc direkt bentutzt, dann musst du es da einstellen, wo die Anwendung die jdbc-Connection aufbaut. Bei Nutzung von Hibernate ist das die hbm.xml. Im schlimmsten Fall ist das sogar der Quellcode der Anwendung, wenn dort mit Class.forName die Driver Klasse geladen wird. Das hängt wie gesagt von der Webanwendung ab, die Du überwachen willst.


----------

