[prev in list] [next in list] [prev in thread] [next in thread] 

List:       jetspeed-user
Subject:    Re: Monitoring Jetspeed
From:       "Daniela Mercadante" <daniela.mercadante () softeco ! it>
Date:       2003-08-29 7:38:18
[Download RAW message or body]


Hi Peter,

Your code seems right, but I don't believe it's a problem of improper Jetspeed \
connection handling.  Of course, it seems that a possible cause is the connection \
handling, but :  1.. you should understand the responsible for connection raising (I \
don't believe it's Jetspeed itself).  2.. I have no such deep knowledge to ensure you \
that this is the only one explanation.... :-) In my case, the problem was that each \
application handled a connection and developing some applications integrated in \
Jetspeed, when the web traffic grew the DB reached after some time the "Too many \
connections!".  I configured Tomcat in order to use DBCP - one for each application \
developed (the Context tag in Tomcat). In this way I only defined to use the DBCP \
I've not already used it! Also my code changed (the connection modality): if you take \
a look at the address that I gave you past time, there is a Java code example that \
uses the Datasource and connection pool. So, what you have done is only to set the \
DBCP not to use it, you should change Jetspeed code to use it!!!! (unfeasible option) \
 A  suggestion:
Try to monitor your active connections with netstat -a  command and navigate in your \
portal, you should discover what actions are responsible for connection raising.

Hope this help,
Daniela



----- Original Message ----- 
From: "Peter Kapakos" <pkapakos@teleias.com>
To: "'Jetspeed Users List'" <jetspeed-user@jakarta.apache.org>
Sent: Thursday, August 28, 2003 4:29 PM
Subject: RE: Monitoring Jetspeed


