Weblogic 8.1 SP2 + Sybase: Problem with Insufficient Procedure Cache Memory

Hi all,
Our Weblogic server(8.1, SP2) encountered a problem this week.
It connects to Sybase.
For a particular database query (which involves temporary tables), the DB seems to have run out of "Procedure Cache memory". And as a result, has thrown an exception.
What is a bit wierd is that, the Weblogic, slowly, seems to have exhausted all its DB resources, and all the subsequent database queries (even the simple ones) have failed due to some error or the other.
The weblogic required a re-start for it to acquire back its DB resources.
Has somebody faced a similar problem before, please?
On reading the Release Notes for WLS: 8.1, I see that the Service Packs SP4, SP5 seem to have a few bug fixes related to memory leaks (especially, in case a Prepared statement failed).
[Related CRs are CR233948, CR179600, CR183190].
Does this mean that an Upgrade to 8.1: SP5 or maybe even SP6 help, please?
Would welcome any kind of advice/suggestions.
Thanks you!!!!
Rhishi.

Rhishikesh Anandamoorthy wrote:
Hi Joe,
Thanks a lot for your reply.
I should have mentioned in my previous post that the DBA had indeed recommended
an increase to the Sybase's Procedure Cache Memory size. (We have a separate
DBA team out here, and I do not have DBA access to my database).
But I am a bit apprehensive on two counts:
1. From the DB logs, I see that the query which seems to have failed is something
which is fired day in and day out (though this involves the usage of temporary tables,
which might have filled up the Cache). I should also add that the "DB statistics" was
also being run (automatically) about the same time when the query failed. But again,
the "DB statistics" is run everyday. So, cant see much of a problem here.Nevertheless, it is an internal DBMS issue.
2. The CR179600 and CR183190 of the Weblogic Release Notes suggests that: "Under
certain statement failure conditions, cached statements are leaked without being
closed, which can lead to DBMS resource problems."
So, I am just wondering if this is indeed the actual cause. If so, it might mean
that there is a chance, though slight, that the problem might re-occur.
There seems to be a fix for this in SP5.I certainly advocate upgrading to 81sp6, but that issue had to do with Oracle,
which retains DBMS 'cursors' for each open prepared statement. This will have
no effect on a Sybase DBMS.
I can certainly upgrade to SP6. But, the application seems to have been pretty
stable with SP2 for the past 4 years.
I understand that an upgrade to SP6 may not be such a big change. But, it would
still be a change.
And the webapp which the server supports is very critical to our customer
[which webapp is not? :-) ], and a server-restart again for this issue would
certainly not be acceptable.
So, would want to be doubly sure, if an upgrade is indeed the right way out.
Thank you!!!
Rhishi.In that case, I would stay comfortable with SP2 if you like. In my professional
opinion, at this time, it is a purely DBMS-side issue, based on the current
evidence. Note that the same WLS was fine for these same previous years. The
problem may have to do with a gradual or recent change in the load or size of
the DBMS.
Joe Weinstein at BEA Systems ( nee [email protected] 1988-1996 )

