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" <[EMAIL PROTECTED]>
To: "'Jetspeed Users List'" <[EMAIL PROTECTED]>
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:[EMAIL PROTECTED]
> 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" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> 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: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 

Reply via email to