> Daniela,
> 
> Thank you for your response - it has explained why we sometimes see the
> 'Horrible Exception' when logging into Jetspeed. We were able to replicate
> the 'Horrible Exception' with a piece of code that runs as a cron job and
> logs into Jetspeed every few minutes...when the connection limit is reached,
> Jetspeed crashes.
> 
> We are using Jetspeed 1.4b3 with Tomcat 4.1.24 on Solaris. The psml database
> is the default HypersonicSQL database that comes with Jetspeed. I have
> followed the examples on the Tomcat site for configuring DBCP, but we are
> still seeing the 'Horrible Exception' when we run our login program and hit
> the site every few minutes. I'm not sure if I've configured Tomcat correctly
> to enable DBCP for Jetspeed/HypersonicSQL. My files look like:
> 
> server.xml
> 
> ....
> <Context path="" docBase="jetspeed" debug="0"
> reloadable="true" crossContext="true">
> <Resource name="jdbc/jetspeed" auth="Container"
> type="javax.sql.DataSource"/>
> <ResourceParams name="jdbc/jetspeed">
> <parameter>
> <name>factory</name>
> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
> </parameter>
> <parameter>
> <name>removeAbandoned</name>
> <value>true</value>
> </parameter>
> <parameter>
> <name>removeAbandonedTimeout</name>
> <value>60</value>
> </parameter>
> <parameter>
> <name>maxActive</name>
> <value>100</value>
> </parameter>
> <parameter>
> <name>maxIdle</name>
> <value>50</value>
> </parameter>
> <parameter>
> <name>maxWait</name>
> <value>10000000</value>
> </parameter>
> <parameter><name>username</name><value>sa</value></parameter>
> <parameter><name>password</name><value></value></parameter>
> 
> <parameter><name>driverClassName</name><value>org.hsql.jdbcDriver</value></p
> arameter>
> 
> <parameter><name>url</name><value>jdbc:HypersonicSQL:database</value></param
> eter>
> </ResourceParams>
> </Context>
> ...
> 
> web.xml for Jetspeed
> 
> ....
> <?xml version="1.0" encoding="ISO-8859-1"?>
> 
> <!DOCTYPE web-app
> PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
> "http://java.sun.com/j2ee/dtds/web-app_2.2.dtd">
> 
> <web-app>
> <display-name>Jetspeed Enterprise Information Portal</display-name>
> <servlet>
> <servlet-name>
> jetspeed
> </servlet-name>
> <servlet-class>
> org.apache.turbine.Turbine
> </servlet-class>
> 
> <init-param>
> <param-name>properties</param-name>
> <param-value>
> WEB-INF/conf/TurbineResources.properties
> </param-value>
> </init-param>
> <load-on-startup>1</load-on-startup>
> </servlet>
> 
> <servlet-mapping>
> <servlet-name>
> jetspeed
> </servlet-name>
> <url-pattern>
> /portal/*
> </url-pattern>
> </servlet-mapping>
> <servlet-mapping>
> <servlet-name>
> jetspeed
> </servlet-name>
> <url-pattern>
> /jetspeed/*
> </url-pattern>
> </servlet-mapping>
> 
> <mime-mapping>
> <extension>wbmp</extension>
> <mime-type>image/vnd.wap.wbmp</mime-type>
> </mime-mapping>
> 
> <mime-mapping>
> <extension>wml</extension>
> <mime-type>text/vnd.wap.wml</mime-type>
> </mime-mapping>
> 
> <mime-mapping>
> <extension>wmls</extension>
> <mime-type>text/vnd.wap.wmlscript</mime-type>
> </mime-mapping>
> 
> <welcome-file-list>
> <welcome-file>index.jsp</welcome-file>
> <welcome-file>index.wml</welcome-file>
> <welcome-file>index.html</welcome-file>
> </welcome-file-list>
> 
> <resource-ref>
> <description>DB Connection</description>
> <res-ref-name>jdbc/jetspeed</res-ref-name>
> <res-type>javax.sql.DataSource</res-type>
> <res-auth>Container</res-auth>
> </resource-ref>
> 
> </web-app>
> .... 
> 
> What am I doing wrong?
> 
> Peter
> 
> -----Original Message-----
> From: Daniela Mercadante [mailto:daniela.mercadante@softeco.it]
> Sent: Monday, August 25, 2003 3:02 AM
> To: Jetspeed Users List
> Subject: Re: Monitoring Jetspeed
> 
> 
> Hi Peter,
> I have not so much experience in Jetspeed, but I know that this error can be
> generated in different ways. I can share with you one of the causes: I have
> jetspeed 1.4 b3, MySQL on Windows 2000.
> Our website has different services that use DB connection, so not managing
> properly these connections after sometimes the system reached the maximum of
> connection, jetspeed crashed and it gave the mentioned error at each login.
> So the problem was the incorrect handling of DB connection and the only
> solution was to stop Tomcat and to restart it in order to release
> connections.
> The solution that works perfectly is to enable in Tomcat the DBCP for each
> services implemented and the connection number doesn't grow anymore.
> You can find details at the following address:
> http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jndi-datasource-examples-how
> to.html
> 
> Hope this will help you.
> 
> Daniela
> 
> ----- Original Message -----
> From: "Peter Kapakos" <pkapakos@teleias.com>
> To: <jetspeed-user@jakarta.apache.org>
> Sent: Wednesday, August 13, 2003 5:27 PM
> Subject: Monitoring Jetspeed
> 
> 
> > Does anyone know of a way to monitor Jetspeed to ensure that it is
> running?
> > Users of our jetspeed portal are sometimes confronted with the following
> > java error:
> > 
> > Horrible Exception: org.apache.jetspeed.om.profile.ProfileException:
> > java.lang.NullPointerException at
> > 
> org.apache.jetspeed.services.profiler.JetspeedProfilerService.fallbackProfil
> > e (JetspeedProfilerService.java:414) at
> > 
> org.apache.jetspeed.services.profiler.JetspeedProfilerService.getProfile(Jet
> > speedProfilerService.java:287) at
> > 
> org.apache.jetspeed.services.profiler.JetspeedProfilerService.getProfile(Jet
> > speedProfilerService.java:440) at
> > org.apache.jetspeed.services.Profiler.getProfile(Profiler.java:123) at
> > 
> org.apache.jetspeed.modules.actions.JetspeedAccessController.doPerform(Jetsp
> > eedAccessController.java:99) at
> > org.apache.turbine.modules.Action.perform(Action.java:87) at
> > org.apache.turbine.modules.ActionLoader.exec(ActionLoader.java:122) at
> > org.apache.turbine.Turbine.doGet(Turbine.java:476) at
> > org.apache.turbine.Turbine.doPost(Turbine.java:616) at
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at
> > 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> > FilterChain.java:247) at
> > 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> > ain.java:193) at
> > 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
> > va:260) at
> > 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> > eNext(StandardPipeline.java:643) at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> > at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> at
> > 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
> > va:191) at
> > 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> > eNext(StandardPipeline.java:643) at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> > at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> at
> > org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396)
> > at
> > 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
> > ) at
> > 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> > eNext(StandardPipeline.java:643) at
> > 
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
> > java:170) at
> > 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> > eNext(StandardPipeline.java:641) at
> > 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172
> > ) at
> > 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> > eNext(StandardPipeline.java:641) at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> > at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> at
> > 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
> > > 174) at
> > 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> > eNext(StandardPipeline.java:643) at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> > at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> at
> > 
> org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:
> > 1040) at
> > 
> org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1151
> > ) at java.lang.Thread.run(Thread.java:536)
> > 
> > We are not entirely sure what causes this error, but we need a way to know
> > that it has occured before a user logs on and sees it. Currently we only
> > know about it when a user encounters it upon logging in and then notifies
> > us...at which point we restart Tomcat and the error goes away.
> > 
> > If anyone can shed any light on:
> > 
> > 1) the cause of this error
> > 2) how it can be avoided
> > 3) monitoring jetspeed for availability
> > 
> > Thanks in advance everyone.
> > 
> > Peter Kapakos
> > Web Developer
> > Teleias Inc.
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: jetspeed-user-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: jetspeed-user-help@jakarta.apache.org
> > 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jetspeed-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: jetspeed-user-help@jakarta.apache.org
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jetspeed-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: jetspeed-user-help@jakarta.apache.org
> 



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic