Multiple Container calls to same bean - HELP!

Here's something that I can't understand.
In short:
When I make a request to a Session Bean for a particular method, it's starts the method, calls other beans, finishes the method, and then the same method is called 3 more times.
In short
servlet ---> Big session bean
----> child bean 1
----> child bean 2
----> child bean 3
----> child bean 4
<---- should return to the servlet but calls the big session bean again 3 times.
the method is declared as Required and any Exceptions thrown by the children are caught by Big Session, so I don't see how the Container is calling multiple times.
Any ideas or possible starting points would be greatly appreciating.
Thanks in advance,
Craig

I have figured out what happened.
A Transaction rollback was being thrown, which I thought was the result of the lengthy time to process the four calls. The transaction time out is defaulted at 60 secs (half way through the method call) and after that it rolls back. The default for the max-tx-reties is 3, which is seen.
Therefore, with the max-tx-retries="0" in the orion-ejb-jar.xml and the <transaction-config timeout="150000"/> set to 5 minutes my transaction has time to finish.
Thanks, for your help.
Craig

Similar Messages

  • Multiple instances of the same bean class in session?

    I�m trying to think of a way to have multiple instances of the same bean class in session scope using JSF. For example, let�s say that I have two <h:dataTable>s on the same page. They both use the backing bean called genericBean. Now, the content for genericBean will be different for each <h:dataTable>. In fact, the data source that backs genericBean is not known until runtime. It could be a database, web service, etc.
    What I would like is for when JSF needs access genericBean instead of looking for the value with key �genericBean� in the session map it looks for �genericBean_[some runtime ID]�. I could specify this id in EL on a custom component, as a request parameter or whatever.
    I think that I need the bean to be in session scope because the tables are complex and I want them to be editable.
    I have some ideas about how I can do this but I was wondering if someone has already solved this problem or if there is a standard way to do this using tools like Shale, etc.
    Thanks,
    Randy

    Well, I came up with an interesting solution to this so I thought that I would post it here.
    I have a page that looks like this.
    <html>
    <head>
    <title>My Page</title>
    </head>
    <body>
    <f:view>
    <f:subview id="component1">
    <jsp:include page="component.jsp">
    <jsp:param name="id" value="a" />
    </jsp:include>
    </f:subview>
    <hr>
    <f:subview id="component2">
    <jsp:include page="component.jsp">
    <jsp:param name="id" value="b" />
    </jsp:include>
    </f:subview>
    </f:view>
    </body>
    </html>
    And component.jsp looke like this.
    <f:verbatim>
    <p>
    <h1>Component
    </f:verbatim>
    <h:outputText value=" #{param.id}" />
    <f:verbatim>
    </h1>
    </p>
    </f:verbatim>
    <h:form>
    <h:outputText value="#{component.id}" />
    <h:outputText value="#{component.value}" />
    <h:commandButton value="increment" action="#{component.increment}" />
    <h:commandButton value="decrement" action="#{component.decrement}" />
    <f:verbatim>
    <input type="hidden" name="id"
    value="</f:verbatim><h:outputText value="#{param.id}"/><f:verbatim>" />
    </f:verbatim>
    </h:form>
    The idea is that I want component.jsp to be initialized differently based on the id param. The component managed bean is configured to be in session scope but I want the component instance for id a and id b to be different instances in session scope. Therefore, I added a custom variable resolver to handle this.
    public Object resolveVariable(FacesContext context, String name) {
    // This id will be different for the different subviews.
    HttpServletRequest request = (HttpServletRequest) context.getExternalContext() .getRequest();
    String id = request.getParameter("id");
    // If there is an id in the request then check if this is a bean that can have multiple
    // instances in session scope.
    if ((id != null) && (id.length() > 0)) {
    ExternalContext ec = context.getExternalContext();
    // Build the new name for the key of this bean
    String newName = name + "_" + id;
    Object value = null;
    // See if the bean instance already esists.
    if ((null == (value = ec.getRequestMap().get(newName))) &&
    (null == (value = ec.getSessionMap().get(newName))) &&
    (null == (value = ec.getApplicationMap().get(newName)))) {
         // We could not find the bean instance in scope so create the bean
         // using the standard variable resolver.
    value = original.resolveVariable(context, name);
    // Now check if the bean implements that page component interface. If it is
    // a page component then we want to rename the key to access this bean so
    // that the instance is only used when the id is provided in the request.
    // For example, if there are two components (a and b) we will have in session scope
    // component_a and component_b. The will each point to a unique instance of the
    // Component bean class.
    if (value instanceof PageComponent) {
    // Try to get the value again
    if (null != (value = ec.getRequestMap().get(name))) {
         // Initialize the bean using the id
    ((PageComponent) value).initInstance(id);
    ec.getRequestMap().remove(name);
    ec.getRequestMap().put(newName, value);
    } else if (null != (value = ec.getSessionMap().get(name))) {
    ((PageComponent) value).initInstance(id);
    ec.getSessionMap().remove(name);
    ec.getSessionMap().put(newName, value);
    } else if (null != (value = ec.getApplicationMap().get(name))) {
    ((PageComponent) value).initInstance(id);
    ec.getApplicationMap().remove(name);
    ec.getApplicationMap().put(newName, value);
    return value;
    return original.resolveVariable(context, name);
    }

  • IPhone SDK - Multiple buttons calling the same IBAction

    Hi,
    Can I call the same action with multiple buttons? I´ve just connected
    the action to the buttons in interface builder, but in the header file
    I can´t use - (IBAction)setOperator: (id)sender; as the parameter to the function, it always crash due to uncaught exception. If I use - (IBAction)setOperator; it
    works, but i can´t differentiate wich button was pressed.
    I don´t know if i can set the (id)sender parameter in the interface
    builder. Can anyone help me?
    Thanks,
    Pitteri

    .h file:
    #import <UIKit/UIKit.h>
    #import <Foundation/Foundation.h>
    @interface CalculatorView : UIView {
    IBOutlet UITextField *txtResult;
    IBOutlet UIButton *btnMult;
    IBOutlet UIButton *btnDiv;
    @property (nonatomic, retain) UITextField *txtResult;
    @property (nonatomic, retain) UIButton *btnMult;
    @property (nonatomic, retain) UIButton *btnDiv;
    - (IBAction)setOperator:(id)sender;
    @end
    .m file:
    #import "CalculatorView.h"
    @implementation CalculatorView
    @synthesize btnDiv, btnMult, txtResult;
    - (IBAction)setOperator:(id)sender{
    //if btnMult pressed
    //bla bla bla
    //if btnDiv pressed
    //bla bla bla
    that´s my code. Hope u can help.
    thanks
    @end

  • Multiple RFC calls in same session

    Hi All,
    I'm looking for a way to execute multiple RFCs (one after the other) within the same "session".  The reason I need to execute them within the same session is because the initial RFCs store information in ABAP memory (EXPORT x TO MEMORY ID y) and subsequent ones will use that information (IMPORT x FROM MEMORY ID y) for further processing.  I thought I could do it all as a transactional RFC call but as one of the RFCs invokes the GUI, it seems to cause complications.  I don't think tRFCs are the correct solution because it invovles client interaction from the GUI in one of the calls.
    Has anyone tried to do this with the .NET Connector before?  I've tried reusing the connection but it seems to get reset after the first call.  Please help!
    Tim.

    Hi Tim,
    How are you doing ?
    A session [when using NCo] is the length of time that the connection is open.
    please let me know why the connection is being reset.
    the client number is a mandatory attribute in any connection string, it is a part of a composite key which uniquely identifies the user
    please let me know how you would like to proceed ?
    with respect,
    amit

  • Multiple threads calling the same stored proc with different parameters

    Hi,
    I have a stored procedure which will be called by 8 threads. Every time it takes in a different parameter.
    Actual execution time for this proc (irrespective of the parameter) is around 2 seconds. But when I call the 8 threads, I see that the total time taken (END TO END) is around 16 seconds. Threads do acquire a read lock right? Is there a way i can get over this issue?
    Please let me know.

    Sybase IQ is the database. I am using a thread pool. The time taken to execute this procedure without threads is about 2 seconds. It takes 16 seconds when I start using threads.
    I do something like this :
    ///////////////////////// databaseThreadPool.java
    * example of a fixed-size thread pool using the
    * executors introduced in Java 5
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;
    public class databaseThreadPool
    public static void main(String[] args)
    * create a thread pool with four threads
    ExecutorService execSvc = Executors.newFixedThreadPool( 8);
    * place six tasks in the work queue for the thread pool
    for( int i = 0; i < 6; i++ )
    execSvc.execute( new CountDown() );
         long a =System.currentTimeMillis();
    execSvc.execute( new databaseThread("00055","YTD","GROSS") );
    execSvc.execute( new databaseThread("00055","YTD","NET") );
    execSvc.execute( new databaseThread("00055","YTM","GROSS") );
    execSvc.execute( new databaseThread("00055","YTM","NET") );
    execSvc.execute( new databaseThread("00055","LY","GROSS") );
    execSvc.execute( new databaseThread("00055","LY","NET") );
    execSvc.execute( new databaseThread("00055","LLY","GROSS") );
    execSvc.execute( new databaseThread("00055","LLY","NET") );
         long b =System.currentTimeMillis();
         try{
         while(databaseThread.done!=8)
              Thread.sleep(1000);
         catch(Exception ex){}
    execSvc.shutdown();
    System.out.println("END TO END TIME TAKEN : "+(b-a));
    /////////////////////////////////////////////////////////// databaseThread.java
    import java.io.PrintWriter;
    import java.sql.CallableStatement;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.ResultSetMetaData;
    import java.sql.Statement;
    import java.io.PrintWriter;
    import java.sql.CallableStatement;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.ResultSetMetaData;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.io.IOException;
    public class databaseThread implements Runnable
    protected int count = 8;
    * the following counter is incremented once
    * each time the class is instantiated, giving each
    * instance a unique number, which is printed in run()
    private static int taskCount = 0;
    private final int id = taskCount++;
    private String gpNum;
    private String time;
    private String domain;
    public static int i=0;
    public static int done=0;
    PrintWriter out = null;
    Connection connection = null;
    Statement statement;
    ResultSet rs;
    ResultSetMetaData rsmd;
         CallableStatement cStmt = null;
    public databaseThread(String gpNum, String time, String domain) {
    this.gpNum=gpNum;
    this.time=time;
    this.domain=domain;
    * print the id and the iteration count to the console, then
    * yield to another thread.
    public void run()
         try
         Class.forName("com.sybase.jdbc3.jdbc.SybDriver");
         connection = DriverManager.getConnection("jdbc:sybase:Tds:XXXXXXXXXXX:XXXXXXX", "cp_dbo","cp_dbo");
         statement = connection.createStatement();
              cStmt=connection.prepareCall("{call XXXXXX ?,?,?)}");
              cStmt.setString(1,gpNum);
              cStmt.setString(2, time);
              cStmt.setString(3,domain);
              long a =System.currentTimeMillis();
              rs=cStmt.executeQuery();
              long b=System.currentTimeMillis();
              System.out.println(id+" Time taken by to execute Query : "+(b-a));
         //rsmd=rs.getMetaData();
              while(rs.next())
              Thread.yield();
         catch (ClassNotFoundException e) {
              System.out.println("Driver Error" );
              e.printStackTrace();
              } catch (SQLException e) {
              System.out.println("SQLException: " + e.getMessage());
    }

  • How can I call multiple records(40) at same time as webservice ?

    Hi All
      My scenario is some thing like calling SOAP(Webservice) to Rfc(BAPI)
      Thing is how can i call multiple records at the same time using the SOAP
       adapter i.e i need to make a request to BAPI and in the BAPI response
       based on the fields, i need to send to different records....it is Sync call
    Can any explain me how to implement this scenario ?
    Regards
    Kiran lvs

    HI,
    Please see the below link
    http://help.sap.com/saphelp_nw04/helpdata/en/42/ed364cf8593eebe10000000a1553f7/content.htm
    Regards
    Chilla..

  • Dynamic CSV file name in target (Multiple workflow calling same dataflow with new global variable value)

    Hi their,
    I have multiple data flows doing 90% of the process same. The difference is in source query where clause and target flat file.
    I used the global variables to dynamically change the query where clause easily, but I need help in dynamically changing the target flat file (CSV file).
    What I want to do is have multiple workflows, which will first set the global variable to new value in the script box and then call the same data flow.
    Please let me know if you have any solution or any idea which might put me in the direction to my quest for solution.
    thank you,

    Hi Raj - in your content conversion for lineitem .. read the additional attribute as well.
    Change your source strcture and additional field company_code
    As you are already sending the filename for each line item using the UDF.. it's just you need to modify your UDF to take another input i.e. Company Code.
    or
    If your PI version is > 7.1 use the graphical variable to hold the filename..
    and while sending the company code information for every item just use the concat function to append filename & company code..
    http://scn.sap.com/people/william.li/blog/2008/02/13/sap-pi-71-mapping-enhancements-series-using-graphical-variable

  • Urgent - (session bean calling Entity bean )Help Need for me - Plzzzzzzzzzz

    Hi
    I am created two beans one is Entity bean another one is session . the two beans deployed using diffrent jar files
    . I call the Entity bean methods using session bean
    But i couldn't locate the entity bean Home object through session bean(
    Sub is created but i couldn't get it that home obj stub)
    i get the following error messgae CorbaBad Operation
    i deployed two bean using same jar means my program is working
    Help meeeeeee

    I Send part of code to u
    public String logic1(rsp.ejbbm.ex.studVO s) {
              rsp.ejbbm.student.studentRemote r=null;
              String id = null;
              try {
    System.out.println("sdfsdfsdfs");
              Object obj = ctx.lookup("ejb/student");
              System.out.println("Lookup Succeded ");
              System.out.println("Object value" +obj.toString());
    /// HERE I GOT THE ERRO I COULDn'T Locate IT
    EJBHome obj1 =(EJBHome)javax.rmi.PortableRemoteObject.narrow(obj,rsp.ejbbm.student.studentHome.class);
              System.out.println("Object value" +obj1.toString());
              rsp.ejbbm.student.studentHome home=(rsp.ejbbm.student.studentHome)obj1;
              //studentHome hom=(studentHome)ctx.lookup("ejb/student");
         System.out.println("Object value" +obj.toString() );
         System.out.println("Lookup Converted ");
              home.create(s.getRollno(),s.getName());
              System.out.println("student Record isInserted in Oracle ");
              r= (rsp.ejbbm.student.studentRemote) home.findByPrimaryKey(s.getRollno());
              System.out.println("Student 5555 Name is "+ r.getName());
              id = r.getName();
              catch(Exception e ){
              System.out.println(e.toString());}
              return id;
    * @see javax.ejb.SessionSynchronization#afterBegin()
    public void afterBegin() {
    * @see javax.ejb.SessionSynchronization#afterCompletion(boolean)
    public void afterCompletion(boolean committed) {
    * @see javax.ejb.SessionSynchronization#beforeCompletion()
    public void beforeCompletion() {
    * See section 7.10.3 of the EJB 2.0 specification
    public void ejbCreate() {
              Properties p = new Properties();
              p.put("java.naming.factory.initial", "com.sun.jndi.cosnaming.CNCtxFactory");
              try{
         ctx = new InitialContext(p);
         catch(Exception e) {System.out.println("Create Exception "+e.toString());}
    }

  • How do I print multiple copies of the same photo on one page or a contact sheet. The directions in help don't work

    I want to print multiple copies of the same photo on a page. The directions in help don't work
    Help

    What version of iPhoto?
    The general process is to select the photo and print, select the printer, paper size and print size and click customize and under settings selec multiples copies of a photo (the preview will reflect this choice) and click print to print, make any printer specific selections and click print to print
    LN

  • XOQ-01950: Cube contains multiple BuildSpecifications with the same name.

    Hi All ,
    While executing the Maintain Cube option it is throwing below issue : Any Clue ?
    XOQ-01950: The AWCubeOrganization for cube "NN_OLAP_POC.MARKET_SALES_CUBE" contains multiple BuildSpecifications with the same name.
    Thanks,
    DxP

    This error should only show up when you create a cube (by importing XML), not when you maintain it. So I will assume that this is what you mean.
    If you import XML that refers to an OLAP object that already exists, then the new definition overrides the old one. The only exception to this rule is the BuildSpecification object. This kind of object is named, but it does not follow these conventions (for messy implementation reasons). If you import XML that has a BuildSpecificaiton with the same name as one that already exists, then you will trigger the error you see. Here is an example of the relevant XML.
    <BuildSpecifications>
    <![CDATA[BUILD SPEC LOAD_AND_AGGREGATE
      LOAD NO SYNCH,
      SOLVE
    ) ]]>
    </BuildSpecifications>The workaround is to delete this section from the XML before importing it.

  • How to call multiple stored procedure from same DB Adapter

    Hi,
    I want to invoke 3 stored procedures from my message flow in BUS . I created a DB adapter and invoked 1 successfully . Now I don't to configure 2 other DB adapters for calling other 2 stored procedures . I want some how to be able to call the other 2 from the first DB adapter only . Somehow I need the flexibility to have procedure names as the operation names in 1 wsdl and be able to configure this in JDeveloper for this at time of DB adapter configuration . I am using 11G . Is it possible ?

    You can probably create a DB adapter with operation type selected as Execute Pure SQL and write SQL code to invoke the stored procedures depending on the procedure name (which you can get as one of the parameters of DB Adapter).
    However, Even if you were able to do it, the DB Adapter schemas are generated based on stored procedure parameter list and types. If you use Execute Pure SQL type of DB Adapter the schema will be generated based on the parameters which you are using in your custom SQL code within DB Adapter. Which means that if you want to add a new stored procedure as target which has a different name and different parameters then you will need to regenerate the DB adapter and update your custom SQL code. This also means that you will need to do regression testing interfaces to all stored procedures whenever there is any change in this DBAdapter.
    Now, my question is why do you want to invoke multiple stored procedures from same DB adapter?
    This is not a good way to design integration solutions and makes your services resistance to change as it will take more time to change and test.
    If all that you want is to have a web service which can have different operations for different stored procedures then you should create three business services and create a wrapper proxy service which has one operation for each stored procedure, within the proxy transform and call the correct backend service (you can use operational branch). This way you have a modular code where each module (read interface to one stored procedure) can be independently modified and tested.

  • Help Calling the same vi after one button dialog

    hi need help aftr the the one dialog appears how to call the same vi again need help
    Message Edited by jeyanthi on 05-22-2008 10:13 PM
    Attachments:
    StationNumberEWS.vi ‏43 KB

    Why did you start a new thread? continue here
    Message Edited by MikeS81 on 05-23-2008 09:15 AM

  • Ok I am ready to throw my S3- it drops calls constantly- sent it back, got a new one, now is doing the same thing- HELP???

    OK ok I am ready to throw my S3- it drops calls constantly- sent it back, got a new one, now is doing the same thing- HELP???- I know others have had this problem , is there a permanent fix or do i switch phones?

        Hi kiz,
    I also have the Galaxy S3 and I have not experienced any issues with calls. I want you to have the same experience! As indicated by Ann154 (thank you!), the coverage in your area may have something to do with the quality of your calls. Please provide us with your ZIP code and we'll check the type of coverage in your area. We can also replace the SIM card to ensure that this issue is not SIM card related. If you have not requested a SIM card replacement yet, please follow me and send me a DM with your account number and I will follow up with you to order a SIM card replacement.
    AntonioC_VZWSupport
    Follow us on Twitter at www.twitter.com/VZWSupport

  • Call and Execute Multiple Windows of the same VI

    Hi,
    I would like to call and execute multiple windows of the same VI.
    Please take a look for my attached vi, and start from the 2x2.vi, i think you have to re-enter the file path to run (sorry for inconvenience).
    If I click the start button in different sub panels, the sub vi(Temperature Analysis.vi..& etc) should be called out in multiple windows, hold it, and run simultaneously.
    But now the problem is, the sub vi is called out 1 by 1 until it is finished prior the second sub vi is called.
    May I know how to solve that?
    Thanks.
    Attachments:
    My VI.zip ‏173 KB

    Hello TanTan
    1. Open the PopUpmain.vi and select the path of PopUp.vi
    2. Enter the number of popups and run the VI.
    Hope this attached VI will work as per your expection. Please select the less number of instances 
    Kudos are always welcome if you got solution to some extent.
    I need my difficulties because they are necessary to enjoy my success.
    --Ranjeet
    Attachments:
    PopUpMain.vi ‏12 KB
    PopUp.vi ‏8 KB

  • Help with multiple httpservice calls

    I need help with multiple httpservice call back to back, doing 10 different mysql query at startup of the app loading results into 14 datagrids/combobox all queries are to different tables.

    Hello,
    I think what Grizzzzzzzzzz means is the following:
        <mx:HTTPService id="serviceOne"
            url="here goes url"
            result="resultHandler1(event);"
            fault="faultHandler(event);"/>
        <mx:HTTPService id="serviceTwo"
            url="here goes url"
            result="resultHandler2(event);"
            fault="faultHandler(event);"/>
        <mx:HTTPService id="serviceThree"
            url="here goes url"
            result="resultHandler3(event);"
            fault="faultHandler(event);"/>
         // Result handler 1
         private function resultHandler1(event:ResultEvent):void{
              //Here do something with the results
             xmlCollection = event.result as XML;
             //then call the next service
             serviceTwo.send();
          // Result handler 2
          private function resultHandler2(event:ResultEvent):void{
              //Here do something with the results
             xmlCollection = event.result as XML;
             //then call the next service
              serviceThree.send();
    I hope this helps,
    Pierre

Maybe you are looking for

  • ITunes won't open - any ideas what's going on?

    Whenever I try to open iTunes, whether from the start menu or with the shortcut, it doesn't work. I get the hourglass for a few seconds, then it becomes a cursor again and that's all. No sign that I just tried to load a program.   Windows XP  

  • AT&T iPhone 4S as iPod?

    Hi, I am trying to set up our old AT&T iPhone 4S as an iPod for my son.  I erased the phone (so I can set it up from scratch using the Family Sharing option with my son's iTunes account instead of mine), thinking I could set it up from scratch from i

  • No GPS on Nokia 701

    Hi I still use my 701 for walking using viewranger via ithe GPS signal  As I do not Use mobile Data This has worked for years  with no problems . But now th last 3 times I am unable to get a GPS signal  while out walking on the fells  and even using

  • Use of Enterprise Services

    Hello Experts, My Scenario is Java Application(Source Data) - SAP PI 7.1 - SAP R/3. I have standard R/3 BAPI available for Data posting in SAP R/3 system. This same scenario I can implement by creating and exposing the Web Service in SAP PI system. b

  • Communication between the secondary community VLANs hosts

    Hi Guys, The hosts in the secondary community private VLANs are permitted to talk each other. If there is no promiscuous port/host defined, will the community VLAN hosts be able to talk each other? Or all the intra-community VLAN traffic is routed vi