Max no# of threads in a single session

Hi all,
I have a scenario wherein I have connected to SAP from JAVA using XBP interfaces.
I want to call BAPI_JOB_DEFINITION_GET concurrently in a single session using sync threads. The problem what I am facing here is, I am able to handle 15 to 20 connections but for high volumes of threads(50) the JVM is crashing.
I guess there is some limit set from SAP end.
Could anybody provide any suggestions or advice about, the maximum number of connections and how can I set the parameter to modify the limit.
Thanx in advance
Milind.

This topic should be posted in the Java Programming section, not the xMII section...

Similar Messages

  • Max no# fo connections in a single  session

    Hi all,
    I have a scenario wherein I have connected to SAP from JAVA using XBP itenrfaces.
    I want to call  BAPI_JOB_DEFINITION_GET concurrently in a single session using sync threads. The problem what I am facing here is, I am able to handle 15 to 20 connections but for high volumes of threads(50) the JVM is crashing.
    I guess there is some limit set from SAP end.
    Could anybody provide any suggestions or advice about, the maximum number of connections  and how can I set the parameter to modify the limit.
    Thanx in advance
    Milind.

    Hi
    You will have to do memory settings for the number of threads you are trying to access.
    Procedure:
    Go to configtool and try to change the heap size.If you can tell the configuration of your OS i can help you in setting the corrcet heap size and JVM parameter.
    \usr\sap\SID\JCXX\j2ee\configtool and run configtool.bat
    1.Go to instance----
    Check the heap size
    2.Expand the instance node
    Click the dispatcher node----
    Check the heap size
    Click the server node----
    Check the heap size
    Change the values.If you have confusion send the present values to me.
    Message was edited by:
            rajat anand

  • Single session max throughput on 5555-X

    We have some ASA 5555-X firewalls running 9.1(2) with the IDS modules installed that have a pretty basic configuration used to separate multiple internal networks.  The firewalls are able to pass over a Gbps of traffic pretty easily as long as it's sourced from multiple services but if we try to do a high speed transfer such as backup to SAN running over a single UDP or TCP session the traffic seems to peg out around 400Mbps.  We can verify that the server and SAN are capable of much higher transfer speeds by putting both on the same side of the firewall so I'm convinced the firewall itself is the limiting factor here.
    I was wondering if anyone has come across this before and/or has any suggestions for how to boost the speed.  I am really trying to avoid something like bridging the networks with multiple interfaces or route exporting VRFs but our DBA's are complaining nonstop about backup times in those environments.  There are no Service policy QOS settings set on those interfaces and are NAT exempt so the firewall is not doing anything what I would call special.
    Thanks,
    Richard Hillius

    Hello Richard,
    At this point it would be good you do some captures on both interfaces of the ASA in place for this traffic and then see the round trip time just to make sure the ASA is the one generating the slowness on the network.
    And agree the ASA can do QoS for specific traffic (so for all traffic that you defined, not just for a single session).
    Can you share the following commands:
    show interface | include errrors
    show cpu usage
    I could start providing you comamnds but I think it's better to give you the link :
    http://www.cisco.com/en/US/products/ps6120/products_tech_note09186a0080ba9521.shtml
    Here is what you need to undertstand about the ASA, let us know the test you performa afterwards.
    For more information about Core and Security Networking follow my website at http://laguiadelnetworking.
    Any question contact me at [email protected]
    Cheers,
    Julio Carvajal Segura

  • How to do Multithreading in Oracle PlSql using a Single Session

    Hi All,
    I have a complex but interesting requirement.
    1) I have a table with 90k rows.
    2) My PlSql Package picks up all the 90k rows one by one, does some processing/transformation on it
    3) if the row satisfies some business rules, then it gets inserted into an application table. If the row is not eligible, then it inserts the row into a Error table.
    4) After processing all the 90k records, If my Error Table Count reaches 10% of the input count (90k), then all inserts (i.e. both application table inserts and
    error table inserts) must be rolled back.
    5) Right now, we are achieving this logic in a single session but there are far many performance issues, because processing has to go through row by row.
    Is it possible to implement the above logic as "multi threading within PlSql" whereby i can run Step 2 in 10 parallel slaves and if the total error count of all the 10 slaves exceeds 10% of the input data, then there should be a rollback for all 10 slaves.
    +A sample testcase is given below. Issue is: rollback statement in p1 is not taking any effect (because plsql spawns sessions to execute p2 which autocommits itself on graceful exit). But is there any other way by which i can make the rollback to be effective+
    create table t1 (a number);
    create table j1(b number);
    create or replace procedure p1
    as
    l_cnt number;
    i number;
    l_job number;
    begin
         for i in 1 .. 5 loop
            dbms_job.submit( l_job, 'p2('||i||');' );       
        end loop;
        commit;
        loop
            dbms_lock.sleep(30);
            select count(*) into l_cnt from j1;
            exit when (l_cnt = 5);
        end loop;
       rollback;
    end;
    create or replace procedure p2(i number)
    as
    begin
    insert into t1 values(i);
    insert into j1 values(1);
    end;
    /

    Basically your current 'algorithm' can be described as 'slow-by-slow processing' (co Tom Kyte)
    Relational databases are about sets not about records.
    Consequently your approach must be qualified as evil.
    Instead of fixing the problem (and getting rid of slow-by-slow processing), you propose to add even more evil by adding multi-threading to the mix.
    The issue you describe is not an issue at all, it is just making clear you are heading for disaster.
    An approach that works quite nicely is
    - add an extra status column to the table to be processed.
    - UPDATE the status column of all records that do not qualify. By UPDATE I mean the UPDATE statement, not record by record processing
    - (BULK)-INSERT the remaining records, for which the flag is NULL.
    The simple guidelines for application development are:
    Only do it in PL/SQL when you can't do it in straight SQL
    Only do it in Java when you can't do it in PL/SQL
    Only do it in 3GL when you can't do it in Java.
    Your 'strategy' is doomed to fail.
    Get rid of it.
    Before it is too late, and your heart is pumping like mad, because your problems are increasing, and increasing, and increasing, and you have to work 7 x 24 to deal with 'performance problems'
    You have already demonstrated your approach doesn't work.
    Don't try to make it worse.
    Sybrand Bakker
    Senior Oracle DBA
    Experts: those who do read documentation

  • What's wrong to put Thread.sleep in a session bean?

    i am working on a trading platform and i think there is a design flaw. The part i am working on is the Order Management module. When an order value object is published to a JMS topic and picked up by a MDB. The MDB, in turn, calls a session bean (could be stateless, I didn't check), OrderEngineBean. After this bean saves the order vo into database and broadcast the message to all involved parties, it suspends for 12 sec, using Thread.sleep, so other parities might have a chance to update the vo. If no update occurs, the order is considered expired and abandoned.
    It looks awkward to me to use a Thread.sleep in a session, but I haven't come out with a better idea to deal with the scenario like above.
    Anyone can help me out?
    Thanks a lot!
    Sway

    Setting the property "max-beans-in-free-pool" is not the answer to this issue. By setting this property to 1, the container merely instantiates and keeps one instance of the bean in the free pool at the "start" of the app server. But if the container comes across more than one requests for the same EJB simultaneoulsy, then it will create new instances at that time to handle the requests simultaneously.
    You are seeing intermixed log messages between two threads because these messages are being logged from two different instances of the EJB and NOT the same instance of the EJB. The container does synchronizes the calls on "a method" on "a instance". So what you are seeing are the messages coming from "a method" on "two different instances" of the same EJB.
    You can refer to the EJB 2.0 specification section 6.11.6 Non-reentrant instances for details about simultaneous access to the same session object.

  • "max number of thread"

    We are running a java web app on a Ubuntu Oracle WebLogic server version 10.3.3.
    The java web app performs long polls with open tcp socket to keep the client connection open. The clients are long polling the WebLogic at 30 seconds.
    Currently we are not able to maintain stability for greater than 24 hours with approximately 200 simultaneous sessions on WebLogic server. Session to me is active client/server tcp connection. We have re-written our application to use continuations, but we are seeing ConcurrentModificationException errors in performance testing.
    Is there any setting in WebLogic for “max number of thread” that can handle?
    Edited by: user9316392 on Jul 8, 2010 11:07 AM

    First, WebLogic since 9.0 has a self-tuning thread pool where WLS will automatically grow and shrink the number of threads based on some internal algorithms. I'm not aware of a hard limit so theoretically there is no max thread count as long as the JVM has memory and WLS thinks more threads will help. You can read up on it here:
    http://www.oracle.com/technology/pub/articles/dev2arch/2006/01/workload-management.html
    Practically, I wouldn't expect more than several hundred threads to be helpful.
    As for your situation, how does WLS become unstable? Out of memory, out of file descriptors, errors on new requests, etc. I think you're going to have to use some JVM tools to see what happens to your JVM over time. Is there a memory leak somewhere, is it non-heap memory, etc. JRockit Mission Control is helpful if running on JRockit. If you're on Sun Hotspot, them presumably you can use some of the Hotspot tools. You'll want to compare the state of the JVM towards the beginning of your load test, but after a slight warm-up period with a snapshot after the load test has been running for a long period of time.

  • 1) Second thread call to stateful session bean.

    Hi Friend,
    I read your threads on otn and i compared your problem with us and i analysed that your application and my application is same, So Plese can you help me in some issues.
    Friend, Please help me in these issues, Thanks for this
    We have very big ADF Swing+BC Application and deployed as Stateful Session Bean. in my application there are 500 Application Modules,For each application module i created Stateful session beans and deployed it on OC4J Container but when working on deployed application then i am getting time out error after 15 min of working.
    1). I set that parameter that you mentioned i.e jbo.ejb.txntimeout = 86400,but still it is giving me same error.
    2). Second Issue is of ---ORA-01000: maximum open cursors exceeded
    For this issue i chaged the Database Parameter i.e OpenCurser=2000, but still it is giving me same error,
    is there any parameter on application module required to change so that this error will not come.
    3). When i close the form then application module is not releasing database connection.
    4). (oracle.oc4j.rmi.OracleRemoteException) Second thread call to stateful session bean
    This error is also coming when I am using deployed application for long time i.e more than 15 min for Heavy Transactions

    Hi Suyog,
    How r u?
    We all are fine.
    I alerady tried for the Max Curser Property but it is not helpfull.
    I think again i have to go for closing opened db RS and statements.
    Thanks
    Vijay

  • Can I download a file in different sessions or should it be in a single session? In other words can I pause the download of a file, shutdown/restart my system and then resume download from where I left off? Or will it start from the very beginning?

    Can I download a file in different sessions or should it be in a single session? In other words can I pause the download of a file, shutdown/restart my system and then resume download from where I left off? Or will it start from the very beginning?

    If a server supports resuming downloads then the download should continue where it left off.<br />
    You can test that by simple starting a large download and wait a minute or so before pausing it.<br />
    Then you can close and restart Firefox and see if resuming works.
    You can set the pref browser.download.manager.quitBehavior to 2 on the about:config page.<br />
    That will make Firefox ask for confirmation if you want to cancel the download if you close Firefox.
    See:
    * http://kb.mozillazine.org/browser.download.manager.quitBehavior

  • Message Driven Beans: how to receive and send in a single session?

    Hello
    How to receive and send JMS messages in a message driven bean using a single session?
    Thanks.

    Are you referring to writing code within the onMessage method itself to receive JMS messages?
    If so, that is not a pattern that is recommended, especially not in the case of a blocking JMS
    receieve. If you must write an explicit JMS receive within an EJB component it's best to use
    a "check the queue" approach where you give a very small timeout for the receive. That way
    if the message is there it will be returned but if not the call will not block.
    You'll also need to take the transactional settings of the onMessage method into account.
    If your are sending a message and then waiting for a response, those two actions can
    not be done within the same global transaction. For that, you'll need to either use
    BMT and perform each in its own transaction or just not use global transactions at all,
    in which case each send and receive operation will be atomic.
    --ken                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Max no of threads

    Is there such a thing as a max number of threads in a midp j2me application. My application, which makes extensive use of threads is suffering from hanging, where is shouldn't. How do I remedy this?
    Thanks.
    Pier.

    I am porting a agent programming api to the pda platform. Each agent has it's own communications, class loading and other threads. These threads have to be alive so that they are ready to execute any time this particular agent receives messages from another agent.
    So my problem does not have anything to do with the number of threads?
    Does it have anything to do with how j2me handles threads? My program runs with no problems at all on the wireless toolkit emulator. BUt on the iPAQ, sometimes it hangs near the beginning where several threads are being initiated. If it gets past that stage, there are no problems though.
    Any guesses to help me? :)
    Pier.

  • What is Max number of schema in a single DB ?

    Hi All,
    I have small query does anyone have any idea about
    What is Max number of schema in a single DB we can specify in oracle ?
    Thanks n advance.
    Anwar

    You don't say which version of the database you are using. In 10gR2 the maximum limit on users and roles is 2,147,483,638.
    I think this is more users than any sensible DBA would want to manager :)
    Cheers, APC

  • Single session for all Application Modules

    Hello,
    I've got an application that has several Application Modules. All these modules need some data that are set from time to time. I've written some code that calls getSession().getUserData().put("myData",myData). After this method was called in another Application Module i want to retrieve myData with getSession().getUserData().get("myData"). But the result depends if I use 2-tier or 3-tier. In 2-tie I get myData while in 3-tier I get null. My question is:
    Is there a Session object or any other data instance that could be accessed from all Application Modules for on application instance.
    E.g. I've got two user (A,B) who start my application. Through using my app several instance of Application Modules are created. All Application Modules that are created for the instance of User A should be able to share his user name and some other dynamic data while the Application Modules created for B should have no access to that data.
    Doe anybody know if static data of an Application Module are a possible solution?
    regards
    Joerg

    Hi Joerg,
    I am not 100% sure what you are trying to achieve, and with which version of JDeveloper/ ADF, technologies (JSP, Swing), etc, but I can tell you that I have been experimenting with single session accounts myself within a rich-client Swing environment, as I have experienced Oracle DBA guys who want to control user authentication via Oracle accounts (I have achieved this via the JCLoginDialog mechanism, and a bit of a hack)... Frank Nemphius (sp?) posted something about a white paper coming out on a related subject but I don't know where he is with that.
    Anyway, I managed to do it in a prototype by nesting several application modules within a Root Application Module that was essentially simply a Container for the other application modules. Using this mechanism I was able to bind my root application module to any panel I wanted and it would inherit the roots Session.
    ie. I used many application modules and it only used one Oracle Session.
    However, my reservations -
    1) This solution was not tested robustly!
    2) I doubt this would be ideal for a distributed app with thousands of users - My solution is for a very complex app, with a limited number of users.
    Finally, I cannot confirm this is a great solution - I can only tell you it worked in my prototype, and I am currently awaiting the ADF source - when my company and Oracle can decide what level of support we currently have and need!?!? - what exactly does being an "Oracle partner" mean??? Its all very boring and un-interesting to a Java person like me... ;-)
    Once I have the source I will look at how it actually works and perhaps be able to answer questions like this more definitively. Hmm - I wonder if I could get the Oracle JDBC driver source too?? .... Is it written in C or C++?? I know them too... ;-)
    Cheers........Dean

  • Thread Pool with Min,Max. and other thread parameters

    hello,
    I found an Implementation of ThreadPool in the java.sun.com,but it didn't have the minimum,maximum no. of threads implemented in the code.
    Could you help me find out an implementation of Thread Pool,that keeps track of minimum no. of threads,max. no. of threads in the pool,the increment size of threads,number of idle threads,idle time allowable for a thread,etc...
    I also need to know if it is possible to have >5000 threads in a ThreadPool,beacuse I get OutofMemoryError,when I used a ThreadPool( which didn't have any of the above-mentioned parameters!)
    Thanks!!!

    Having greater then 5000 threads is a sign of a problem with your design. Threads are relativly costly
    beasties. The idea of using a pool for your threads is that you won't need to use 5000 threads
    simultaniously. Most OS's will have problems trying to create this many threads per process (unless you
    tune the OS itself (which is normally not too difficult))
    matfud

  • RDS 2012 R2 - Allow Some Users Multiple Logon Sessions and Restrict Other Users to a Single Session

    In Server 2012 R2 RDS, is there a way to allow some users to log on multiple times, but restrict other users to a single logon? On an OU or AD group basis?
    I know there is a GPO setting under Computer Configuration for restricting users to a single logon, but this does not allow me to differentiate on a user basis (only on a per server basis).
    Thanks,
    James

    Hi James,
    From my perspective and knowledge, sorry to say but there is no such option\way to provide this permission at same time. If a user specifies a different program to start when the user connects to the RD Session Host server, a new session will be created on
    the RD Session Host server for the user, even if the RD Session Host server is configured to restrict users to a single session. A user can specify a program to start on connection on the Programs tab under Options in Remote Desktop Connection.
    Hope it helps!
    Thanks.
    Dharmesh Solanki
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Support, contact [email protected]

  • OrionRemoteException: Second thread call to stateful session bean

    What happen for "com.evermind.server.rmi.OrionRemoteException: Second thread call to stateful session bean".
    I am using JSP/Servlet/EJB and OC4J. When user click the JSP page button to fast, sometimes the error will appear, and then the OC4J will stop, I need to restart the OC4J.
    I am using standlone OC4J 9.0.3.0.0
    Thanks in advance,
    Perry

    Have you cached the remote object you obtained for the stateful session beamn and are reusing the same object on subsequent requests from the JSP page? So in effect, you are making a second call to the bean before the first method call completes?
    Without knowing anything about what you are doing or how you app is constructed, you may want to set some form of flag for the user session to indicate whether the bean is in use, which you can check before using the bean in requests. When the bean method call completes, open the gate again. If the bean is in use, return a nice message to the user telling them to hold off for a short while.
    -steve-

