How to access HttpSessionListener instance

Hi,
I use a HttpSessionListener to count the active sessions in my WebApp. Therefore the HttpSessionListener implementation has two fields (an int and an ArrayList<HttpSession>). The HttpSessionListener is defined in the web.xml.
The listener works as expected and updates the fields each time a Session is created or destroyed.
How can I access the fields from within the application? Esp. how can I access the ArrayList field to used that in the application?
Is the instance of the HttpSessionListener somewhere in the Application context?
Thanks

Two ways:
1) Make the list static. It may only lead to problems in certain clustered environments.
2) On the first-time use, let it put itself in the application scope.

Similar Messages

  • How to access an instance in a different .FLA?

    Hi
    I am trying to add a LOAD EXTERNAL MOVIE CLIP behaviour to a button sitting in a .FLA called SERVICESMENU. I want to load a .swf titled MULTIMEDIA.SWF into an instance of an empty symbol called PAGE LOADER on a different .FLA called MAIN.FLA.
    The problem is when I am in the SERVICEMENU.FLA file, I cannot see the instances that I created in the MAIN.FLA when following the behaviours wizard so I cannot choose the PAGELOADER instance that was created in and resides in the MAIN.FLA file.
    How do i get around this?
    Hope this makes sense.
    cheers
    Angus

    Hi
    Thanks for the reply. your email went to my spam folder so just noticed it now.
    actually i think i may have solved my dilemma. i am setting up the navigation differently by using the timeline instead of trying to load external swf's. seems to be working. i will let you know how i progress. am busy watching total training dvds on this

  • How to access multiple instance on internet explorer

    Dear
    WE are on r12,
    We have to configure production instance base on test, therefore we need to run two instance but explore not allow to run same time,
    how can we run this.
    psl advice.
    thanks.

    Hi,
    Let's assume that you are using IE8 or later.
    You should go to the File menu (Alt+F, if the menu is hidden) and then select "New Session".
    This will allow you to start any number of different EBS sessions you want even for the same instance.
    Regards,
    Bashar

  • HOW TO ACCESS MY VISION INSTANCE GLOBALLY?

    Dear legends,
    Since i have installed a VISION INSTANCE 12.1.1 and i have a domain name, and my entries as follows OS : ORACLE LINUX 5.7 x86_64
    OUR ORGANISATION'S IP EXAMPLE
    IP FOR THE MACHINE USING : 192.168.1.1
    SUBNET MASK : 255.255.255.0
    DEFAULT GATEWAY : 192.168.1.10
    PRIMARY DNS : 50.51.52.53
    SECONDARY DNS : 300.200.100.1
    vi /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    BOOTPROTO=static
    BROADCAST=192.168.1.xxx
    HWADDR=xx:xx:xx:xx:xx:xx
    ONBOOT=yes
    TYPE=Ethernet
    USERCTL=no
    IPV6INIT=no
    PEERDNS=yes
    IPADDR=192.168.1.1
    NETMASK=255.255.255.0
    NETWORK=192.168.1.0
    #GATEWAY=192.168.1.10
    vi /etc/sysconfig/network
    NETWORKING=yes
    NETWORKING_IPV6=no
    HOSTNAME=devl.rel.net -- example hostname
    GATEWAY=192.168.1.10
    cat resolv.conf
    # Generated by NetworkManager
    search rel.net
    nameserver 50.51.52.53 -- example DNS 1 or primary DNS
    EITHER i give or edit all the above mentioned files to access my EBS home page using the url http://devl.rel.net:8000/ i cant able to access the page but other sites can be browsed, since at the time of installation of oracle linux i have given the hostname as devl.rel.net and our domain name is rel.net.
    Please can anyone help how to access my EBS globally. I have accessed the EBS login page for the first time at the time of installation only after that i cant able to access. Instance is working fine, everything has been started. I have pinged the same url ping devl.rel.net it says 0% packet loss from a terminal.
    Lots of thanks and Great help would be appreciated more.
    With Regards,
    Karthik Singh

    Hi,
    As per your request I have posted here HOW TO ACCESS MY VISION INSTANCE GLOBALLY?
    Thanks a lot

  • How to access Instance Attribute in a Class Interface from FM ?

    Hi Experts
    I have the following function module code, that passes the syntax, however in the class interface ABC, I have an attribute IJK that is Instance Attribute (Public).  When I modify the code like ABC->IJK but it does not like it, the error is :-
    Field "ABC" is unknown. It is neither in one of the specified tables nor defined by a "DATA" statement. "DATA" statement.
    Question : How do I declare the Class Interface ABC in my Function Module  that will allow me to access the Instance Attribute ?
    Thanks in advance.
    FUNCTION XYZ.
    if not ABC=>EFG is initial.
        output = ABC=>EFG.
        shift output left deleting LEADING space.
      endif.
    ENDFUNCTION.

    Hello
    You question only makes sense if
    (1) the class / interface is part of the FM's interface (i.e. an IMPORTING - or perhaps CHANGING - parameter)
    (2) the class / interface is defined as global variable in the TOP include of the function group
    If either of these two options is applicable then the coding may look like this:
    " (1) IMPORTING parameter: e.g. IO_INSTANCE TYPE REF TO class / interface name
    IF ( io_instance IS BOUND ).
      io_instance->abc = 'New value'.
    ENDIF.
    " (2) Global variable of function group, e.g. GO_INSTANCE TYPE REF TO class / interface name:
    IF ( go_instance IS BOUND ).
      go_instance->abc = 'New value'.
    ENDIF.
    Obviously, the public attribute ABC must be changeable (i.e. not READ-ONLY).
    Regards
      Uwe

  • HELP : How to access a datasource rowset in the AM class ?

    Hi,
    i have an AM "TestAM" which contains the viewobject "ViewTest".
    in the class "TestAMImpl.java" i added a method called "verify()".
    in my JSP i have initialised the AM and a datasource based on the VO "ViewTest" :
    <jbo:ApplicationModule id="am" configname="TestAM.TestAMLocal" releasemode="Stateful" />
    <jbo:DataSource id="ds" appid="am" viewobject="ViewTest" />
    <%
    TestAM am = (TestAM) am.useApplicationModule();
    String Message = am.verify();
    %>
    My question is how to access to the rowset of the datasource "ds" in the code of the method
    "verify()" ?
    public class TestAMImpl extends ApplicationModuleImpl implements TestAM {
    public String verify()
    How to access the rowset initialised in the JSP???????????
    Thanks for your help

    This is correct. Think of the AM as having a hashtable of instances of view objects that you can lookup by instance name.
    The <jbo:DataSource> tag lets you lookup an instance by name in the AM and get a reference to it to use in the JSP page. Within your AMImpl class, you can either:
    [list]
    [*]Call findViewObject("YourViewInstanceName"), or
    [*]Just call the generated getYourViewInstanceName() method which is ok to call inside the Impl class to get hold of the same VO.
    [list]

  • How to access var in outter class inside inner class

    I've problem with this, how to access var number1 and number2 at outter class inside inner class? what statement do i have to use to access it ? i tried with " int number1 = Kalkulator1.this.number1; " but there no value at class option var y when the program was running...
    import java.io.*;
    public class Kalkulator1{
    int number1,number2,x;
    /* The short way to create instance object for input console*/
    private static BufferedReader stdin =
    new BufferedReader( new InputStreamReader( System.in ) );
    public static void main(String[] args)throws IOException {
    System.out.println("---------------------------------------");
    System.out.println("Kalkulator Sayur by Cumi ");
    System.out.println("---------------------------------------");
    System.out.println("Tentukan jenis operasi bilangan [0-4] ");
    System.out.println(" 1. Penjumlahan ");
    System.out.println(" 2. Pengurangan ");
    System.out.println(" 3. Perkalian ");
    System.out.println(" 4. Pembagian ");
    System.out.println("---------------------------------------");
    System.out.print(" Masukan jenis operasi : ");
    String ops = stdin.readLine();
         int numberops = Integer.parseInt( ops );
    System.out.print("Masukan Bilangan ke-1 : ");
    String input1 = stdin.readLine();
    int number1 = Integer.parseInt( input1 );
    System.out.print("Masukan Bilangan ke-2 : ");
    String input2 = stdin.readLine();
    int number2 = Integer.parseInt( input2 );     
         Kalkulator1 op = new Kalkulator1();
    Kalkulator1.option b = op.new option();
         b.pilihan(numberops);
    System.out.println("Bilangan yang dimasukkan adalah = " + number1 +" dan "+ number2 );
    class option{
    int x,y;
         int number1 = Kalkulator1.this.number1;
         int number2 = Kalkulator1.this.number2;
    void pilihan(int x) {
    if (x == 1)
    {System.out.println("Operasi yang digunakan adalah Penjumlahan");
            int y = (number1+number2);
            System.out.println("Hasil dari operasi adalah = " + y);}
    else
    {if (x == 2) {System.out.println("Operasi yang digunakan adalah Pengurangan");
             int y = (number1-number2);
             System.out.println("Hasil dari operasi adalah = " + y);}
    else
    {if (x == 3) {System.out.println("Operasi yang digunakan adalah Perkalian");
             int y = (number1*number2);
             System.out.println("Hasil dari operasi adalah = " + y);}
    else
    {if (x == 4) {System.out.println("Operasi yang digunakan adalah Pembagian ");
             int y = (number1/number2);
             System.out.println("Hasil dari operasi adalah =" + y);}
    else {System.out.println( "Operasi yang digunakan adalah Pembagian ");
    }

    Delete the variables number1 and number2 from your inner class. Your inner class can access the variables in the outer class directly. Unless you need the inner and outer class variables to hold different values then you can give them different names.
    In future place code tags around your code to make it retain formatting. Highlight code and click code button.

  • How to access BAPI in enterprise portal perspective?

    hi,I am venkat new to the portal.can anyone plz tel me how to access BAPI in enterprise portal perspective?is done through JCo or any other database connection?I hav not seen in System Landscape about BAPI access.plz give guidance about BAPI interface in enterprise portal.Hope u  will understand the question and answer the query.
    thanx in advance.
    Regards:
    Venkataramana.

    Guys,
    Herez how you call a BAPI:
         public void buildConnection(){
              try {
                        System.out.println("**** DI2 *****");
                     //      Add a connection pool to the specified system
                     //    The pool will be saved in the pool list to be used
                     //    from other threads by JCO.getClient(SID).
                     //    The pool must be explicitely removed by JCO.removeClientPool(SID)
                       com.sap.mw.jco.JCO.addClientPool( SID,         // Alias for this pool
                                             10,          // Max. number of connections
                                             "040",       // SAP client
                                             "USERNAME",   // userid
                                             "PASSWORD",  // password
                                             "EN",        // language
                                             "IPADDRESS",// host name
                                             "40" );
                     //      Create a new repository
                     //    The repository caches the function and structure definitions
                     //    to be used for all calls to the system SID. The creation of
                     //    redundant instances cause performance and memory waste.
                       repository = com.sap.mw.jco.JCO.createRepository("MYRepository", SID);
                        JCO.Client client = null;
                        client = JCO.getClient(SID);
    //                 Get a function template from the repository
                        //IFunctionTemplate ftemplate = repository.getFunctionTemplate("BAPI_CUSTOMER_GETDETAIL2");
                        IFunctionTemplate ftemplate = repository.getFunctionTemplate("YGGLB_BAPI_YGGLB9PRK_PRKDOCU");
    //                 Create a function from the template
                        JCO.Function function = ftemplate.getFunction();
    //                 Get import (of Function Module) "Parameter list"
                        JCO.ParameterList input = function.getImportParameterList();
    //                 Set inputs for import parameters
                        //input.setValue("0000009000", "CUSTOMERNO");
                        //input.setValue("0248","COMPANYCODE");
    //                 Get import (of Function Module) "Structure list".
                       //JCO.Structure importStructure = function.getImportParameterList().getStructure("CUSTOMERADDRESS");
                        JCO.Structure importStructure = function.getImportParameterList().getStructure("IM_DOCUMENTHEADER");
    //                 Set values for import parameters (of Function Module) "Structure list"                     
                        importStructure.setValue( "SA", "DOC_TYPE" );
                        importStructure.setValue( "20080910", "PSTNG_DATE" );
                        importStructure.setValue( "20080910", "DOC_DATE");
                        importStructure.setValue( "BHARDWS", "USERNAME" );
                        importStructure.setValue( "2008", "FISC_YEAR" );
                        importStructure.setValue( "FRE1", "COMP_CODE" );
    //                 Get import (of Function Module) "Table list - 1".
                        JCO.Table orderPartners = function.getTableParameterList().getTable("TBL_ACCOUNTGL");
    //                 Set values for import parameters (of Function Module) "Table list - 1"
                        //Append Row -1
                        orderPartners.appendRow();
                       orderPartners.setValue("0000000001", "ITEMNO_ACC" );
                         orderPartners.setValue("0000400100", "GL_ACCOUNT" );
                        orderPartners.setValue("H", "DE_CRE_IND" );
                        orderPartners.setValue( "ANYTHING", "ITEM_TEXT" );
                        //orderPartners.setValue( "AG", "PROFIT_CTR" );
                        orderPartners.setValue( "AIG0000007", "COSTCENTER" );
                        //Append Row -2
                        orderPartners.appendRow();
                       orderPartners.setValue("0000000002", "ITEMNO_ACC" );
                        orderPartners.setValue("0000400100", "GL_ACCOUNT" );
                        orderPartners.setValue("S", "DE_CRE_IND" );
                        orderPartners.setValue( "NOTHING", "ITEM_TEXT" );
                        //orderPartners.setValue( "AG", "PROFIT_CTR" );
                        orderPartners.setValue( "AIG0000007", "COSTCENTER" );
    //                 Get import (of Function Module) "Table list - 2".
                        JCO.Table orderItems = function.getTableParameterList().getTable("TBL_CURRENCYAMOUNT");
    //                 Set values for import parameters (of Function Module) "Table list - 2"
                        //Append Row -1
                        orderItems.appendRow();
                       orderItems.setValue("0000000001", "ITEMNO_ACC" );
                        orderItems.setValue("USD", "CURRENCY" );
                        orderItems.setValue( "2000", "AMT_DOCCUR" );
                        //Append Row -2
                        orderItems.appendRow();
                       orderItems.setValue("0000000002", "ITEMNO_ACC" );
                        orderItems.setValue("USD", "CURRENCY" );
                        orderItems.setValue( "2000", "AMT_DOCCUR" );
    //                 Execute client
                        client.execute(function);
    //******************Start to work on fetching values now********************************
    //                 Get export (of Function Module) "Structure list".
                        /*JCO.Structure returnStructure = function.getExportParameterList().getStructure("CUSTOMERADDRESS");
                        JCO.Structure returnStructure2 = function.getExportParameterList().getStructure("CUSTOMERGENERALDETAIL");
                        returnStructure.getString("NAME");
                        returnStructure2.getString("ENTERED_BY");*/
    //                 Get export (of Function Module) "Table list"./// Create a new template if fetching table data from a different function module than above
                        //IFunctionTemplate ftemplateTable = repository.getFunctionTemplate("BAPI_CURRENCY_GETLIST");
                        //JCO.Function functionTable = ftemplateTable.getFunction();
                        //client.execute(functionTable);
                        JCO.Table table_return = function.getTableParameterList().getTable("RETURN");
                        Vector tbl = new Vector();
                        Vector row = new Vector();
                        Vector colNames = new Vector();
                        //Loop over all rows
                        do {
                        //Loop over all columns in the current row and add all those colums values to the current row
                        for (JCO.FieldIterator e = table_return.fields();
                             e.hasMoreElements();
                             JCO.Field field = e.nextField();
                             row.add(field.getString());
                             System.out.println(field.getName() + ":\t" + field.getString());
                             } // end for
                             //Add this newly built row to the table     
                             tbl.add(row);
                             } while (table_return.nextRow());
                             table_return = null;
                             table_return = function.getTableParameterList().getTable("RETURN");
                             table_return.nextRow();
                             for (JCO.FieldIterator e = table_return.fields();
                             e.hasMoreElements();
                             JCO.Field field = e.nextField();
                             colNames.add(field.getName().toString());
                        //DefaultTableViewModel dtvModel = new DefaultTableViewModel(tbl, colNames);
                        //beanObj.setModel(dtvModel);
                             System.err.println("getting value for you from session in Get Data 1:-");
                             JCO.releaseClient(client);
                        //     return dtvModel;
                   catch (JCO.Exception ex) {
                     System.out.println("Caught an exception: \n" + ex.getMessage());
                   }catch (Exception e){
                        System.out.println("Final Message" + e.getMessage());

  • How to access Selection Attribute Filter Key on a TG through CRMD_MKTTG* ??

    Hello,
    We need to apply all the attributes filters on a TG (for instance city filter) for searching an address  that comply with the filters.
    To create a segment at CRMD_MKTSEG transaction for using it later in a campaign, it could be done by 3 ways:
    1. Create a simple profile
    2. Create a target group: create a profile and build the targe group
    3. Create a profile set: create a profile and build for profile set
    When creating first the profile, it is possible to apply attributes filters. This atributes filters are stored in BD tables of marketing. We are able to find the filters for the first and third case, but not for second case.
    I proceed to explain the first and third case:
    CRMD_MKTTG_TG_H: CRM Marketing: Target Group Header Data
         GUID: CRM Marketing: GUID of Target Group (this data I know beforehand)
         SET_H_GUID: CRM Marketing: GUID Profile Set
         SET_GUID: CRM Marketing: GUID Profile Set
         PROF_GUID: CRM Marketing: GUID of a Profile
    For the first case directly we do a select on CRMD_MKTTG_PF_S where  PF_GUID = CRMD_MKTTG_TG_H-PROF_GUID:
    CRMD_MKTTG_PF_S: CRM Marketing: Selection Criterion of a Profile
         GUID:CRM Marketing: GUID for a Target Group Selection Criterion
         PF_GUID: CRM Marketing: GUID of a Profile
    For the third case we do select on CRMD_MKTTG_PF_H where SET_GUID = CRMD_MKTTG_TG_H-SET_H_GUID and we retive GUID:
    CRMD_MKTTG_PF_H: CRM Marketing: Profile
    GUID: CRM Marketing: GUID of a Profile
    SET_GUID     :CRM Marketing: GUID Profile Set
    Then  we do select select on CRMD_MKTTG_PF_S where  PF_GUID = CRMD_MKTTG_PF_H-GUID.
    And we can obtain the filters through:
    .INCLUDE     CRMT_MKTTG_PF_S_RANGE:CRM Marketing: Selection Range
    SEL_SIGN: CRM Marketing: Component SIGN for Selection Criterion
    SEL_OPTION: CRM Marketing: Component "OPTION" for Selection Criterion
    SEL_LOW     : CRM Marketing: Component "LOW" for Selection Criterion
    SEL_HIGH     :CRM Marketing: Component "HIGH" for Selection Criterion
    But what about the second case that correspond to CRMD_MKTTG_TG_H-SET_GUID?
    Could somebody explain how to access the filters when the second case happen? ¿What relationship MKT tables is based on?
    I would appreciate any suggestion.
    Best regards,
    Rosa
    Edited by: Carlos de Cozar on Feb 15, 2008 12:13 PM
    Edited by: Rosa on Feb 20, 2008 9:42 AM

    Can you please let me know how I can find out the duplicate record.
    you need to split the records from flat file structure into your internal table ans use a delete ADJACENT duplicates comparing fields
    split flat_str into wa_f1 wa_f2 wa_f2 at tab_space.

  • In  a SQL query whihc has join, How to reduce Multiple instance of a table

    in a SQL query which has join, How to reduce Multiple instance of a table
    Here is an example: I am using Oracle 9i
    is there a way to reduce no.of Person instances from the following query? or can I optimize this query further?
    TABLES:
    mail_table
    mail_id, from_person_id, to_person_id, cc_person_id, subject, body
    person_table
    person_id, name, email
    QUERY:
    SELECT p_from.name from, p_to.name to, p_cc.name cc, subject
    FROM mail, person p_from, person p_to, person p_cc
    WHERE from_person_id = p_from.person_id
    AND to_person_id = p_to.person_id
    AND cc_person_id = p_cc.person_id
    Thnanks in advance,
    Babu.

    SQL> select * from mail;
            ID          F          T         CC
             1          1          2          3
    SQL> select * from person;
           PID NAME
             1 a
             2 b
             3 c
    --Query with only ne Instance of PERSON Table
    SQL> select m.id,max(decode(m.f,p.pid,p.name)) frm_name,
      2         max(decode(m.t,p.pid,p.name)) to_name,
      3         max(decode(m.cc,p.pid,p.name)) cc_name
      4  from mail m,person p
      5  where m.f = p.pid
      6  or m.t = p.pid
      7  or m.cc = p.pid
      8  group by m.id;
            ID FRM_NAME   TO_NAME    CC_NAME
             1 a          b          c
    --Expalin plan for "One instance" Query
    SQL> explain plan for
      2  select m.id,max(decode(m.f,p.pid,p.name)) frm_name,
      3         max(decode(m.t,p.pid,p.name)) to_name,
      4         max(decode(m.cc,p.pid,p.name)) cc_name
      5  from mail m,person p
      6  where m.f = p.pid
      7  or m.t = p.pid
      8  or m.cc = p.pid
      9  group by m.id;
    Explained.
    SQL> select * from table(dbms_xplan.display);
    PLAN_TABLE_OUTPUT
    Plan hash value: 902563036
    | Id  | Operation           | Name   | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT    |        |     3 |   216 |     7  (15)| 00:00:01 |
    |   1 |  HASH GROUP BY      |        |     3 |   216 |     7  (15)| 00:00:01 |
    |   2 |   NESTED LOOPS      |        |     3 |   216 |     6   (0)| 00:00:01 |
    |   3 |    TABLE ACCESS FULL| MAIL   |     1 |    52 |     3   (0)| 00:00:01 |
    |*  4 |    TABLE ACCESS FULL| PERSON |     3 |    60 |     3   (0)| 00:00:01 |
    PLAN_TABLE_OUTPUT
    Predicate Information (identified by operation id):
       4 - filter("M"."F"="P"."PID" OR "M"."T"="P"."PID" OR
                  "M"."CC"="P"."PID")
    Note
       - dynamic sampling used for this statement
    --Explain plan for "Normal" query
    SQL> explain plan for
      2  select m.id,pf.name fname,pt.name tname,pcc.name ccname
      3  from mail m,person pf,person pt,person pcc
      4  where m.f = pf.pid
      5  and m.t = pt.pid
      6  and m.cc = pcc.pid;
    Explained.
    SQL> select * from table(dbms_xplan.display);
    PLAN_TABLE_OUTPUT
    Plan hash value: 4145845855
    | Id  | Operation            | Name   | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT     |        |     1 |   112 |    14  (15)| 00:00:01 |
    |*  1 |  HASH JOIN           |        |     1 |   112 |    14  (15)| 00:00:01 |
    |*  2 |   HASH JOIN          |        |     1 |    92 |    10  (10)| 00:00:01 |
    |*  3 |    HASH JOIN         |        |     1 |    72 |     7  (15)| 00:00:01 |
    |   4 |     TABLE ACCESS FULL| MAIL   |     1 |    52 |     3   (0)| 00:00:01 |
    |   5 |     TABLE ACCESS FULL| PERSON |     3 |    60 |     3   (0)| 00:00:01 |
    PLAN_TABLE_OUTPUT
    |   6 |    TABLE ACCESS FULL | PERSON |     3 |    60 |     3   (0)| 00:00:01 |
    |   7 |   TABLE ACCESS FULL  | PERSON |     3 |    60 |     3   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       1 - access("M"."CC"="PCC"."PID")
       2 - access("M"."T"="PT"."PID")
       3 - access("M"."F"="PF"."PID")
    PLAN_TABLE_OUTPUT
    Note
       - dynamic sampling used for this statement
    25 rows selected.
    Message was edited by:
            jeneesh
    No indexes created...                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • How does 1 ASM instance in a 10 node RAC cause all 10 ASM instance to hang

    Linux RHEL4
    11.2.0.1.0 GI
    11.2.0.1.0 RDBMS
    11.1.0.7.0 RDBMS
    10.2.0.4.4 RDBMS
    Yesterday we had one of the ASM instance on our 10-node cluster hang with a latch "ASM file allocation latch". Oracle support has stated we are hitting a bug with is fixed in the latest PSU.
    What I am trying to understand is how a latch on one ASM instance caused all 10 ASM instances to hang?
    Oracle Supports explanation still does not answer how all 10 ASM instance were affected other then the faulty code that the patch fixes. Bellow is info out of the SAR.
    Data Guard Site:
    ================
    ARC1 PID 21508 reports ORA-240 'control file enqueue held for more than 120 seconds' at Thu Oct 28 11:35:54 2010. This message means ARC1 PID 21508 was holding the enqueue past the maximum tine limit of 120 seconds.
    Next ARC0 PID 17398 reports ORA-16146: 'control file enqueue unavailable' at Thu Oct 28 11:36:52 2010. This means ARC0 PID 17398 tried to access the controlfile and it could get the lock.
    ARC1 PID 21508 is then killed at Thu Oct 28 11:49:57 2010.
    Killing enqueue blocker (pid=21508) on resource CF-00000000-00000000 by (pid=23078) by killing session 5.3
    We see that RSM has been restarted by Broker. This matches to the alert.log and messages showing RSM being restarted several time. i.e. RSM0 started with pid=84, OS id=27915
    Since this started happening around 11:14, the problem may have really started then instead of w/ the CF enqueue block.
    The primary appears to be shipping redo to the standby using asynchronous mode. Unless there was a gap, I do no know if ARC1 should have been doing any remote network I/O. Because a log switch to thread 1 sequence 5235 had just happened at 11:33am, I suspect it was a local disk I/O that was started at least. The ORA-240 is reported at 11:35, exactly 120 sec (or 2min) from this log switch. Notice also the entry to show the log thread 1 sequence 5234 was registered to the controlfile didn't happen yet.
    ASM Side:
    ============
    From the systemstate dump on ASM, multiple processes are waiting on 'ASM file allocation latch' and we are kind of stuck on stack:
    ksedsts()+461<-ksdxfstk()+32<-ksdxcb()+1782<-sspuser()+112<-0000003218E0C5B0<-kfuhInsert()+175<-kffilCreate()+601<-kfnsUFG()+3691<-kfnsBackground()+4382<-kfnDispatch()+527<-opiodr()+1149<-ttcpip()+1251<-opitsk()+1633<-opiino()+958<-opiodr()+1149<-opidrv()+570<-sou2o()+103<-opimai_real()+133<-ssthrdmain()+214<-main()+201<-__libc_start_main()+219
    This caused the hang on the ASM side and hence ASM was not responding to the database. The CF Enqueue issue on the database was a side effect of this.
    This is a direct <BUG:9232266> which is a duplicate of <BUG:8974548>

    Thanks Murali,
    I was little reluctent to open a tar since my experince says that its better to troubleshoot the issue yourself instead of spending time with the Oracle support :)
    Well, I got some more information on this : the sql for the process id of ASM instance is :
    Alter Diskgroup mount all;
    It looks like it is unable to mount the diskgroup and get hunged at that point , is it due to the new disk added to the system or do we missed something after adding the new disk.
    Also, the ASM process can not be killed from unix box while the ASM is down.
    Will appreciate your time if we can move in any directions from here ..
    Thanks ,
    Ankur

  • How to use an instance instead of the class itself

    I am building a program but have a problem.
    My program uses a controller class which instantiates a World-class. In the world class has a Vector I make a Vector in which I place all the elements in the world. (I also made an Element class from which all the objects that I put into this Vector extend.)
    Everything except for some methods in the controller class are declared public. I might need to use static, but I do not know how.
    // CONSTRUCTOR CONTROLLER CLASS
    world = new World ();  // instantiate one and only one world
    world.newElement (new Beamer ("beamer", 20. , 20.));  // use a selfwritten method to add a "Star Trek"-like
                              // beamer to the world. I give it a name and position.
    world.newElement (new Avatar ("avt", "beamer"));  // add an avatar which is "beamed up". so what I do is that I use the beamer for the beginposition of the avatar. However, and this is my problem, in the constructor of Avatar (see below) i need the beamer in world, but my compiler cant find world. I probably need to import my World or controller class, but even then: I do not understand how to use an instance (world is an instance. I cant use the World-class as the class does not contain the beamer element)
    public class Avatar extends Element {
         public Avatar (String n, String beamer){
              name = n;
              posx = world.named("beamer").getPosx; // the selfwritten method named finds the
                // element in the Vector that goes with the name. Any ideas to make this code better are welcome too.
              posy = world.named("beamer").getPosy;
    } Any ideas on how to solve this (common) problem in good coding are most welcome.

    I think you are best off if you use static methods and static fields only in your World class. That way you don't have to instantiate it and everyone has access to its methods. This would be then completely analogous to how you access methods and fields of the well-known class System (e.g. when you use System.out.println). This also has the advantage that you are guaranteed to have only one copy of the World.
    Here is an example of how your World class, Avatar class and main code would look like.
    Main code: (note the use of capital W in the name World, referring to class rather than instance).
    // no need to instantiate World, as we call its static methods only
    World.newElement (new Beamer ("beamer", 20. , 20.));
    World.newElement (new Avatar ("avt", "beamer"));  // add an avatar which is "beamed up". World class: (note the static keyword in front of the vector and the methods)
    public class World {
      private static Vector v;       // static field, only one copy of it ever exists
      public static void newElement(Element e)   // static method, can call without instantiating world
         v.addElement(e);
      public static Element named(String n)  // use to look up elements
         ... some code which goes through v and finds element named "n" ...
         ... return reference to that element ...
    }and finally the Avatar: (again note the use of reference to World as a class rather than instance)
    public class Avatar extends Element {
         public Avatar (String n, String beamer){
              name = n;
              posx = World.named("beamer").getPosx;
              posy = World.named("beamer").getPosy;
    } The above example is how I would implement it when you don't actually need instances of the World class.

  • How to access an attribute(this is referencing to another class) in a class

    Dear Gurus,
    I have to read an attribute of a class and that attributes type another class.
    I have intantiated the class and my question is how to read the attribute. I know I can not dirrectly read the attribute since this is another class. I think I have to first reference the attribute right? Please advise me.
    My code looks like below:
    data: lo_fpm                                 type ref to if_fpm.
    data: lo_msg_mgr                        type ref to if_fpm_message_manager.
    data: lo_component_manager    type ref to cl_fpm_component_manager.
    lo_fpm = cl_fpm_factory=>get_instance( ).    " cl_fpm_factory is a class which has a static method get_instance
    lo_msg_mgr = lo_fpm->mo_message_manager.
    lo_component_manager = lo_fpm->mo_component_manager.
    The above statement is giving syntax error. I do not know why.
    The basic difference b/n the two methods is if_fpm~mo_message_manager    type ref to if_fpm_message_manager    and
    mo_component_manager     type ref to cl_fpm_component_manager.
    Any help would be appreciated.
    Thanks,
    GSM

    Hello
    I cannot test the following coding because I do not get the singleton instance yet it should work:
    *& Report  ZUS_SDN_CL_FPM_FACTORY
    *& Thread: How to access an attribute(this is referencing to another class) in a class
    *& <a class="jive_macro jive_macro_thread" href="" __jive_macro_name="thread" modifiedtitle="true" __default_attr="1398429"></a>
    REPORT  zus_sdn_cl_fpm_factory.
    DATA: go_fpm TYPE REF TO cl_fpm.  " class implements if_fpm.
    DATA: go_msg_mgr TYPE REF TO if_fpm_message_manager.
    DATA: go_component_manager TYPE REF TO cl_fpm_component_manager.
    START-OF-SELECTION.
      BREAK-POINT.
      go_fpm ?= cl_fpm_factory=>get_instance( ). " cl_fpm_factory is a class which has a static method get_instance
      CHECK ( go_fpm IS BOUND ).
      go_msg_mgr           = go_fpm->mo_message_manager.
      go_component_manager = go_fpm->mo_component_manager.
    END-OF-SELECTION.
    Regards
      Uwe

  • How to access a method in webservice catalogued component in BPM Process

    Hi
    Can anyone explain me how to access a method in webservice catalogued component in BPM Process using an imported jsp in bpm process.
    Thanks & Regards
    Ashish

    If Class B only has a reference to an Interface A, and that reference points to a concrete instance of Class A, then of course Class B can still call the method on Interface A. The method for concrete instance Class A is called behind the scenes.
    That's how interfaces work. That's what they're good for.
    Look at the code in the java.sql package for examples. Connection, Statement, ResultSet - all are interfaces. But behind the scenes you're using the concrete implementations provided by your JDBC driver. You don't know or care what those classes are or their package structure. All you do is make calls to the java.sql interface API, and it all works. - MOD

  • How to create an instance of a protected class outside the enclosing packag

    Hi all,
    I have a piece of code like this:
    package test;
    public class A {
    protected class B { }
    How to create an instance of B outside the package test ? Could you please give me an example ?
    Thanks
    Ha Chau

    Thank WirajR for your reply, but in your solution,
    you have to create an instance of B inside class A
    and pass it outside. I would like to know whetherwe
    can create an instance of class B outside thepackage
    test. That means I want the instance creation
    expression of B appears outside the package test.Can
    we do that?
    If you want to use a class this way then it shouldn't
    be marked protected. I can't see why you don't
    just declare it public if that's what it is.
    Wouldn't be much point to haveing a protected
    modifier if it had no effect, would there?I think there is use for it if you use an interface to filter out the parts you want to give public access to, and keep the part you want to keep protected, protected

Maybe you are looking for