Long running servlet

I wrote a servlet for Tomcat to do update a DB table at 5 minutes interval for about 1.5 hours. I use a parm to control its start and stop. The 5 minutes interval is controlled by Thread.sleep(300000L);. Although I only need one instance of this servlet, I use some static variables in the servlet so that even if new instance is init by Tomcat due to whatever reason the process will continue. But I encountered problems.
First of all, I don't know if servlet should be used for such purpose, or there is other better/right way to do this within Tomcat. Secondly, my servlet works sometimes but failed mostly. It usually failed with NullPointerException on some static variable. Not sure if "static" has anything to do with it but from all my failed run they stopped at static variables. Hope somebody can point me to the right direction.

I would recommend that you look at [Quartz Scheduler|http://www.quartz-scheduler.org/docs/index.html] for your job scheduling.
As far as the NullPointerException goes, we need to see your code and the stack trace of the error to be able to help you with that...

Similar Messages

  • Long running servlet in a single node of a cluster

    Good evening,
    I am developing a J2EE application that consists of a number of web services that perform background processing of relatively long-running jobs.  Status of the jobs actually need to be reported back to the SAP ABAP system, which we do via JCo.  All communication back to ABAP occurs in a single long-running, JMS driven servlet.  This callback servlet uses both a timestamp (last time status was sent back) or a  count of status events to determine when to send data to the ABAP system.
    All of this works great in a single Java instance J2EE configuration.  However, when we introduce clustering into the configuration, we get one instance of the callback servlet per J2EE server process.  Is there an easy way to configure the servlet so that it only runs on a single J2EE server process in one instance?
    TIA,
    - Bill

    Hi Bill,
    Launching manually threads even from a web container is also not recommended as good J2EE practice.
    If each applications launches its own set of threads that may easily crash the server. Another drawback of such long running servlet is that you are blocking application thread from the server. One last point - it seems that you are storing the data in the servlet at some intermediate variables without any persistance. What will happen if the server crashes ? Can you afford to loose the data ?
    I am not implying that you launch threads from the MDB. I am just saying that you could define that single MDB and send messages directly to it. You do the job there inside the onMessage, no new thread. You will be guaranteed that no other call will be executed. You are guaranteed nothing will be lost in case server crashes, you will not use resources even if there is no traffic.
    Btw, please feel free to give me a phone call or write an email to further discuss the issue. You can take the details from your CSN I am currently processing
    Best Regards
    Peter

  • Long running reports using java servlets

    Hello,
    I'm running into a problem using java servlets to produce database reports and sending them back to the client browser as excel or html. The problem comes into play when the user has submitted two reports then goes to run a third and the browser hangs. I realized now that this is because of the two active connections that the user already has to the app server. Does anyone have any suggestions on how to get around this? I'm trying to now write the report to the server, and provide the browser with a url, but it seams as though the connection isn't totally closed even though I close the response printwriter.... Any suggestions would be greatly appreciated....

    Unfortunately I dont have an answer to your question, but:
    If the reports are large/long running, should they be generated on demand? You could schedule the reports to be generated every day, month or whenever appropriate, stored on the server and then quickly pulled by the user whenever needed.

  • Long Running Task ...

    I have a requirement where a user kicks off a long running task ( usually 2
    to 5 minutes). I want to show a 'In Progress' message while the task is
    procesing. The long running process needs to be passed an ArrayList. To
    achieve this , I use a ServerSessionPool and a QueueListener.
    In the servlet I assign a unique ID to the task , send a JMS message ( with
    the serialized ArrayList) on the queue. The servlet returns to the
    user saying 'In progress' message . When the user hits refresh , I want to
    know if the message has been consumed ( or the process is over ) and
    I need get the 'processed' ArrayList back in the servlet. How do I achieve
    this ?
    Thanks in advance
    ~ J

    instead of asking the user to hit refresh, you can have the browser
    automatically refresh the page every X seconds by putting in a header
    parameter.
    I forgot the actual parameter, but this is pure HTML so look it up in that
    spec
    Filip
    ~
    Namaste - I bow to the divine in you
    ~
    Filip Hanik
    Software Architect
    [email protected]
    www.filip.net
    "Cameron Purdy" <[email protected]> wrote in message
    news:[email protected]..
    http://dima.dhs.org/misc/LongRunningTask.jsp
    Peace,
    Cameron Purdy
    Tangosol Inc.
    << Tangosol Server: How Weblogic applications are customized >>
    << Download now from http://www.tangosol.com/registration.jsp >>
    "John Doe" <[email protected]> wrote in message
    news:[email protected]..
    I have a requirement where a user kicks off a long running task
    usually
    2
    to 5 minutes). I want to show a 'In Progress' message while the task is
    procesing. The long running process needs to be passed an ArrayList. To
    achieve this , I use a ServerSessionPool and a QueueListener.
    In the servlet I assign a unique ID to the task , send a JMS message (with
    the serialized ArrayList) on the queue. The servlet returns to the
    user saying 'In progress' message . When the user hits refresh , I want
    to
    know if the message has been consumed ( or the process is over ) and
    I need get the 'processed' ArrayList back in the servlet. How do Iachieve
    this ?
    Thanks in advance
    ~ J

  • MBeanServer will be invalid after the client of MBeanServer long running

    I develop a java applcation,It is as a client of MBeanServer, It will use the MBeanServer to query some system info from WebAs, But after a long run (about for one days), The MBeanServerConnection will be broken and invalid ,When call the queryMBean , It will throws some SecurityExceptions about "Use not authorized".
    I use the remote mode to get the MBeanServerConnection as belows source code:
    Properties connectionProperties = new Properties();
    connectionProperties.setProperty(Context.INITIAL_CONTEXT_FACTORY,
                   "com.sap.engine.services.jndi.InitialContextFactoryImpl");
    connectionProperties.setProperty(Context.PROVIDER_URL, "<host-name>:<p4-port>");
    connectionProperties.setProperty(Context.SECURITY_PRINCIPAL, "<user-name>");
    connectionProperties.setProperty(Context.SECURITY_CREDENTIALS, "<password>");
    // create the MBeanServerConnection
    MBeanServerConnection mbsc = JmxConnectionFactory.getMBeanServerConnection(JmxConnectionFactory.
    PROTOCOL_ENGINE_P4, connectionProperties);
    I try to get the mbeanserver using the ctx.lookup("jmx");
    in a servlet, But after a long run (about one day), the exception still be thrown.
    How can i solve this problem, Is it a bug of WebAs?
    Thanks and hope somebody reply it.

    Hi,
    I suppose what happens is that the security session expires. Default session expiration period is 27 hours.
    To check whether this is the case you can try to increase the SessionExpirationPeriod property of security service.
    However if this is the problem, it will be no resolution as you will be keeping a big ammount of sessions.
    I hope this helps.
    Greetings, Myriana

  • Terminating long running queries

    For our web reporting application we're using SQR with Oracle 9 as a back end tool. The front end, using a java servlet, invokes SQR program, which in turn connects to the data base with a common (not user specific) user name and generates an output.
    The problem is that when a query runs for too long, the front end will time out or a user may close the window and start over. But when the client session is aborted, the server session is still running consuming resources, which makes the next query performance even worse.
    Question 1: Is there any way that upon connection to the database I can get a session ID, so I can use it to kill the server session before the client session is aborted.
    Question 2: Is there any other way of managing these long running queries and their orphan server sessions.

    You may:
    select sid, serial#, machine, program, username
    from v$session;

  • Can we run servlets as standalone GUIs??

    Hi,
    I need clarification regarding running server side programs as standalone GUI (say java swings) on the local user machines??
    ofcourse, we can run servlets on the browser window. but i am not if it's possible to run as swing GUI. please let me know
    thanks
    sri.

    Think of it this way, the communication between browser and Servlet is simply HTTP. The browser does not 'run' or 'invoke' your Servlet. Rather it initiates an HTTP request that the Servlet will inspect and take some action (via form parameters, URL parameters, the URL itself, etc.) Then an HTTP response is returned.
    Your Swing client can emulate a browser, and unless you write code to detect so otherwise, your Servlet will not be able to distinguish the standalone client from the browser. As long as you submit valid HTTP requests that the Servlet can process, both clients are equally valid.
    - Saish

  • WIJ 20002 error on long running reports

    When trying to run a long running report, an error message is received .
    Quote:
    *"The Web Intelligence Java Report Panel cannot connect to the server. Close
    the report panel and try to connect again or see your BusinessObjects
    administrator. (Error: WIJ 20002)"*
    What happens next is you are advised to "close" (twice) and are then advised to close this window.
    If you select Details on the first error message:
    Server: https://test.i3access.iowa.gov:443/desktoplaunch/InfoView/CrystalEnterprise_Webi/cdzServlet?
    java.lang.RuntimeException: java.io.IOException: Server returned HTTP response code: 502 for URL: https://test.i3access.iowa.gov:443/desktoplaunch/InfoView/CrystalEnterprise_Webi/cdzServlet
         at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
         at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
         at com.businessobjects.wp.cpi.CPIConnection.postRequest(CPIConnection.java:437)
         at com.businessobjects.wp.xml.XMLViaHttp.loadScript(XMLViaHttp.java:144)
         at com.businessobjects.wp.xml.XMLViaHttp.getPromptList(XMLViaHttp.java:1284)
         at com.businessobjects.wp.xml.XMLLoader.getPromptList(XMLLoader.java:279)
         at com.businessobjects.wp.om.OMQuery.loadPromptsAndContexts(OMQuery.java:359)
         at com.businessobjects.wp.om.OMQuery.getActiveContextCount(OMQuery.java:384)
         at com.businessobjects.wp.tc.query.TCQueryPropertie.buildQueryContextFromUI(TCQueryPropertie.java:496)
         at com.businessobjects.wp.tc.query.TCQueryTab.buildQueryContextFromUI(TCQueryTab.java:846)
         at com.businessobjects.wp.tc.query.TCQueryTab.modifyQueryProperties(TCQueryTab.java:638)
         at com.businessobjects.wp.tc.query.TCQueryTabManager.modifyQueryTabs(TCQueryTabManager.java:306)
         at com.businessobjects.wp.tc.query.TCQueryPanel.modifyQueryTabs(TCQueryPanel.java:310)
         at com.businessobjects.wp.tc.query.TCQueryPanel.load(TCQueryPanel.java:383)
         at com.businessobjects.wp.tc.TCMainPanel.switchToQueryPanel(TCMainPanel.java:563)
         at com.businessobjects.wp.tc.TCMainPanel.actionPerformed(TCMainPanel.java:506)
         at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
         at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
         at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
         at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
         at com.jidesoft.plaf.basic.BasicJideButtonListener.mouseReleased(Unknown Source)
         at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
         at java.awt.Component.processMouseEvent(Unknown Source)
         at javax.swing.JComponent.processMouseEvent(Unknown Source)
         at java.awt.Component.processEvent(Unknown Source)
         at java.awt.Container.processEvent(Unknown Source)
         at java.awt.Component.dispatchEventImpl(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.EventQueue.dispatchEvent(Unknown Source)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.run(Unknown Source)
         at com.businessobjects.wp.cpi.CPIConnection.postRequest(CPIConnection.java:441)
         at com.businessobjects.wp.xml.XMLViaHttp.loadScript(XMLViaHttp.java:144)
         at com.businessobjects.wp.xml.XMLViaHttp.getPromptList(XMLViaHttp.java:1284)
         at com.businessobjects.wp.xml.XMLLoader.getPromptList(XMLLoader.java:279)
         at com.businessobjects.wp.om.OMQuery.loadPromptsAndContexts(OMQuery.java:359)
         at com.businessobjects.wp.om.OMQuery.getActiveContextCount(OMQuery.java:384)
         at com.businessobjects.wp.tc.query.TCQueryPropertie.buildQueryContextFromUI(TCQueryPropertie.java:496)
         at com.businessobjects.wp.tc.query.TCQueryTab.buildQueryContextFromUI(TCQueryTab.java:846)
         at com.businessobjects.wp.tc.query.TCQueryTab.modifyQueryProperties(TCQueryTab.java:638)
         at com.businessobjects.wp.tc.query.TCQueryTabManager.modifyQueryTabs(TCQueryTabManager.java:306)
         at com.businessobjects.wp.tc.query.TCQueryPanel.modifyQueryTabs(TCQueryPanel.java:310)
         at com.businessobjects.wp.tc.query.TCQueryPanel.load(TCQueryPanel.java:383)
         at com.businessobjects.wp.tc.TCMainPanel.switchToQueryPanel(TCMainPanel.java:563)
         at com.businessobjects.wp.tc.TCMainPanel.actionPerformed(TCMainPanel.java:506)
         at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
         at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
         at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
         at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
         at com.jidesoft.plaf.basic.BasicJideButtonListener.mouseReleased(Unknown Source)
         at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
         at java.awt.Component.processMouseEvent(Unknown Source)
         at javax.swing.JComponent.processMouseEvent(Unknown Source)
         at java.awt.Component.processEvent(Unknown Source)
         at java.awt.Container.processEvent(Unknown Source)
         at java.awt.Component.dispatchEventImpl(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.EventQueue.dispatchEvent(Unknown Source)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.run(Unknown Source)
    Please let me know what the solution is.

    Matt,
    A namesake of yours is my client for this issue.
    Coming to the problem, the customer says there is proxy configured between HTTP server and WebSphere. This proxy server times out for long running reports. If the HTTPServer is bypassed, things work fine.
    A colleague of mine opened a case with BOBJ. I can get you the case# if you need it. We got this reply:
    From: Takano, Hitomi
    Sent: Tuesday, November 04, 2008 10:26 AM
    Hi Matt,
    I was away for the last two days, so I couldn't reply to you sooner.
    Extending the timeout setting from Webi and Infoview in BOXI R2 will not
    make the long running reports work as your proxy setting at the lower
    layer than BOXI just allows 5 minutes and after that the connection will
    be cancelled by the proxy. I'm not sure why this setting was effective
    for https only or timeout out after 2 min. This is out of scope of BOXI
    R2 and your network admin would be the best person to handle. You were
    getting 502 error in Java Report Panel. I googled with "502 error and
    ProxyTimeout", and I got the some articles returned which say  when
    backend doesn't answer on requests(because it timed out), it returns to
    a client an error 502.
    I'll close this thread as the n/w admin at the client are working things out.
    Thanks for your support.

  • 1st gen iPod Touch, old app no longer runs

    I have a first generation iPod Touch, version 3.1.3.  About a year ago I bought an app, "Converter Plus (Universal)", and it worked fine until recently when I received notice of an update.  There were a few app updates and all loaded successfully except the Converter Plus (Universal) which gave me an error message that the software I have does not support the updated app.  I understand and accept that my old iPod Touch does not support most (almost all) new apps.  The problem, however, is that the old Converter Plus (Universal) app that worked fine for a year no longer runs.  I try to open it, the initial screen pops up but shuts down right away.  I can only assume that when the recent update was attempted but failed it somehow messed up the old app.  Is there any way to restore the old version of the app so I can go back to using it?  The app only cost $1.99 so it is hardly the end of the world if I cannot use it any more, but I am worried all my other older apps (some of which receive regular updates) might also stop working and that just seems wrong to me.  Feels like I am being robbed.  Thanks for any suggestions.

    Try:
    - Reset the iPod. Nothing will be lost
    Reset iPod touch: Hold down the On/Off button and the Home button at the same time for at
    least ten seconds, until the Apple logo appears.
    - Try deleting the version of that app that is in your iTunes library. Then do the following:
    iTunes Store: Transferring purchases from your iOS device or iPod to a computer
    Then delete the app from your iPod and sync the app back to your iPod and see if it works.
    - Next try restoring from backup. Make sure that all the apps that are compatible with 3.1.3 are in your iTunes library so they can be synced back as part of the restore from backup.
    - Last, restore to factory settings/new iPod and sync your media to the iPod.

  • We have two users that have been using Creative Cloud for almost a year. Recently, sometime in the last 4ish weeks, the users can no longer run Creative Cloud apps. (Yes, our subscription is paid.) Error simply says administrator access is required

    We have two users that have been using Creative Cloud for almost a year. Recently, sometime in the last 4ish weeks, the users can no longer run Creative Cloud apps. (Yes, our subscription is paid.) Error simply says administrator access is required to install. The apps have already been installed. The users cannot run them unless they are in the local admin group.Using "Run as admin" does not work. It gives the same error.
    I have opened a case with adobe support and was basically told to suck it up and put the users in the admin group. Actually, what was said was that it is "mandated that the users have administrative rights". 
    There are a couple of things wrong with this. It was working for both users until recently - a recent required creative cloud update. The users have never been local admins yet the apps were working (poorly, but working).
    We are in an enterprise environment and users simply do not have administrative rights on the computers.
    I have changed permissions on all adobe folders, granting users or authenticated users modify or full control rights, did the same in whatever Adobe registry HKLM keys I could find. Nothing has allowed the users to run the apps - unless they are put in the local admin group.
    Someone has to have a fix for this. Adobe apps have proved to have far too many vunerabilities to even entertain the idea of elevating user rights. I can't imagine that enterprise environments are allowing this.
    Any help or suggestions are greatly appreciated.

    Jeff,
    Thank you for your response. The users in question are "standard" domain users. We do not reduce users permissions below the standard level.
    The apps do not load with their current standard user permissions.
    The thing that makes this odd, is that up until recently they did this issue with cloud apps. The only way I can make it work for them now is to put them in the local administrator group on their pc's - which is not going to happen.
    This is what they now see. As I said before, this was not a problem up until recently they would see all their available apps. If I put them in the local admin group the apps are listed without having to install. Everything is there, just not accessible to the user.

  • Long running DBAdapter partnerlink activities (transactions)

    Hello,
    I try to use nonBlockingInvoke = true for long running DBAdapter partnerlink activities,
    but i'm not succesfull.
    In BPELConsole the activity seems to be running, but there is an entry
    in Manual Recovery > Activity TAB and OraBPEL~OC4J_BPEL~default_island~1
    log says:
    <2006-02-10 09:32:05,130> <INFO> <test.collaxa.cube.ws> <AdapterFramework::Outbound> file:/ora/app/oracle/product/bpel/integration/orabpel
    /domains/test/tmp/.bpel_ZalozeniObjednavky_1.2.jar/ZapisObjednavky.wsdl [ ZapisObjednavky_ptt::ZapisObjednavky(InputParameters) ] - Using
    JCA Connection Pool - max size = <unbounded>
    <2006-02-10 09:32:05,390> <ERROR> <test.collaxa.cube> <BaseCubeSessionBean::logError> Error while invoking bean "cube engine": Callback in
    vocation failed.
    An attempt to invoke the method "handleCallback" on the performer "bpel.p0.BPEL_BIN$$BPELC_BpInv0" failed. The reported exception is: "".
    Please ensure that the signature of the method "handleCallback" is: ( IWorkItem, ICubeContext ).
    <2006-02-10 09:32:05,406> <ERROR> <test.collaxa.cube.engine.dispatch> <BaseScheduledWorker::process> Failed to handle dispatch message ...
    exception ORABPEL-05002
    Message handle error.
    An exception occurred while attempting to process the message "com.collaxa.cube.engine.dispatch.message.instance.CallbackInvokerMessage";
    the exception is: Callback invocation failed.
    An attempt to invoke the method "handleCallback" on the performer "bpel.p0.BPEL_BIN$$BPELC_BpInv0" failed. The reported exception is: "".
    Please ensure that the signature of the method "handleCallback" is: ( IWorkItem, ICubeContext ).
    Does anybody succeed with nonBlockingInvoke = true on DBAdapter partnerlink?
    I use BPEL 10.1.2 patch02
    Thank you
    Karel

    Hi Jon,
    <br><br>
    <br>
    You can set the maxConnections which represents the Maximum number of connections in the pool in oc4j-ra.xml.
    Please refer to the section Oracle Application Server Adapter for Databases in Oracle® BPEL Process Manager Developer's Guide
    for more information.
    <br><br>
    <br>
    Aruna

  • Long running threads (Jasper Reports) and AM-Pooling

    Hi,
    we are developing quite large application with ADF an BC. We have quite a lot of reports generated through Jasper that take quite long time to complete. The result is a PDF document that user gets on the UI so he can download it over download link. Reports that take over an hour to finish are never completed and returned to the user on UI. I think the problem is in AM-Polling because we are using default AM-Polling settings:
    <AM-Pooling jbo.ampool.maxinactiveage="600000" jbo.ampool.monitorsleepinterval="600000" jbo.ampool.timetolive="3600000"/>
    The AM is destroyed or returned to pool before reports finishes. How to properly configure those settings that even long running threads will do there jobs to the end.
    We also modified web.xml as follows:
      <session-config>
        <session-timeout>300</session-timeout>
      </session-config>
    Any help appreciated.
    Regards, Tadej

    Your problem is not related to ADF ApplicationModules. AMs are returned to the pool no earlier than the end of request, so for sure they are not destroyed by the framework while the report is running. The AM timeout settings you are referring to are applicable only to idle AMs in the pool but not to AMs that have been checked out and used by some active request.
    If you are using MS Internet Explorer, then most probably your problem is related to the IE's ReceiveTimeout setting, which defines a timeout for receiving a response from the server. I have had such problems with long running requests (involving DB processing running for more than 1 hour) and solved my problem by increasing this timeout. By default this timeout is as follows:
    IE4 - 5 minutes
    IE5, 6, 7, 8 - 60 minutes
    I cannot find what the default value is for IE9 and IE10, but some people claim it is only 10 seconds, although this information does not sound reasonable and reliable! Anyway, the real value is hardly greater than 60 minutes.
    You should increase the ReceiveTimeout registry value to an appropriate value (greater than the time necessary for your report to complete). Follow the instructions of MS Support here:
    Internet Explorer error &quot;connection timed out&quot; when server does not respond
    I have searched Internet for similar timeout settings for Google Chrome and Mozilla Firefox, but I have not found anything, so I instructed my customers (who execute long-running DB processing) to configure and use IE for these requests.
    Dimitar

  • Web.Show_Document does not work with long running reports

    I am using Web.Show_Document() to call reports from Forms. Everything works fine for smaller reports. However for long running reports I do not get the output instead get the page "This page cannot be displayed.". On checking the job status on the report server I find that report is still running and completes after some time but by that time my http request has already timed out. What configuration do I have to change to make my long running reports work.
    Thanks

    So, looks like this is an IE issue. I need to add the form server site to my list of Trusted Sites. Once I did that, everything started to work fine. Thought I'd share in case anyone is really interested.....

  • Script to kill long running reports in OBIEE

    Hi
    I have requirement to kill long running reports . I am using OBIEE version 10.1.3.4.0 which has a bug where it is not taking query limits governor and the reports are not getting killed if i am setting that parameter in RPD.
    Oracle support has advised me to upgrade to next version, but for now, i cannot upgrade.
    Can anyone suggest me script to run on obiee app server that can kill long running reports on obiee and database server.
    I have AIX server and all reports run on database with same functional ID that is being used for ETL as well to Analytics database.

    Shikhs17 wrote:
    Hi
    I have requirement to kill long running reports . I am using OBIEE version 10.1.3.4.0 which has a bug where it is not taking query limits governor and the reports are not getting killed if i am setting that parameter in RPD.
    Oracle support has advised me to upgrade to next version, but for now, i cannot upgrade.
    Can anyone suggest me script to run on obiee app server that can kill long running reports on obiee and database server.
    I have AIX server and all reports run on database with same functional ID that is being used for ETL as well to Analytics database.Do you want to enforce the limitation on the database to automatically kill running sessions that run over specific period of time?

  • Long Running Reports

    I'm now writing some reports that are slow running. I've tuned the sql, however because the volume of data being returned and the complexity of the report queries the reports will likely never run faster then ~30 seconds.
    I'm using the ApEx advanced reporting (BIP) and ApEx version 3.0.1.
    What are some thoughts on how to best implement long running reports?
    Thanks,
    Todd
    Message was edited by:
    tfa

    Hi Dimitri,
    You asked...
    What happens when you run the report directly from BI
    Publisher?There are several reports from one application. I've run the report queries in OEM SQL Tuning Advisor and tuned them.
    I have not seen a noticeable difference in run times between submitting the reports from APEX or running them from BIP. The queries for these reports have the same run time when run through SQL Developer.
    The slow run time of the report queries can be traced to poor table design. The application is a bit of legacy application with the front end now being rewritten using APEX. The poor table design issues are magnified by the volume of data. I have plans to partition one of the transaction tables.
    Prior to rewriting the user interface in APEX the application was written in Oracle Forms. When written in Forms the application was a bolt-on to the Oracle applications. In that environment users could submit reports to the run in the background (via Concurrent Manger) then the report output was viewed later following the completion of the report.
    I'm pursuing a similar solution as the concurrent manager in Oracle applications but available in the APEX, BIP environment. The reports do run between 30 seconds to 1 minute which is to long for the users to wait on the submitting page. Any thoughts on how it is possible to run these long running reports without tying up the user’s page?
    I'll investigate dbms_scheduler and BIP APIs. I know BIP also has a scheduler available but I do not know much about it.
    Thanks,
    Todd

Maybe you are looking for