Thread bottleneck due to bug in JSF 1.1 : please help

Hi. We are using JSF 1.1 on a J2EE 1.4 server and have identified a critical a bottleneck because methods of class com.sun.faces.application.ApplicationAssociate are synchronized. This is a bug in JSF 1.1 identified by Sun (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6223295) that has apparently been fixed in JSF 1.2.
However, JSF 1.2 requires Servlet 2.5 and JSP 2.1support, and our server is only J2EE 1.4 compatible.
So what can we do ? If you have any ideas, please post.
Thanks.
Fabien Coppens

Actually, I have just tried JSF 1.1_02 and it does seem to solve the thread bottleneck problem. I'll need verification once we get into performance testing, I'll keep you guys posted.

Similar Messages

  • Battery running down fast using Yosemite, running the latest update 10.10.2. I think there is bug in this update. Please help me out or is there a way can i switch back to mavericks and how

    Battery running down fast using Yosemite, running the latest update 10.10.2. I think there is bug in this update. Please help me out or is there a way can i switch back to mavericks and how

    1. Check the cycle count of the battery against the rated life for your model. The battery may be due for replacement. If the power adapter is connected almost all the time, the battery may need replacing even though the cycle count is not too high.
    2. Follow these instructions, or these for OS X 10.8 or earlier.
    3. In the Energy Saver preference pane, uncheck the box marked
              Enable Power Nap while on battery power
    if it's shown (it may not be.)
    4. You can also try resetting the SMC.
    5. Make sure your system is up to date in Software Update.
    6. Make a "Genius" appointment at an Apple Store, or go to another authorized service center.

  • My hard disk crashed and I cannot find out how to "contact customer service" other than this forum.  The website seems to just take me in a circle. I need to de-activate a license but cannot access the software due to a crashed hard drive.  Please help.

    My hard disk crashed and I cannot find out how to "contact customer service" other than this forum.  The website seems to just take me in a circle. I need to de-activate a license but cannot access the software due to a crashed hard drive.  Please help.

    Hi Anthony ,
    Here is the link to connect with Adobe Chat Support.
    https://helpx.adobe.com/adobe-connect/kb/connect-chat-support.html
    Hope your query gets resolved .
    Regards
    Sukrit Dhingra

  • When I try to download iTunes, I recieve the message: "69.31.21.67:80- 10.239.97.15:53037 Download request is dropped due to exceeding max content size."  Please help!

    I cannot download any version of iTunes to my Windows Vista laptop.  When I try, I recieve the message "69.31.21.67:80->10.239.97.15:53037 Download request is dropped due to exceeding max content size."  Please help me so I can start using my new iPad!! Thank you!

    Acrobat Support

  • Scrolling bug in mountain lion? - please help

    Really annoying bug that seems to have developed in the last few days - can anyone help?
    when looking at any window with a scroll bar the screen starts to automatically scroll in jerky steps every quarter of a second or so downwards (or upwards if I reverse the swipe direction on the mouse or trackball settings) to the end of the content without any input from me. This makes most programmes almost useless unless I enter tehm without the mouse cursor over the window.
    Same problem using either trackpad or mouse so suspect its a software issue not anything on the peripheral.
    fully updated system, not helped by SMC reboot or "killall Dock" terminal command which I read on another post might be helpful
    anyone with similar problems or who can help me?

    Not a bug, please do a SMC reset again. Follow the directions in http://support.apple.com/kb/HT3964
    If that doesn't help please reset the PRAM http://support.apple.com/kb/ht1379
    Or finally you may have a corrupt cache, restart in Safe Mode http://support.apple.com/kb/HT1455

  • I am geeting an error with jsf 1.2 please help

    i have used a datatable tag in JSF which just takes a ResultSet object and prints every row in it in a tabular form. I cheked i am recieving the resultset object with about 8 columns but when the jsf page is invoked it gives me following error.
    HTTP Status 500 -
    type Exception report
    message
    descriptionThe server encountered an internal error () that prevented it from fulfilling this request.
    exception
    javax.servlet.ServletException: java.sql.SQLException: The column position '2' is out of range. The number of columns for this ResultSet is '1'.
    root cause
    javax.faces.el.EvaluationException: java.sql.SQLException: The column position '2' is out of range. The number of columns for this ResultSet is '1'.
    root cause
    java.sql.SQLException: The column position '2' is out of range. The number of columns for this ResultSet is '1'.
    root cause
    org.apache.derby.client.am.SqlException: The column position '2' is out of range. The number of columns for this ResultSet is '1'.
    note The full stack traces of the exception and its root causes are available in the GlassFish v3 logs.
    GlassFish v3
    Thanks
    Harish Ingle

    If possible please post your JSF code and the corresponding java code where in you are getting your resultset and preparing to display the same in your jsp page.

  • "Amount you own" due to credit card failed authorization. Please help

    I was using a prepaid creditcard on my iTunes account but I didnt know it ran out, I downloaded Angry Bird Space HD from the app store after that and now I have a certain amount I own apple because it failed to authorize the prepaid credit card yet allowed me to install the app. I'm going to buy an iTunes gift card tonight, will that allow me to repay the amount due? Because I don't want to get banned or anything bad like that.
    Also if anyone else has had this happen to them before please tell me what you did. Thanks!

    Yes, just enter the new card details and click done when finished. It will then charge the new card for the amount owed.

  • BUG: GROUP BY NOT WORKING (please help)

    Hi,
    My company is using Crystal Reports XI. Every installation for crystal has the same problem here:
    If you create a formula, it does not appear as a selection for the group by -- regardless of whether the formula is being used in the report or not.
    Is anyone else seeing this problem? (there was no problem with this feature 2 weeks ago when I last created a report using these features).
    Please help.
    Thanks
    Anna Bogdanova
    Data Analyst
    Recombinant Data Corporation

    Please copy and paste the formula into a reply and we can be more specific but I suspect you're utilizing a function that must be processed later on in the 3-pass report generation model.  One can only group on simple formulas so that the results of the formula will be available at the point the groups are created.
    Once we see the formula we can provide more specifics and workarounds.  Crystal Reports is intelligent and will not display those printtime formulas when selecting a field or formula on which to group - as it knows that this cannot be done.
    There are workarounds based on what functions are being used in your formula.

  • Need help with assignment......due 10/13/06....PLEASE HELP!!

    Hi everyone,
    I'm new to this forum, but I wanted to check here for help first...I have the following assignment:
    Implement a method that will compute the present value of a stream of future payments that leaves a final balance. The parameters to the method will be the monthly payment, the annual interest rate, the number of months, and the final balance.
    You can compute this by working backwards from the final balance. Given the balance at the end of the month, add the payment and divide by (1 + monthly-rate). This will give the balance at the beginning of the month. Do this as many times as months. The resulting balance is the present value.
    This should also be tested. Do this by picking some values for the present value and using your function. Then, use the method from class to take the present value, the interest rate, the monthly payments and the number of months and compute the final balance. This should match the chosen value. Repeat this for several values of the parameters that you choose.
    I was able to use the method from class to compute the final balance, but I'm confused as to how to work it backwards. Here's my code so far...
    * TestPresentValue.java
    * Created on October 5, 2006, 3:45 PM
    * To change this template, choose Tools | Template Manager
    * and open the template in the editor.
    package testpresentvaluejava;
    * @author Administrator
    public class TestPresentValue {
        /** Creates a new instance of TestPresentValue */
        public TestPresentValue() {
         * @param args the command line arguments
        public static void main(String[] args) {
            // Enter the loan parameters to compute the final balance
            double START_BALANCE = 13969;
            double ANNUAL_RATE = .08;
            double MONTHLY_PAYMENT = 200;
            int NUMBER_OF_MONTHS = 10;
            double present_value = START_BALANCE;
            for( int month = 1; month <= NUMBER_OF_MONTHS; month ++ ){
                System.out.println("Month #" + month);
                double interest = present_value * ANNUAL_RATE / 12;
                present_value = present_value + interest - MONTHLY_PAYMENT;
                System.out.println(  "    interest:   " + interest);
                System.out.print("    new balance: " + present_value);
    }Can someone please help me to understand what I need to do here? Thank you to anyone who's able to help.

    Implement a method....
    This mean write a NEW method, don't shove everything into the main method. All those other things it mentions in the assignment should be passed in as parameters.

  • I cannot access iTunes Store due to an error code 0x80090318. Please help!

    I cannot connect to iTunes Store. I tried re downloading, it's OS windows 8.1
    Please help!

    Type that Error code into the Search window... Top right

  • 3.3 Bug: Win32 API Error 2 - Please help

    Wondering if anyone may be able to help with the following error message:
    "An internal error has occured: Win32 API error 2 ("The system cannot find the file specified") When calling ShellExecuteExW from AgWorkspace.shellExecute".
    The wonderfully unhelpful persons at the helpline said they could not help me but indicated If I reload the version 3.3 in a different location the problem would go away since some plug-in from v1.4 had infected the new install.
    I have no custom add-ins/plug-ins, everything is default.
    I followed these instructions, however still have the same error. I removed then re-installed 3.3 on another drive away from C:\Progfiles......
    Any suggestions?

    Sorry F. McLion, I could have provided the following additional information:
    v1.4 lightroom owned, operating without issue, installed in default location
    C:\... drive
    v3.3 trial downloaded, installed default location, export operating without
    issue
    v1.4 launched to compare, export working fine
    v3.3 launched, export results in error message; determined that export actually
    worked, just resulted in the error message
    un-installed v3.3 per phone support (manager)
    re-installed v3.3 on F:\ drive from copy downloaded on F:\... drive. No change.
    Odly after I removed then re-installed v3.3, the pictures I was working
    on appeared in the re-installed instance with the most current changes - I would
    suspect a clean un-install would have removed any semblence of work done prior
    to removing (at least pointers to modified files). Since not, this means the
    un-install did not truely un-install, it simply removed some files but also left
    some remnents.
    Microsoft XP Home edition V 2002 Service Pack 3
    Dell Dimension 8400 P4 3.00 Ghz 3.00GB ram
    Hope this helps.
    John

  • Thread bottleneck?

    Hi -
              We have an application that is loading tens of thousands of xml messages
              into a JMS queue backed by Oracle, and committing every 100. MDB's pick up
              from that queue and start their own UserTransactions managing from the
              stateless on. We're doing this to achieve execute concurrency in the
              container even tho it is a batch application. It also will allow us to
              handle near-realtime requests later using the same mechanism. (We know
              we're really done with the load by monitoring the number of rows in the JMS
              Oracle queue -- are handling poisen messages by starting a UserTransaction
              in the MDBs and any that don't work get the container work rolled back, then
              written in a new trans to a table with a CLOB.) It's working fine -- but
              there is one place where the performance could be improved, I think.
              It looks like there is a thread bottleneck. When the 100 transactions are
              committed, only about 10 or so MDB's get to fire (about the number that are
              in the pool), but after that they wait again until the next commit to handle
              another 10 or so. Once the batch client finishes loading his thousands of
              messages into the Queue and closes, the MDBs take off at full steam and we
              get very good thruput.
              So it looks like there is a single (or very few) threads for the JMS server,
              and that they give priority to the JMS client doing the load and not to the
              MDBs that handle them. Even tho lots are commited, the MDBs only get a
              single shot at grabbing a few. Is there a way to tune this so that the
              MDBs can get a bigger slice of the pie while the JMS server is loading?
              The load seems to hog the JMS server.
              Thanks for any help,
              - Mark
              

    Bob -
              We are 6.1 SP2. Each message is a transaction when it gets inside of the
              container. We are committing every 100 because we synchronize a counter in
              case we need to restart, which works fine. But even without synchronizing
              that counter, the load behavior is the same.
              Since we have clustered servers, being able to have a queue and have
              multiple MDBs working on these transactions should increase our thruput
              because each transaction causes lots of database work to happen with of
              course a commit at the end of each unit of work. Also we wanted a
              message-based queueing solution for plugging in near-realtime workloads to
              the same system.
              Even tho the queue and JMS server are defined on one server, the MDBs launch
              fine on both clustered app servers. The theory is that two threads (and
              possibly several clustered boxes with multiple cpus) can wait on database IO
              almost as fast as one can. If the amount of database work is small and you
              have one cpu and you commit infrequently, then single-threading is
              definitely the way to go as you mention. We'll be doing variations on the
              load testing with MDBs very soon with different numbers of MDBs and servers.
              Unfortunately our test setup has the clusters defined on a single,
              multi-homed box so varying the servers won't be a good test. But we can
              easily throttle the MDBs. The MDBs seem to launch so that the same ones
              from the pool are launched as soon as there is work available even tho there
              are a larger number of them available -- that's good because you can easily
              track the workload. There seem to be about five active now at any given
              time between the two servers even tho a total of 20 are available.
              It's working fine and the performance is currently not an issue, but I was
              just questioning the way that the intial load to JMS behaves.
              Thanks,
              - Mark.
              "Bob Lee" <[email protected]> wrote in message
              news:B960628D.190E%[email protected]...
              > What SP are you using? Why does the client commit every 100 messages? Do
              > these 100 messages represent an atomic unit? If so, then why not combine
              > them into one message? It sounds to me like there could be some threaded
              > code issues here (code as opposed to resource allocation issues).
              >
              > Also, are the MDB's taking the data and inserting it in a database or
              > something? If so, I'd question the value of inserting the data
              concurrently.
              > Write a simple performance test program to prove this. The first test
              should
              > insert 1000 records sequentially. The second test can spawn 10 threads
              that
              > each insert 100 records. If the first tests performs close enough, I'd go
              > with a sequential solution as the resource overhead will be a lot lighter
              > and the coding can be simpler. Since you're using JMS, you don't have to
              > worry about clients blocking each other.
              >
              > Also, when you write the test, connect to the database directly as opposed
              > to accessing a DataSource running in WebLogic in another process. The
              > overhead of the excess remote access might affect the results.
              >
              > Let me know,
              > Bob
              >
              > On 7/20/02 8:57 AM, in article
              > r%[email protected], "Mark Cassidy"
              > <[email protected]> wrote:
              >
              > > Hi -
              > >
              > > We have an application that is loading tens of thousands of xml messages
              > > into a JMS queue backed by Oracle, and committing every 100. MDB's
              pick up
              > > from that queue and start their own UserTransactions managing from the
              > > stateless on. We're doing this to achieve execute concurrency in the
              > > container even tho it is a batch application. It also will allow us to
              > > handle near-realtime requests later using the same mechanism. (We know
              > > we're really done with the load by monitoring the number of rows in the
              JMS
              > > Oracle queue -- are handling poisen messages by starting a
              UserTransaction
              > > in the MDBs and any that don't work get the container work rolled back,
              then
              > > written in a new trans to a table with a CLOB.) It's working fine --
              but
              > > there is one place where the performance could be improved, I think.
              > >
              > > It looks like there is a thread bottleneck. When the 100 transactions
              are
              > > committed, only about 10 or so MDB's get to fire (about the number that
              are
              > > in the pool), but after that they wait again until the next commit to
              handle
              > > another 10 or so. Once the batch client finishes loading his thousands
              of
              > > messages into the Queue and closes, the MDBs take off at full steam and
              we
              > > get very good thruput.
              > >
              > > So it looks like there is a single (or very few) threads for the JMS
              server,
              > > and that they give priority to the JMS client doing the load and not to
              the
              > > MDBs that handle them. Even tho lots are commited, the MDBs only get a
              > > single shot at grabbing a few. Is there a way to tune this so that the
              > > MDBs can get a bigger slice of the pie while the JMS server is loading?
              > > The load seems to hog the JMS server.
              > >
              > > Thanks for any help,
              > > - Mark
              > >
              > >
              > >
              >
              

  • [svn:bz-trunk] 5125: Update excludes.properties file for BlazeDS/ trunk to exclude tests due to bugs BLZ-354, BLZ-355, and BLZ-356.

    Revision: 5125
    Author: [email protected]
    Date: 2009-03-02 05:55:42 -0800 (Mon, 02 Mar 2009)
    Log Message:
    Update excludes.properties file for BlazeDS/trunk to exclude tests due to bugs BLZ-354, BLZ-355, and BLZ-356.
    Also exclude JMS tests on WebSphere due to configuration issues on the regression box. This is being tracked by QETOOLS-32 in jira.
    Ticket Links:
    http://bugs.adobe.com/jira/browse/BLZ-354
    http://bugs.adobe.com/jira/browse/BLZ-355
    http://bugs.adobe.com/jira/browse/BLZ-356
    http://bugs.adobe.com/jira/browse/QETOOLS-32
    Modified Paths:
    blazeds/trunk/qa/features/excludes.properties

  • Bug of JSF spec?

    I am not good at English. But but... please hear my JSF Problem.
    <h:form>
        <h:inputText id="input1" required="#{true}"/>
        <h:message for="input1"/>
        <h:inputText id="input2" value="#{testBean.value}">
            <f:convertNumber integerOnly="true"/>
        </h:inputText>
        <h:message for="input2"/>
        <h:commandButton/>
    </h:form>From browser:
    1.Input empty string at input1. (this cause validation error.)
    2.Input empty string at input2. (convet to null.)
    3.Click commandButton.
    I hope:
    Display value at input2 is empty string. (My input value is keeped.)
    But result is:
    Display value at input2 is "#{testBean.value}". (My input value is forgotten...)
    In my research:
    1.converter converts empty string to null.
    2."local value" is set to null.
    3.Go to Rnder Response Phase By Input1 validation error.
    4.getValue ignore "local value" if it is null and see VE.
    Uhh... Why getValue method doesn't see isLocalValueSet?
    I can't understand... Please Help me...

    Unfortunately I've had no luck with this solution. In my case I am performing a search using a session scope bean. My results are listed in a dataTable and I have an actionListener on a request scoped bean. All of that works fine.
    faces-config.xml
    <managed-bean>
         <managed-bean-name>searchBean</managed-bean-name>
         <managed-bean-class>com.package.SearchBean</managed-bean-class>
         <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
    <managed-bean>
         <managed-bean-name>detailBean</managed-bean-name>
         <managed-bean-class>com.package.DetailBean</managed-bean-class>
         <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
    public class DetailBean
         private String field1;
         private String field2;
         //Bind the dataTable component to the controller
         protected transient UIData dataTable;
         //The object used to populate the row in the table that was selected
         protected transient Object row;
         public DetailBean()
              super();
              FacesContext facesContext = FacesContext.getCurrentInstance();
              Boolean isPostback = facesContext.getRenderKit().getResponseStateManager().isPostback(facesContext);
              if(!isPostback) //always seems to be true
                   if(dataTable != null)
                        row = dataTable.getRowData();
         public void detail(ActionEvent event)
              row = dataTable.getRowData();
              if(row != null)
                   Map<String,String> record = (Map<String,String>)row;
                   setField1(record.get("field1"));
                   setField2(record.get("field2"));
         public String edit()
              //do the edit
              return "success";
    <h:inputText id="field1" value="#{detailBean.field1}" required="true"/>
    <h:inputText id="field2Input" value="#{detailBean.field2}"/>
    <h:outputText id="field2Text" value="#{detailBean.field2}"/>
    <h:inputText id="field2Hidden" value="#{detailBean.field2}"/>
    <h:commandLink id="edit" action="#{detailBean.edit}" value="edit"/>
    <h:messages errorStyle="color:red" showSummary="true"/>     The values from the table are successfully populated and the page is shown with the values:
    field1=test1
    field2Input=test2
    field2Text=test2
    field2Hidden=test2when I clear field1 (required) and submit I have the following:
    field1=
    field2Input=test2
    field2Text=
    field2Hidden=test2
    message about field1 being requiredI would expect field2Text to still retain the value.
    Furthermore if I set the field2Text to readonly="true", it, too, does not retain its value. However in both cases once the required field has a value and is submitted, all values show as expected.
    My only workaround for this is to set my detailBean session scope, but that avoids the problem.

  • Piped streams, data lines and threads - what's the bug?

    Please, help!
    What is wrong here and what should I do to make it running?
    Strictly speaking, one thread becomes blocked (in) and another runs in a short circuit (out).
    The code is:
        TargetDataLine stdin;
        SourceDataLine stdout;
        PipedInputStream pipein;
        PipedOutputStream pipeout;
        public void pipeDirectly() throws Exception {
            stdin = AudioSystem.getTargetDataLine(DEFAULT_FORMAT);
            stdout = AudioSystem.getSourceDataLine(DEFAULT_FORMAT);
            pipein = new PipedInputStream();
            pipeout = new PipedOutputStream(pipein);
            stdin.open(DEFAULT_FORMAT, 16384);
            stdout.open(DEFAULT_FORMAT, 16384);
            stdin.start();
            stdout.start();
            Thread in = new Thread() {
                public void run() {
                    try {
                        byte[] buffer = new byte[100000];
                        while (true) {
                            int avl = stdin.available();
                            if (avl > 0) {
                                stdin.read(buffer, 0, avl);
                                pipeout.write(buffer, 0, avl);
                    } catch (Exception ex) {
                        ex.printStackTrace();
                        throw new RuntimeException(ex);
            Thread out = new Thread() {
                public void run() {
                    try {
                        byte[] buffer = new byte[100000];
                        while (true) {
                            int pipeAvl = pipein.available();
                            int outAvl = stdout.available();
                            int avl = Math.min(pipeAvl, outAvl);
                            if (avl > 0) {
                                int read = pipein.read(buffer, 0, avl);
                                stdout.write(buffer, 0, read);
                    } catch (Exception ex) {
                        ex.printStackTrace();
                        throw new RuntimeException(ex);
            out.start();
            in.start();
            in.join();
        }Thank you!

    Actually, tried.
    There were one or two passes of "in" thread and repeating pipeAvl=0 in "out".
    I have watched the thread state (IDE debugger) and realized that these things were called inside "in" thread:
    wait():-1; java.lang.Object
    awaitSpace():204; java.io.PipedInputStream
    receive():161; java.io.PipedOutputStream
    write(): 129; java.io.PipedOutputStream
    run(): <my method location>
    the numbers are actually the number of line from source. -1 is for native method.
    Why it behaves like this? I don't understand.
    To compare, this code works almost beautifully:
        TargetDataLine stdin;
        SourceDataLine stdout;
        PipedInputStream pipein;
        PipedOutputStream pipeout;
        public void pipeDirectly() throws Exception {
            stdin = AudioSystem.getTargetDataLine(DEFAULT_FORMAT);
            stdout = AudioSystem.getSourceDataLine(DEFAULT_FORMAT);
            pipein = new PipedInputStream();
            pipeout = new PipedOutputStream(pipein);
            Thread in = new Thread() {
                public void run() {
                    try {
                        stdin.open(DEFAULT_FORMAT, 16384);
                        stdout.open(DEFAULT_FORMAT, 16384);
                        stdin.start();
                        stdout.start();
                        byte[] buf = new byte[100000];
                        while (true) {
                            int avl = stdin.available();
                            stdin.read(buf, 0, avl);
                            stdout.write(buf, 0, avl);
                    } catch (Exception ex) {
                        throw new RuntimeException(ex);
            in.start();
            in.join();
        }Message was edited by:
    MaxBuzz

Maybe you are looking for

  • USB device drawing too much power...

    I have a Mac Pro 1,1 that until this last software update (10.6.7) was running fine. After the download and reboot, my computer is now riddled with the same error message: "Because a USB device was drawing too much power from your computer, one or mo

  • Dead screen on iMac -- worth reparing?

    A friend gave our family an iMac 2.16 core 2 duo (model A1207). "Everything works fine, except the screen has (apparently) died." Is this worth paying to fix? Fair assumption that the computer has otherwise been well taken care of.

  • Conditional formatting a graph vertical axis in SSRS 2012 charts

    Hi, I have a situation where i want to color the label on vertical axis of graph depending on certain condition. Say when values are positive the color would be Black and when negative color would be Red. I tried following condition but its not worki

  • Sync program other than iTunes

    I just purchased an iPod touch. My children have cheap MP3 players. I do not want to manage multiple music libraries and playlists. Is there any other sync option for the touch? Can I add a plugin to WMP and sync a touch? Can I download and use anoth

  • Can PXI card be transparently substituted for PCI card in VME control?

    Background: We are purchasing a displacement-measuring-interferometer system from Zygo that ships with your NI VME-PCI8012 (777244-03) PCI to VME bridge. The Zygo system includes drivers for the bridge and a Windows application that runs on the host