Similar Messages

  • Problems with a Procedure

    People,
    I'm having a problem with a procedure in the moment I'm trying to execute it, could someone help.
    CREATE OR REPLACE PROCEDURE CARREGA IS
    begin
         declare
              strSQL VARCHAR2(250);
              NCham     number(9);
              cursor n_chamados is
              SELECT NumeroChamado, Planta, Instalacao, Defeito,
              DescricaoDefeito, Servico, DataChamado,Horas, Minutos
              FROM DEFEITOS_AUX;
    begin
         For reg_chamado in n_chamados
         Loop
              begin
                   NCham := reg_chamado.numerochamado;
                   strSQL := 'SELECT numerochamado FROM Defeitos';
                   strSQL := strSQL || ' WHERE numerochamado =';
                   strSQL := strSQL || NCham || ' GROUP BY numerochamado';
                   EXECUTE IMMEDIATE strSQL;
              exception
                   when no_data_found then
                   strSQL := 'INSERT INTO Defeitos (';
                   strSQL := strSQL || 'NumeroChamado, ';
    strSQL := strSQL || 'Planta, ';
                   strSQL := strSQL || 'Instalacao, ';
                   strSQL := strSQL || 'Defeito, ';
                   strSQL := strSQL || 'DescricaoDefeito, ';
                   strSQL := strSQL || 'Servico, ';
                   strSQL := strSQL || 'DataChamado, ';
                   strSQL := strSQL || 'Horas, ';
                   strSQL := strSQL || 'Minutos) ';
              strSQL := strSQL || 'VALUES ( ';
              strSQL := strSQL || reg_chamado.NumeroChamado || ', ';
              strSQL := strSQL || reg_chamado.Planta || ', ';
              strSQL := strSQL || reg_chamado.Instalacao || ', ';
              strSQL := strSQL || reg_chamado.Defeito || ', ';
              strSQL := strSQL || reg_chamado.DescricaoDefeito || ', ';
              strSQL := strSQL || reg_chamado.Servico || ', ';
              strSQL := strSQL || reg_chamado.DataChamado || ', ';
              strSQL := strSQL || reg_chamado.Horas || ', ';
              strSQL := strSQL || reg_chamado.Minutos || ')';
                   EXECUTE Immediate strSQL;
              end;
              strSQL := 'UPDATE Defeitos SET ';
              strSQL := strSQL || 'Planta = ' || reg_chamado.Planta;
              strSQL := strSQL || ', Instalacao = ' || reg_chamado.Instalacao;
              strSQL := strSQL || ', Defeito = ' || reg_chamado.Defeito;
              strSQL := strSQL || ', DescricaoDefeito = ' || reg_chamado.DescricaoDefeito;
              strSQL := strSQL || ', Servico = ' || reg_chamado.Servico;
              strSQL := strSQL || ', DataChamado = ' || reg_chamado.DataChamado;
              strSQL := strSQL || ', Horas = ' || reg_chamado.Horas;
              strSQL := strSQL || ', Minutos = ' || reg_chamado.Minutos;
              strSQL := strSQL || ' WHERE NumeroChamado = ' || NCham;
              EXECUTE Immediate strSQL;
         end loop;
    end;
    end;

    Hi Erika,
    there is no need for dynamic SQL.
    I suppose the NumeroChamado is your primary key and has an unique index on it.
    Just insert the rows and if there is already an existing row, catch the exception and update the row.
    CREATE OR REPLACE PROCEDURE CARREGA IS
      CURSOR n_chamados IS
        SELECT NumeroChamado,
               Planta,
               Instalacao,
               Defeito,
               DescricaoDefeito,
               Servico,
               DataChamado,
               Horas,
               Minutos
        FROM   DEFEITOS_AUX;
    BEGIN
      FOR reg_chamado IN n_chamados LOOP
      BEGIN
        INSERT INTO Defeitos (;
          NumeroChamado, ';
          Planta,
          Instalacao,
          Defeito,
          DescricaoDefeito,
          Servico,
          DataChamado,
          Horas,
          Minutos
        ) VALUES (
          reg_chamado.NumeroChamado,
          reg_chamado.Planta,
          reg_chamado.Instalacao,
          reg_chamado.Defeito,
          reg_chamado.DescricaoDefeito, 
          reg_chamado.Servico,
          reg_chamado.DataChamado,
          reg_chamado.Horas,
          reg_chamado.Minutos
      EXCEPTIONS
      WHEN DUP_VAL_ON_INDEX THEN
        UPDATE Defeitos SET
          Planta = reg_chamado.Planta,
          Instalacao = reg_chamado.Instalacao,
          Defeito = reg_chamado.Defeito,
          DescricaoDefeito = reg_chamado.DescricaoDefeito,
          Servico = reg_chamado.Servico,
          DataChamado = reg_chamado.DataChamado,
          Horas = reg_chamado.Horas,
          Minutos = reg_chamado.Minutos
        WHERE NumeroChamado = reg_chamado.NumeroChamado;
      END;
      END LOOP;
    END;

  • WLS 7.0 sp2 - Servlet Problems with SOAP messages

              I'm using Weblogic 7.0 SP2 and trying to create a Servlet to receive SOAP wrapped
              XML messages. I'm getting the following error. Is this a problem with WLS7.0sp2's
              support of JAXM? The System.out.println's indicate I have successfully received
              the incoming SOAP request and then successfully formatted the SOAP response, but
              upon returning saving the response it appears to blow up. Does anyone have any
              suggestions?
              I need to do the following in a servlet:
              - receive an incoming SOAP request with an embedded XML message
              - perform some processing
              - return a SOAP response with an embedded XML message
              Should I be using JAXM? Or can I do this same task easily with JAX-RPC?
              <Feb 24, 2004 4:10:42 PM AST> <Error> <HTTP> <101017> <[ServletContext(id=260434
              7,name=isd.war,context-path=)] Root cause of ServletException
              java.lang.Error: NYI
              at weblogic.webservice.core.soap.SOAPMessageImpl.saveRequired(SOAPMessag
              eImpl.java:360)
              at javax.xml.messaging.JAXMServlet.doPost(Unknown Source)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
              at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
              (ServletStubImpl.java:1058)
              at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
              pl.java:401)
              at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
              pl.java:306)
              at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
              n.run(WebAppServletContext.java:5445)
              at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
              eManager.java:780)
              at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
              rvletContext.java:3105)
              at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
              pl.java:2588)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
              >
              I've stripped the code down so that all it does is verifies the incoming SOAP/XML
              request and creates a hard-coded response... be gentle... I'm a novice at this
              import javax.xml.soap.*;
              import javax.servlet.*;
              import javax.servlet.http.*;
              // import javax.xml.transform.*;
              import java.util.*;
              import java.io.*;
              public class RegisterServlet extends HttpServlet
              static MessageFactory fac = null;
              static
              try
              fac = MessageFactory.newInstance();
              catch (Exception ex)
              ex.printStackTrace();
              public void init(ServletConfig servletConfig) throws ServletException
              super.init(servletConfig);
              public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException,
              IOException
              try
              System.out.println("** Note: doPost() Entering req = " + req);
              // Get all the headers from the HTTP request
              MimeHeaders headers = getHeaders(req);
              // Get the body of the HTTP request
              InputStream is = req.getInputStream();
              // Now internalize the contents of a HTTP request
              // and create a SOAPMessage
              SOAPMessage msg = fac.createMessage(headers, is);
              System.out.println("** Note: doPost() Step A");
              SOAPMessage reply = null;
              reply = onMessage(msg);
              System.out.println("** Note: doPost() Step B reply = " + reply);
              if (reply != null)
              * Need to call saveChanges because we're
              * going to use the MimeHeaders to set HTTP
              * response information. These MimeHeaders
              * are generated as part of the save.
              if (reply.saveRequired())
              System.out.println("** Note: doPost() Step C reply.saveRequired()");
              reply.saveChanges();
              resp.setStatus(HttpServletResponse.SC_OK);
              putHeaders(reply.getMimeHeaders(), resp);
              // Write out the message on the response stream
              OutputStream os = resp.getOutputStream();
              System.out.println("** Note: doPost() Step D os = " + os);
              reply.writeTo(os);
              os.flush();
              else
              resp.setStatus(HttpServletResponse.SC_NO_CONTENT);
              catch (Exception ex)
              throw new ServletException("** Error: SAAJ POST failed: " + ex.getMessage());
              static MimeHeaders getHeaders(HttpServletRequest req)
              Enumeration enum = req.getHeaderNames();
              MimeHeaders headers = new MimeHeaders();
              while (enum.hasMoreElements())
              String headerName = (String)enum.nextElement();
              String headerValue = req.getHeader(headerName);
              StringTokenizer values =
              new StringTokenizer(headerValue, ",");
              while (values.hasMoreTokens())
              headers.addHeader(headerName,
              values.nextToken().trim());
              return headers;
              static void putHeaders(MimeHeaders headers, HttpServletResponse res)
              Iterator it = headers.getAllHeaders();
              while (it.hasNext())
              MimeHeader header = (MimeHeader)it.next();
              String[] values = headers.getHeader(header.getName());
              if (values.length == 1)
              res.setHeader(header.getName(),
              header.getValue());
              else
              StringBuffer concat = new StringBuffer();
              int i = 0;
              while (i < values.length)
              if (i != 0)
              concat.append(',');
              concat.append(values[i++]);
              res.setHeader(header.getName(), concat.toString());
              // This is the application code for handling the message.
              public SOAPMessage onMessage(SOAPMessage message)
              SOAPMessage replymsg = null;
              try
              System.out.println("** Note: OnMessage() Entering msg = " + message);
              //Extract the ComputerPart element from request message and add to reply SOAP
              message.
              SOAPEnvelope reqse = message.getSOAPPart().getEnvelope();
              SOAPBody reqsb = reqse.getBody();
              //System.out.println("** Note: OnMessage() Step B");
              System.out.println("** Note: OnMessage () Step A Soap Request Message Body = "
              + reqsb);
              //Create a reply mesage from the msgFactory of JAXMServlet
              System.out.println("** Note: OnMessage () Step B");
              replymsg = fac.createMessage();
              SOAPPart sp = replymsg.getSOAPPart();
              SOAPEnvelope se = sp.getEnvelope();
              SOAPBody sb = se.getBody();
              System.out.println("** Note: OnMessage () Step C Soap Reply Before Message Body
              = " + sb);
              se.getBody().addBodyElement(se.createName("RegisterResponse")).addChildElement(se.createName("ErrorCode")).addTextNode("000");
              System.out.println("** Note: OnMessage () Step D Soap Reply After Message Body
              = " + sb);
              replymsg.saveChanges();
              System.out.println("** Note: OnMessage() Exiting replymsg = " + (replymsg));
              catch (Exception ex)
              ex.printStackTrace();
              return replymsg;
              

    Michael,
    I got the same error on WLS8.1/Win2K professional and apache FOP (old version).
    After digging into the WLS code and FOP(old version). i found the conflict happens
    on
    the "org.xml.sax.parser" system property. In WLS code, they hard coded like the
    following when startup weblogic server:
    System.setProperty("org.xml.sax.parser", "weblogic.xml.jaxp.RegistryParser");
    But the FOP code try to use the "org.xml.sax.parser" system property to find the
    sax parser then conlict happens.
    Here is the response from BEA support :
    "I consulted with our developers regarding the question of whether we can change
    the hard-coded value for the java system property: org.xml.sax.parser by using
    a configuration parameter and I found that unfortunately there is no specific
    setting to change the value. As you had mentioned in your note the org.xml.sax.parser
    system property can be changed programmatically in your application code."
    I solve my problem by using newer apache FOP (it never use the system property:org.xml.sax.parser
    any more) and XML Registy for WLS8.1.
    Good luck.
    David Liu
    Point2 Technologies Inc.
    "p_michael" <[email protected]> wrote:
    >
    Help.
    When we migrated from WLS 6.1 to WLS 7.0 SP2 when encountered a problem
    with XML
    parsing that did not previously exist.
    We get the error "weblogic.xml.jaxp.RegistryParser is not a SAX driver".
    What does this mean? And, what should we do about it.
    p_michael

  • Weblogic 10.3.5.0 problem with hibernate criteria

    Hi,
    I have problim with using Hibernate Criteria on Weblogic server. Everithing works fine on Tomcat.
    On weblogic I can execute this on Weblogic :
    Query query = sessionFactory.getCurrentSession().createSQLQuery("select sysdate from dual");//To get string date
    String result = query.uniqueResult().toString();
    ,but I have problem with executing criteria which work on tomcat:
         Criteria crit=sessionFactory.getCurrentSession().createCriteria(MyclassWithHibernate.class);
         crit.setFirstResult(0);
         crit.setMaxResults(1);
         return (MyclassWithHibernate) crit.uniqueResult();
    On weblogic, same criteria return me null and I get this exception:
    java.lang.NullPointerException
         at test.Rasa.getValueTest(Rasa.java:68)
         at test.Rasa$$FastClassByCGLIB$$b6e6c0b9.invoke(<generated>)
         at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
         at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:692)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
         at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
         at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:625)
         at test.Rasa$$EnhancerByCGLIB$$e20363db.getValueTest(<generated>)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at flex.messaging.services.remoting.adapters.JavaAdapter.invoke(JavaAdapter.java:418)
         at flex.messaging.services.RemotingService.serviceMessage(RemotingService.java:183)
         at flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:1400)
         at flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoint.java:1005)
         at flex.messaging.endpoints.AbstractEndpoint$$FastClassByCGLIB$$1a3ef066.invoke(<generated>)
         at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
         at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:692)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
         at org.springframework.flex.core.MessageInterceptionAdvice.invoke(MessageInterceptionAdvice.java:66)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
         at org.springframework.aop.framework.adapter.ThrowsAdviceInterceptor.invoke(ThrowsAdviceInterceptor.java:124)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
         at org.springframework.aop.framework.Cglib2AopProxy$FixedChainStaticTargetInterceptor.intercept(Cglib2AopProxy.java:576)
         at flex.messaging.endpoints.AMFEndpoint$$EnhancerByCGLIB$$64941f01.serviceMessage(<generated>)
         at flex.messaging.endpoints.amf.MessageBrokerFilter.invoke(MessageBrokerFilter.java:103)
         at flex.messaging.endpoints.amf.LegacyFilter.invoke(LegacyFilter.java:158)
         at flex.messaging.endpoints.amf.SessionFilter.invoke(SessionFilter.java:44)
         at flex.messaging.endpoints.amf.BatchProcessFilter.invoke(BatchProcessFilter.java:67)
         at flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFilter.java:166)
         at flex.messaging.endpoints.BaseHTTPEndpoint.service(BaseHTTPEndpoint.java:291)
         at flex.messaging.endpoints.AMFEndpoint$$EnhancerByCGLIB$$64941f01.service(<generated>)
         at org.springframework.flex.servlet.MessageBrokerHandlerAdapter.handle(MessageBrokerHandlerAdapter.java:101)
         at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:771)
         at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
         at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
         at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
         at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    Enwironment is :
    WebLogic Server 10.3.5.0
    Hibernate 3.x
    Spring 3.x
    I am using this configuration i application context:
    <bean id="dataSource" class="oracle.jdbc.pool.OracleDataSource" destroy-method="close">
    <property name="connectionCachingEnabled" value="true" />
    <property name="URL" value="jdbc:oracle:thin:@address:port:db" />
         <property name="user" value="myuser"></property>
         <property name="password" value="mypass"></property>
    <property name="connectionCacheProperties">
    <props merge="default">
    <prop key="MinLimit">3</prop>
    <prop key="MaxLimit">20</prop>
    </props>
    </property>
    </bean>
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    <property name="dataSource" ref ="dataSource"/>
              <property name="packagesToScan" value="test*" />
    <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration"/>
              <property name="hibernateProperties">
                        <props>
                        <prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
    <prop key="hibernate.show_sql">true</prop>
                        <prop key="hibernate.format_sql">true</prop>
                        <prop key="hibernate.use_sql_comments">true</prop>
                        <prop key="hibernate.generate_statistics">true</prop>
    </props>
              </property>
    </bean>
    Thanks for any help.

    Which code snippet is throwing the nullpointerexception?
    Does Spring create the SessionFactory?
    Maybe it is related but when running Hibernate on WebLogic you have to take care of a classloading issue with the antlr libary,
    more information can be found here: http://middlewaremagic.com/weblogic/?p=5861

  • Problem with "Insufficient data for image" and embedded JPEG 2000 Images

    I frequently download pdf from the http://www.glorecords.blm.gov web site.  They are reporting a problem with Reader Reader 10.1.4 and the pdf files they have.
    "("Insufficient data for image" and embedded JPEG 2000 Images)"
    I am experiencing the same "Insufficient data for image" error when opening their downloaded pdf and viewing in ACROBAT X 10.1.4.
    Can someone address this please?
    Win 7 sp1

    Read this:
    http://blogs.adobe.com/dmcmahon/2012/08/21/acrobat-insufficient-data-for-an-image-error-af ter-updating-to-10-1-4-or-9-5-2/

  • Problem with optional attribute caching on a custom tag

    Hello,
    I've created a tag by extending TagSupport. I have one attribute that is optional. I'm having a problem with this attribute since the tag is cached. If the value is not specified in the tag, it is always using the previous value from the past request.
    I understand why this is happening, but I wonder if there is anyway to reset this value besides doing it at the end of the doStartTag or in the doEndTag methods? I simply want it to be an empty string if it is not in the request.
    Thanks,
    Tim

    Thats abit overkill in my opinion.Probably yes, but its a cleaner option. In case your doEndTag handles custom exceptions, you would anyhow need to put this code in a finally block, right ?
    public int doEndTag() throws JspException {
    try {
    call some methods that throws other checked exceptions;
    }catch(Exception1 e){
    throw JspException(e);
    }catch(Exception2 e){
    //log and ignore
    }finally{
    //clean up here
    return an int;
    Having said that, different containers implement the spec a bit differently. For example, in our project, we use weblogic and for wl, we put our clean up code in the release() method which according to the spec, needs to be called only before gc. Weblogic implementation is a bit different - its called after doEnd() for every use of the tag.
    This is from jsp spec regarding tag life cycle especially with reuse
    Some setters may be called again before a tag handler is reused. For
    instance, setParent() is called if it�s reused within the same page but at a dif-ferent
    level, setPageContext() is called if it�s used in another page, and
    attribute setters are called if the values differ or are expressed as request-time
    attribute values.
    �Check the TryCatchFinally interface for additional details related to exception handling and resource management.
    cheers,
    ram.
    }

  • Problem with threads and/or memory

    I'm developing an application where there are 3 threads. One of them sends a request to the other, and if the 2nd can't answer it, it sends it to the 3rd (similar to CPU -> CACHE -> MEMORY). When i run the program with 1000-10.000 requests, no problem occurs. When i run it with 300.000-1.000.000 requests, it sometimes hangs. Is this a problem with the garbage collector, or should it be related to the threads mecanism.
    (note: eache thread is in execution using a finite state machine)

    i had been running the program inside Netbeans.
    Running the jar using the command line outside
    Netbeans i have no more problems... Does Netbeans use
    it's own JVM?Depends how you set it up, but look under the options. There are settings for the compiler and jvm that it uses.

  • Problem with Oracle procedure

    Hi,
    We have a problem with a Oracle procedure call using the Sql Execute
    Procedure statement.
    The call gives us this error :
    SYSTEM ERROR: (This error was converted)
    (This error was converted)
    OpenCursor failed for SQL statement in project LFB010, class
    ClsDemarreLFB010,
    method Demarre, methodId 4, line 32, error from database is:
    ORA-01036: illegal variable name/num
    Class: qqdb_ResourceException
    Distributed method called: qqdb_SessionProxy.OpenCursor!22 (object
    name
    instance/d4745a10-c8e4-11d1-97fd-90cad1e7aa77:0x196:0x4/lfb010_cl0/lfb010_cl
    0-fonctiondbservice0x196:0x2)
    from partition "LFB010_CL0_Client", (partitionId =
    D4745A10-C8E4-11D1-97FD-90CAD1E7AA77:0x196:0x4, taskId =
    [D4745A10-C8E4-11D1-97FD-90CAD1E7AA77:0x196.3]) in application
    "FTLaunch_cl0", pid 4290975297 on node LAXOU146 in environment
    CentralEnv
    Oracle error: 1036, Server: sipre_tcp, UserName: forte
    Database Statement: begin
    :qqReturnValue := AID_CUMUL_ELTVAL;
    end;
    Class: qqdb_ResourceException ..........
    And this is the TOOL code :
    BEGIN TRANSACTION
    TmpEtat : IntegerData = new;
    TmpEtat.SetValue (( SQL EXECUTE PROCEDURE AID_CUMUL_ELTVAL ON SESSION
    FonctionDBService ));
    Etat = TmpEtat.Value;
    END TRANSACTION;
    Our procedure has no parameter and when we put a dummy parameter to the
    procedure and pass it in the TOOL SQL statement, it works fine althoug the
    Fort&eacute; help says the parameter list is optionnal !
    We tried to execute the procedure in a "SQL Select OurProdecure Into ..."
    statement, but it does'nt work because there is a SQL update in the
    procedure and it is forbidden by Oracle.
    Has anyone seen this error before ?
    Any ideas would be greatly appreciated.
    Many thanks and regards,
    Manuel DEVEAUX
    Previade, France
    e-mail : deveauxpreviade.fr

    Hi,
    We have a problem with a Oracle procedure call using the Sql Execute
    Procedure statement.
    The call gives us this error :
    SYSTEM ERROR: (This error was converted)
    (This error was converted)
    OpenCursor failed for SQL statement in project LFB010, class
    ClsDemarreLFB010,
    method Demarre, methodId 4, line 32, error from database is:
    ORA-01036: illegal variable name/num
    Class: qqdb_ResourceException
    Distributed method called: qqdb_SessionProxy.OpenCursor!22 (object
    name
    instance/d4745a10-c8e4-11d1-97fd-90cad1e7aa77:0x196:0x4/lfb010_cl0/lfb010_cl
    0-fonctiondbservice0x196:0x2)
    from partition "LFB010_CL0_Client", (partitionId =
    D4745A10-C8E4-11D1-97FD-90CAD1E7AA77:0x196:0x4, taskId =
    [D4745A10-C8E4-11D1-97FD-90CAD1E7AA77:0x196.3]) in application
    "FTLaunch_cl0", pid 4290975297 on node LAXOU146 in environment
    CentralEnv
    Oracle error: 1036, Server: sipre_tcp, UserName: forte
    Database Statement: begin
    :qqReturnValue := AID_CUMUL_ELTVAL;
    end;
    Class: qqdb_ResourceException ..........
    And this is the TOOL code :
    BEGIN TRANSACTION
    TmpEtat : IntegerData = new;
    TmpEtat.SetValue (( SQL EXECUTE PROCEDURE AID_CUMUL_ELTVAL ON SESSION
    FonctionDBService ));
    Etat = TmpEtat.Value;
    END TRANSACTION;
    Our procedure has no parameter and when we put a dummy parameter to the
    procedure and pass it in the TOOL SQL statement, it works fine althoug the
    Fort&eacute; help says the parameter list is optionnal !
    We tried to execute the procedure in a "SQL Select OurProdecure Into ..."
    statement, but it does'nt work because there is a SQL update in the
    procedure and it is forbidden by Oracle.
    Has anyone seen this error before ?
    Any ideas would be greatly appreciated.
    Many thanks and regards,
    Manuel DEVEAUX
    Previade, France
    e-mail : deveauxpreviade.fr

  • Problems with increasing/decreasing cache size when live

    Hello,
    I have configured multiple environments which I'm compacting sequentially and to achieve this I allocate a bigger cache to the env currently being compacted as follows:
    Initialization:
    DB_ENV->set_cachesize(gbytes, bytes, 1); // Initial cache size.
    DB_ENV->set_cache_max(gbytes, bytes); // Maximum size.
    While live, application decreases cache of current env when finished and then increases cache of next env using:
    DB_ENV->set_cachesize(gbytes, obytes, 0); // Decrease cache size of current env to initial size
    DB_ENV->set_cachesize(gbytes, obytes, 0); // Increase cache size of next env to max size.
    When I print statistics about the memory pool using DB_ENV->memp_stat I can see that everyting is going normally:
    memp_stat: env1 ncache= 8 cache_size=20973592 // env1 is current env
    memp_stat: env2 ncache= 1 cache_size=20973592
    and then after changing current env:
    memp_stat: env1 ncache= 1 cache_size=20973592
    memp_stat: env2 ncache= 8 cache_size=20973592 // env2 is now current env
    But the problem is that over time memory is leaked (as if the extra memory of each env was not freed) and I'm totally sure that the problem comes from this code.
    I'm running Berkeley DB 4.7.25 on FreeBSD.
    Maybe some leak was fixed in newer versions and you could suggest to me a patch? or I don't use the API correctly?
    Thanks!
    Edited by: 894962 on Jan 23, 2012 6:40 AM

    Hi,
    Thanks for providing the information.
    Unfortunately, I don't remember exact test case I was doing, so I did a new one with 32 env.
    I set the following for each env:
    - Initial cache=512MB/32
    - Max=1GB
    Before open, I do:
    DBEnvironment->set_cachesize((u_int32_t)0, (u_int32_t)512*1024*1024/32, 1);
    DBEnvironment->set_cache_max(1*1024*1024*1024, 0);
    DBEnvironment->get_cache_max(&gbytes, &obytes); // gives gbytes=1 and obytes=0
    After open, I have the following:
    DBEnvironment->get_cache_max(&gbytes, &obytes); // gives gbytes=0 and obytes=9502720
    memp_stat: cache_size=18644992 cache_ncache=1
    So here, the values returned by memp_stat are normal but get_cache_max is strange. Then after increasing the cache to the strange value returned by get_cache_max (gbytes=0, obytes=9502720), I have the following:
    DBEnvironment->get_cache_max(&gbytes, &obytes); // gives gbytes=0 and obytes=9502720
    memp_stat: outlinks cache_size=27328512 cache_ncache=54
    with cache_size being: ((ui64)sp->st_gbytes * GIGA + sp->st_bytes);.
    So cache is actually increased...
    I try to reproduce this case by opening 1 env as follows.
    //Before open
    DbEnv->set_cachesize(); 512MB, 1 cache
    DbEnv->set_cache_max; 1GB
    //After open
    DbEnv->get_cachesize; 512MB, 1cache
    DbEnv->get_caceh_max; 1GB
    memp_stat: cache:512MB, ncache:1, cache_max:1GB
    //Decrease the cache size
    DbEnv->set_cachesize(); 9MB(9502720B), 1 cache
    DbEnv->get_cachesize; 512MB, 1cache
    DbEnv->get_caceh_max; 1GB
    memp_stat: cache:512MB, ncache:1, cache_max:1GB
    All the result is expected. Since when resizing the cache after DbEnv is open, it is rounded to the nearest multiple of the region size. Region size means the size of each region specified initially. Please refer to BDB doc: [http://docs.oracle.com/cd/E17076_02/html/api_reference/C/envset_cachesize.html|http://docs.oracle.com/cd/E17076_02/html/api_reference/C/envset_cachesize.html]. Here region size is 512MB/1cache = 512MB. And I don't think you can resize the cache smaller than 1 region.
    Since you are opening 32 env at the same time with 512MB cache and 1GB maximum for each, when the env is open, whether it can allocate as much as that specified for the cache, is dependent on the system. I am guess the number 9502720 got from get_cache_max after opening the env is probably based on the system and app request, the cache size you can get when opening the env.
    And for the case listed in the beginning of the post
    While live, application decreases cache of current env when finished and then increases cache of next env using:
    DB_ENV->set_cachesize(gbytes, obytes, 0); // Decrease cache size of current env to initial size
    DB_ENV->set_cachesize(gbytes, obytes, 0); // Increase cache size of next env to max size.
    When I print statistics about the memory pool using DB_ENV->memp_stat I can see that everyting is going normally:
    memp_stat: env1 ncache= 8 cache_size=20973592 // env1 is current env
    memp_stat: env2 ncache= 1 cache_size=20973592
    and then after changing current env:
    memp_stat: env1 ncache= 1 cache_size=20973592
    memp_stat: env2 ncache= 8 cache_size=20973592 // env2 is now current envWhen env1 is finishing soon, what numbers do you set in set_cachesize to decrease the cache, including the number of caches and cache size?
    When decreasing the cache, I do:
    env->GetDbEnv()->set_cachesize((u_int32_t)0, (u_int32_t)20973592, 0);
    I mean, in all cases I simply set cachesize to its original value (obtained after open through get_cachesize) when decreasing and set cachesize to its max value when increasing (obtained though get_cache_max; plus I do something like cacheMaxSize * 0.75 if < 500MB).I can reproduce this case. And I think the result is expected. When using DBEnv->set_cachesize() to resize the cache after env is opened, the ncache para is ignored. Please refer to BDB doc here: [http://docs.oracle.com/cd/E17076_02/html/api_reference/C/envset_cachesize.html|http://docs.oracle.com/cd/E17076_02/html/api_reference/C/envset_cachesize.html] . Hence I don't think you can decrease the cache size by setting the number of cache to 0.
    Hope it helps.

  • Problems with invalidating web cache

    Currently we display the current date (portal smart link) in the top region of each portal page. We have been having problems with the date not refreshing, rather old pages continue to be served up. I set up a database job using wvuxtil to send an XML document to invalidate all documents in the web cache under root at midnight. (The caching of every portal page is set to "content and definiton at system level" for 1440 min). This morning, the job ran but when checking the pages from a client machine, the date still displayed as yesterday's for SOME of the pages (not all)- clearing the clients IE cache made no difference. Logging on to the server, I accessed the relevant pages displaying yesterday's date on the client - and they showed the correct date on the server. Going back to the client machine, the dates are now correct ? Help anyone ? What should I be checking/looking at next ?
    Cheers
    Brent Harlow

    Hi Brent,
    Which version of Web Cache and Portal are you using? A similar problem with dates and invalidation has been reported before, so you may want to check with Oracle Support for the appropriate patch.

  • Problem With Stored Procedure

    Post Author: Ranjith.403
    CA Forum: General
    Hi,
    Am new to crystal reports with stored procedures
    am created a report using a stored procedure in oracle. In that Stored Procedure am Using a temporary table.
    After inserting values into the table am assigning to ref cursor.
    Refcursor having fields like item,onhandstock,purchase rate
    This report working fine in oracle version 9.2.0.1.0 where comes to oracle version 9.2.0.8.0 it's giving the varchar values correctly.
    The Number values are showing as 0.
    Help me to solve it.
    Thanks in Advance,
    Ranjith

    Try modularising this large procedure into smaller procedures and functions, and determine which part is causing you trouble.

  • SB Live with XP Pro (SP2) causes problems with no sou

    Ok, my computer rs relativley "old". It's a gateway from about... 2000, with a Pentium IV, .3 Ghrz, NVIDIA GeForce2 MX/MX 400 video card, and I'm not sure exactly what sound card it is, I think it's SB Li've! 24-bit... or whatever came standard with these gateways from back then. Now, for some reason, after I reformatted my comp and put XP pro with SP2 on there, SB Li've doesn't work. It worked fine on XP pro without SP2 (except for the devldr32.exe thing, but I fixed that). I put the CD in, say to install it fully, then a message comes up saying that there is no CD... after auto-playing off of it! So I hit continue and the message popped right back up, so I hit cancel and it continued with the installation. I chose to restart the comp now, and I heard the sound of windows logging off, so I assumed it was working. But then when it came back on, my taskbar wouldn't some up all of the way and there was no sound. I right-clicked on the taskbar and chose to view quick launch and it popped up, but I couldn't adjust the length of the quicklaunch section, even when i unlocked it, the right border thing wasn't there. It is very irritating and I couldn't find any drivers that would help this. Anyone know what's wrong? I would e-mail for support, but I highly doubt the warranty is still good. I would be EXTREMELY thankful for anyone who could even lead me in the right direction. Thank you.

    And, you can be certain it's not a Li've! 24-bit. They didn't make them back then! It's either a Li've! 5. (probable) or a Li've! 4. (unlikely if the computer was really manufactured in 2000).
    You can try removing anything that was possibly added by your using the cd, then letting XP install its nati've driver for it. I would download DriverCleaner from driverheaven.net. If there's nothing in Add/Remove Programs (as there probably isn't if your attempt to install the cd version of the driver (provided by Gateway?) failed before finishing), then go into device manager and remove anything related to the card and reboot to Safe Mode and run DriverCleaner. Delete the Creative Folder in Program Files that your cd probably made. Reboot and let XP install its driver. Reboot again.
    That's probably the best your going to get if Gateway didn't update the Creative software for SP2. You could attempt to install the Li've Uni-Pack stuff from the download section here, but it might or might not work on the OEM card you have. If the software on your Gateway/Creative cd had problems then your probably going to just be able to use the nati've Windows XP driver. You will still be able to adjust your settings with the Windows audio controls, but won't be able to use Creative software.
    You would need to contact Gateway to see if they really don't have a package for this. Did you check their website for updates for your model?

  • Exchange 2010 SP2: Different problems with E_ACCESSDENIED on exchange servers

    Hello All,
    I'm observing a strange problem in an AD 2008 R2 / Exchange 2010 SP2 environment:
    When creating a DAG and adding 1 or more servers to the DAG, the following error occurs:
    Summary: 2 item(s). 0 succeeded, 2 failed.
    Elapsed time: 00:00:05
    <MAILBOX SERVER 1> Failed
    Error:
    Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
    Exchange Management Shell command attempted:
    Add-DatabaseAvailabilityGroupServer -MailboxServer '<MAILBOX SERVER 1>' -Identity '<NAME DAG>'
    Elapsed Time: 00:00:02
    <MAILBOX SERVER 2> Failed
    Error:
    Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
    Exchange Management Shell command attempted:
    Add-DatabaseAvailabilityGroupServer -MailboxServer '<MAILBOX SERVER 2>' -Identity '<NAME DAG>'
    Elapsed Time: 00:00:02
    There are no logs created on the Mailservers, so I have no more detailed information. Where to start with troubleshooting this issue?
    Edit: BTW I already checked the local admin membership of the "Exchange Trusted Subsystem" domain group.
    Also commands like get-owavirtualdirectory give the Access Denied error (except on the CAS servers themselves).
    You know you're an engineer when you have no life and can prove it mathematically

    Hi Frank,
    The DAG is not yet populated. When inserting the first server(s) in the freshly created DAG, the error appeared.
    [PS] C:\Program Files\Microsoft\Exchange Server\V14\Scripts>Get-DatabaseAvailabilityGroup
    Name             Member Servers                                     
    Operational Servers
    IICT-DAG-002     {}
    [PS] C:\Program Files\Microsoft\Exchange Server\V14\Scripts>Get-DatabaseAvailabilityGroup IICT-DAG-002 -Status | fl
    RunspaceId                             : cc985264-fa89-48f8-8aba-c1b0c89eb097
    Name                                   : IICT-DAG-002
    Servers                                : {}
    WitnessServer                          : iict-srvp00-011.insourceict.local
    WitnessDirectory                       : C:\IICT-DAG-002
    AlternateWitnessServer                 :
    AlternateWitnessDirectory              :
    NetworkCompression                     : InterSubnetOnly
    NetworkEncryption                      : InterSubnetOnly
    DatacenterActivationMode               : Off
    StoppedMailboxServers                  : {}
    StartedMailboxServers                  : {}
    DatabaseAvailabilityGroupIpv4Addresses : {10.100.0.54}
    DatabaseAvailabilityGroupIpAddresses   : {10.100.0.54}
    AllowCrossSiteRpcClientAccess          : False
    OperationalServers                     :
    PrimaryActiveManager                   :
    ServersInMaintenance                   :
    ThirdPartyReplication                  : Disabled
    ReplicationPort                        : 0
    NetworkNames                           : {}
    WitnessShareInUse                      :
    AdminDisplayName                       :
    ExchangeVersion                        : 0.10 (14.0.100.0)
    DistinguishedName                      : CN=IICT-DAG-002,CN=Database Availability Groups,CN=Exchange Administrative Gro
                                             up (FYDIBOHF23SPDLT),CN=Administrative
    Groups,CN=InsourceICT,CN=Microsoft Exch
                                             ange,CN=Services,CN=Configuration,DC=insourceict,DC=local
    Identity                               : IICT-DAG-002
    Guid                                   : 71d5d869-03ac-4f8a-8de7-fc15bc6a0ae1
    ObjectCategory                         : insourceict.local/Configuration/Schema/ms-Exch-MDB-Availability-Group
    ObjectClass                            : {top, msExchMDBAvailabilityGroup}
    WhenChanged                            : 8-6-2012 14:35:59
    WhenCreated                            : 8-6-2012 13:35:21
    WhenChangedUTC                         : 8-6-2012 12:35:59
    WhenCreatedUTC                         : 8-6-2012 11:35:21
    OrganizationId                         :
    OriginatingServer                      : IICT-SRV003.insourceict.local
    IsValid                                : True
    You know you're an engineer when you have no life and can prove it mathematically

  • Problem with PRAGMA NO-CACHE

    Hi,
              I am having the following problem. Any help is greatly appreciated.
              I have a servlet which in its doPost method says..
              response.setHeader ("Pragma", "no-cache");
              The browser gets this page. Then the user goes from this page to another
              page.
              When the user then uses the "Back" button of the browser, the browser
              does not show a "Warning: This page has expired". Instead it displays the
              original page
              that the servlet had sent.
              My servlet works fine with WebSphere but not with WebLogic 4.5.1 and 5.1
              Anybody encounter this problem before?
              Am I doing something wrong? Do I need to do something extra for Weblogic so
              that
              the page does not get cached?
              Thanks,
              Ullas.
              ([email protected])
              

    You try to delete the cache and retry once again. If this not solves your probelm then follow this url:
    Inconsistant Cache (SXI_CACHE)
    Cache Refresh
    ---Mohan

  • Problem with Photoshop CS5. Memory and Harddisk spaces

    Just got CS5 Master Suite. Whenever I open photoshop it takes a ton of memory 1 gig +. When I open files it takes up more and more until it takes up all my memory and hard disk space. I open a simple multi layered file that is 25 megs in size to work on it. Before I know it photoshop is taking 20gigs+ of my hard disk space along with 3+ gigs of system memory. Is there a memory problem in photoshop cs5?
    Thanks!
    Joseph

    So I just opened the 25 meg file in photoshop cs5 and watched my free space on my hard drive go down 8 gigs the instant I opened it. It went from 27 gigs of freespace to 19 instantly.
    I am running a Macbook Pro with OSX 10.6., 4 gigs of ram on board.
    anyone else having simular problems?

Maybe you are looking for

  • Golden Gate, DBFS and SUN ODM

    Gents, DBFS - way of storing files as LOBS - cool feature, no bullet proof POCs yet. POC that I worked on got .78TB/hour to load data using external table, Oracle advertised 5TB/hour. There has been recommendation flowing around on using DBFS for sto

  • Thumbnails showing up as white boxes / squares.

    I recently loaded up iPhoto and went through the library and deleted a whole bunch of photos - mostly poorly taken shots or things that I no longer want around. When I went back into iPhoto, all of those photos I delelted are now showing as white box

  • Mixing emails and message as in Japan

    Hi, im currently in Japan for holidays at my friends and he noticed me his emails appeared directly in the message app on the iphone. is there anyway to do this in another country? thanks

  • How do I delete unwanted e-mail addresses

    Did a search but couldn't find any answer. I know how to delete addresses (cards, individuals) from the address book, but how do I delete unwanted addresses from the mail-program memory, or maybe it's the address-book memory? Whatever it is, it store

  • Is there any way to log in to active directory from a mac without joining the AD domain?

    I am looking for a way to log in to active directory without having the Mac join the AD domain. Basically i have not been able to understand all the ramifications of joining the AD domain. From what I have read in various documentations on the apple