Maybe you are looking for

  • Assigning value to a two dimensional array

    Hi, I am trying to assign value to a two dimesional array the following way. String [ ] [ ] d2D = new String [10] [ ]; for (int i = 0; i<obj.length; i++){ d2D = { "hello " + i, "here" , "we go" }; but it gives me the error "illegal start of expressio

  • Installing Oracle 8.0.5 on RedHat 7.0

    Has anyone encountered problems installing Oracle 8.0.5 on Redhat 7.0. RedHat 6.2 installation works.

  • OSM 7.0: Error in custom plug-in for automation task

    Hi all, I'm trying to create a new custom plug-in to write in a file from OSM. I have created my Java class and my custom plug-in. On the other hand, I have created a new automation task which will use the new plug-in. From a new process, I will invo

  • Non-breaking spaces export to Excel = ASCII 160, not 32

    We found the following issue with exporting strings to Excel. Assume the database Data field contains a string with multiple spaces "Hello____World".For the sake of readability I represent the space as '_' (underscore). In OBIEE the normal data forma

  • Can I build a plugin that allows my clients to export a photos or a collection as a catalog?

    All I want to know is if I can invoke the export as catalog feature (file>export as catalog) from a plugin. For a example, I want my users to put their photo on any collection created under my plugin and allow them to export their selection as a cata