Storing a mutable ArrayList in cache

Hi -
I have an object as follows
Entity {
key k;
collection<Person> personList;
Each time, i get a new person, I want to add the person to the list.
But when I try this, I get unsupported operation and found that the arraylist that I stored became immutable. So I read the list from cache and copied to a local list and added a new person and then replaced the personList in the cache. This step works fine.
Can you please let me know if there are any other ways to make the collection mutable. Any tips would be useful.
regards

Hi user9072635 ,
Is the personsList initislised in the Entity classes constructor?
Try changing your readExternal method to look like this:
public void readExternal(PofReader reader) throws IOException {
    personList= (List<Person>) reader.readCollection(0, new ArrayList<Person>());
}JK

Similar Messages

  • What else are stored in the database buffer cache?

    What else are stored in the database buffer cache except the data blocks read from datafiles?

    That is a good idea.
    SQL> desc v$BH;
    Name                                                                                                      Null?    Type
    FILE#                                                                                                              NUMBER
    BLOCK#                                                                                                             NUMBER
    CLASS#                                                                                                             NUMBER
    STATUS                                                                                                             VARCHAR2(10)
    XNC                                                                                                                NUMBER
    FORCED_READS                                                                                                       NUMBER
    FORCED_WRITES                                                                                                      NUMBER
    LOCK_ELEMENT_ADDR                                                                                                  RAW(4)
    LOCK_ELEMENT_NAME                                                                                                  NUMBER
    LOCK_ELEMENT_CLASS                                                                                                 NUMBER
    DIRTY                                                                                                              VARCHAR2(1)
    TEMP                                                                                                               VARCHAR2(1)
    PING                                                                                                               VARCHAR2(1)
    STALE                                                                                                              VARCHAR2(1)
    DIRECT                                                                                                             VARCHAR2(1)
    NEW                                                                                                                CHAR(1)
    OBJD                                                                                                               NUMBER
    TS#                                                                                                                NUMBERTEMP      VARCHAR2(1)      Y - temporary block
    PING      VARCHAR2(1)      Y - block pinged
    STALE      VARCHAR2(1)      Y - block is stale
    DIRECT      VARCHAR2(1)      Y - direct block
    My question is what are temporary block and direct block?
    Is it true that some blocks in temp tablespace are stored in the data buffer?

  • How can I call a method of an object that is stored in an ArrayList?

    Hello,
    I am working on a simple game.
    I have my own collection class that can contain some Brick objects.
    That class looks like this:
    class MyCollection<Brick>
          ArrayList<Brick> list = new ArrayList<Brick>();
          public void add(Brick obj)
                list.add(obj);
         public int get(int i)
                return list.get(i);
         public int length()
               return list.size();
    }My Brick class is abstract and contains this method:
    public abstract int getXpos();That method is overridden by the subclass Brick_type1 (which, of course, extends Brick) and returns an int.
    In my main class I try to call the getXpos() method but I cannot call if for an unknown reason:
    MyCollection mc = new MyCollection<Brick>();
    Brick_type1 bt = new Brick_type1(10);
    mc.add(bt);
    for(int i = 0; i<mc.length(); i++)
                System.out.println(bc.get(i).getXpos());   // getXpos() does not exist, says the compilatorbc.get(i) should return a Brick that contains the getXpos() method, so why can´t I call it?

    Roxxor wrote:
    Sorry, it should be:
    public Brick get(int i)
    return list.get(i);
    }...so it actually returns a Brick, but I still cannot call the getXpos() method for some reason.Is this also just a typo?
    MyCollection mc = new MyCollection<Brick>();

  • Files stored in application data cache

    Recently my weekly virus scans have taken longer and longer. The number of files scanned increased by tens of thousands every week. A carefully crafted search shows that files in the directory C:/Documents and Settings/userxxx/application data/Mozilla/Profiles/....../Cache/ is the probable source of all the now hundreds of thousands of files that my virus scan is encountering. Does anyone know which Mozilla application these files are being created by? Are they important or just temporary 'work' files?

    The firefox cache may be cleared and should not have any ill effects, although some websites may then take longer to load. If you decide to clear the cache, or part of it see:
    * [[how to clear the cache]]
    You can obtain some info about what is stored in the various firefox caches by entering into the location bar ''about:cache'' the results are not very user friendly (unless you get hold of a suitable cache viewer add-on) but it should help you work-out what is accumulating and how big these are.
    Having a firefox cache increasing by tens of thousands of files every week sounds rather unusual to say the least, and I may begin to think about trying to check whether malware is the cause.
    * see [[is my firefox problem a result of malware]]

  • Where the AAA cache is stored??

                       Hi,
    I'd like to know where the DB for the AAA caching is stored. because i made a caching for my users and it works well. but at reboot, the cache is empty and we need to reauthenticate to populate the DB.
    Is it possible to store that DB in NVRAM or another location ? where can i see this DB file?
    Thanks for reply

    Hi Amjad,
    we use authentication via a RADIUS server hosted on a windows server 2008, we autenticate users to grant access to the network devices like switchs and routers Cisco. we match on an active directory user and give differents level privileges.
    everythings is good, works fine, we use this as a fail-over for access to the devices. but we have some mobiles equipments, and we like to grant an access even if the mobile device is not connected to our network. but the problem is, when we shut down the devices, the cache is cleaned, and after reboot, the cache is empty.
    I'd like to know if it's possible to store the AAA cache in a location who can stay populated like in NVram for example. is it possible? where can i see the cache file? can i see it?
    thanks

  • Purpose of folder "Ipod Photo Cache"?

    What is the purpose of this folder? Should it be deleted automatically by iTunes after syncing? I've seen several posts here suggesting to delete the folder to try to resolve photo syncing issues. A co-worker tells me that this folder on his machine contains 2GB of .ithmb files. That seems to be a lot of space used unnecessarily.
    Thanks,
    Jack

    No, it isn't/shouldn't be automatically deleted. When photos are synced to an iPhone (or iPod), iTunes creates an 'optimized' version of the picture (all the files are of uniform disk size and pixel resolution) and those are stored in the iPod Photo Cache. You can recover that space if you need to, especially if you put a lot of photos on the device that you later removed (by unchecking those albums, for example). If you delete the cache, iTunes will re-create the optimized versions at the next sync (for all the pics on the device).
    http://support.apple.com/kb/TS1314
    @DaVBMan, as to why it's large, regardless of their original size, 'optimized' pics take up the same amount of space in the cache, for a given device.
    Note that this means if you sync the same photo to an iPhone and an iPod Classic, there will be two copies of that photo in the cache, totaling ~1.6 MB for that one pic, +even if the original pic is a 1 megapixel jpg that's only 150 KB in iPhoto.+

  • Using system cache with AIR...

    Hi,
    I have been monitoring calls to download media from an AIR iOS app via Charles sniffer. What I am seeing is repeated downloads of the identical files, each and every time they are requested. Obviously, with large data lists, this represents a huge amount of data that shouldn't need to be redownloaded a second time. In this case, I have checked that the cache headers are "no-cache", so I will take that up with the server developers, but I am curious: do image downloads via AIR cache downloaded data using the system's browser cache or is it separate somehow?
    G

    You can cache read-only PL/SQL stored procedures in the DB Cache. I'm not sure about db built-in packages, but if they are read-only, should be ok.
    All DB Cache management functionality is available from DBA Studio. You can also use the supplied dbms_icache PL/SQL package to manage the cache. Refer to the DB Cache Concepts & Admin Guide for details.
    DB Cache is strictly a cache for read-only queries. All updates are passed to the origin db.

  • PHP Calling Stored Procedure Help!

    I have been messing with this code for weeks now and read a ton of forums and archives and I can't figure this out for the life of me.... I included the Stored Procedure and the PHP code and the ERROR I am getting below. Someone else in my company wrote the stored procedure. I am running PHP Version 4.3.9
    THANK YOU SO MUCH TO ANYONE IN ADVANCE!
    Oracle Stored Procedure
    Procedure GetDBCodes(appl_type In Varchar2,
    output_array Out str_varray,
    rtn_cd Out Number,
    rtn_errm Out Varchar2,
    rtn_spinfo Out Varchar2) As
    -- Program ID: GetDBCodes
    -- Author: Chris Calder
    -- Date Written: October 5, 2004
    -- System: Engage Thoughtware
    -- Purpose: Get the database codes for the application identified by appl_type
    -- Arguments: IN: appl_type 'ETW' = ThoughtTree
    -- 'ADM' = System Administration
    -- OUT output_array array of fixed length delimited output:
    -- company_name: 1 - 38
    -- user_name: 39 - 48
    -- db_code: 49 - 58
    -- db_version 59 - 66
    -- OUT rtn_cd: SQL return code
    -- OUT rtn_errm: Oracle error message text
    -- OUT rtn_spinfo: debugging info consisting of:
    -- procedure name and input parameter list,
    -- followed by the label of the SQL
    -- statement that caused the exception
    sql_stmt Varchar2(100);
    db_schema_name Varchar2(10);
    company_name Varchar2(40);
    db_version Varchar2(10);
    counter Number Default 0;
    lv_appl_type Varchar2(10);
    stmt_label Varchar2(40);
    data_error Exception;
    Begin
    stmt_label := '<<get_dbcodes>>';
    output_array := str_varray();
    lv_appl_type := appl_type || '%';
    For code_rec In (Select schema_name,
    db_code,
    dblink
    From etw$map.DBCode
    Where (dblink <> 'UTDEV' Or dblink Is Null)
    And schema_name Like lv_appl_type
    Order By substr(schema_name,
    4,
    3))
    Loop
    db_schema_name := 'ETWDB' || substr(code_rec.schema_name,
    4,
    3);
    If code_rec.dblink Is Null Then
    sql_stmt := 'select db_node_name, db_version from ' ||
    db_schema_name || '.masterprofile';
    Else
    sql_stmt := 'select db_node_name, db_version from ' ||
    db_schema_name || '.masterprofile' || '@' ||
    code_rec.dblink;
    End If;
    Execute Immediate sql_stmt
    Into company_name, db_version;
    -- add arrary extend and assignment here
    output_array.Extend;
    counter := counter + 1;
    output_array(counter) := rpad(company_name,
    38,
    ' ') || rpad(code_rec.schema_name,
    10,
    ' ') ||
    rpad(code_rec.db_code,
    10,
    ' ') || db_version;
    End Loop;
    Commit;
    rtn_errm := 'NONE';
    rtn_cd := Sqlcode;
    rtn_spinfo := 'CodeMap.GetDBCodes' || ' successful';
    Exception
    When data_error Then
    Rollback;
    rtn_errm := 'Appl_type value: ' || appl_type || ' is not valid';
    rtn_cd := -999;
    rtn_spinfo := 'CodeMap.GetDBCodes' || ' unsuccessful';
    When Others Then
    --** select from value table failed
    Rollback;
    rtn_errm := Sqlerrm;
    rtn_cd := Sqlcode;
    rtn_spinfo := 'CodeMap.GetDBCodes ' || stmt_label;
    End GetDBCodes;
    PHP Calling the Oracle Stored Procedure
    <?php header("cache-control: no-store, no-cache, must-revalidate"); header("Pragma: no-cache");
    $con = OCILogon('etw$map', 'pam$wte', 'LINUX_CONSONUS');
    $query = "BEGIN codemap.GETDBCODES('ETW',:results,:cd,:errm,:spinfo); END;";
    $stmt = OCIParse($con, $query) or die ('Can not parse query');
    OCIBindByName($stmt,":results", $output_array,-1);
    OCIBindByName($stmt,":cd", $rtn_cd,-1);
    OCIBindByName($stmt,":errm", $rtn_errm,-1);
    OCIBindByName($stmt,":spinfo", $rtn_spinfo,-1);
    OCIExecute($stmt);
    ?>
    ERROR I AM GETTING
    Warning: ociexecute(): OCIStmtExecute: ORA-06550: line 1, column 7: PLS-00306: wrong number or types of arguments in call to 'GETDBCODES' ORA-06550: line 1, column 7: PL/SQL: Statement ignored in c:\inetpub\wwwroot\Projects\PopUpRef\v2\php\testOracle.php on line 17

    Ok so I got the problem fixed,
    one of the output variables coming from the stored procedure was a custom defined object. So I had to use an ocinewcollection and set the typ to the custom type oracle was using and then bind it. So now everything is working great... I just thought I would post this for any one else that runs into this...
    here is my working code:
    <?php header("cache-control: no-store, no-cache, must-revalidate"); header("Pragma: no-cache");
    $con = OCILogon('user', 'pass', 'LINUX_CONSONUS');
    $query = "BEGIN codemap.GETDBCODES('ETW',:output_array,:cd,:errm,:spinfo); END;";
    $stmt = OCIParse($con, $query) or die ('Can not parse query');
    $output_array = ocinewcollection($con,"STR_VARRAY");
    OCIBindByName($stmt,":output_array", $output_array,5000,OCI_B_SQLT_NTY);
    OCIBindByName($stmt,":cd", $rtn_cd,6);
    OCIBindByName($stmt,":errm", $rtn_errm,200);
    OCIBindByName($stmt,":spinfo", $rtn_spinfo,200);
    OCIExecute($stmt);
    ?>
    So everything is working great. but I do have another question now how do I get data out of the ocinewcollection object?

  • Clear application cache

    Hello all,
    I know how to clear Safari's History, Cookies, and Cache in Settings.
    My question is: *How do you clear cache from applications*.
    Based on this article:
    +http://www.storefrontbacktalk.com/securityfraud/iphone-payment-peril-mobile-mayh em-omen/+
    I know the iPhone stores information typed into applications for up to one year. This could include credit card and other sensitive info. How do you clear the cache of applications?
    Thanks in advance,
    Ben

    You're welcome.
    Even if this were true - the password for an account that is checked/confirmed on a server and not saved with the app is being stored in the app's cache which I don't believe is true, how would someone be able to access the app's cache on your iPhone? Do you use the passcode lock feature?
    If your iPhone were lost or stolen, someone would need to know what they are doing to be able to access an app's cache, and I seriously doubt many would waste their time trying to do. The overwhelming majority of dishonest folks will be more interested in using the iPhone or selling it to someone else for profit.
    The iPhone makes use of what is called "sandboxing" with all 3rd party apps. All data created and stored by a 3rd party app is sandboxed in its own area on the device which no other apps have access to. All data created and stored by a 3rd party app is included with your iPhone's backup, which is updated by iTunes as the first step during the iTunes sync process. If you want to clear an app's cache, delete the app from your iPhone followed by syncing your iPhone with iTunes to update your iPhone's backup. Follow this by re-installing the app but you will need to re-enter the account's user name and password if needed and be right back where you started. There is no option to do this from the iPhone that I'm aware of and I think your effort to address this will provide you very little if any gain. Use the passcode lock feature on your iPhone to nothing can be accessed on your iPhone in the event your iPhone is lost or stolen.

  • Event-driven refresh of cached shared datasets

    We have a growing business intelligence solution deployed on SQL Server 2008 R2.  All reports are in SSRS and are executed via web browser by the end-users throughout the day.
    We have been investigating how to improve performance and so far it appears that converting report datasets to shared datasets and then caching those shared datasets provides the greatest opportunity.  (We can't snapshot or cache the individual reports
    themselves as they all contain customized content based upon the end user's roles and permissions).
    Creation of the shared datasets and setting them to be cached is easy, and we're seeing really nice performance improvements.
    However, we haven't been able to find a way to refresh the cached data without using the SSRS calendar-based schedule.  Our ETL process completes anywhere from 8 am to sometime after noon depending on data availability from source systems, so we can't
    just pick a point in time to refresh the cached data.
    Ideally we'd like to add commands to the end of the SSIS workstream that loads the database, and have these commands expire the existing cached datasets and refresh their data.
    We've been able to use the SetCacheOptions stored procedure to expire the cached datasets, ensuring that the next run of the top-level report will pull new data - but the performance hit on that first execution is significant.  We'd rather have the
    caches refresh systematically when ETL completes so that our end users are always seeing the fastest performance with the most current data.

    Hi GottaLoveSQL,
    As we know, there is no explicit setting for conditionally expiring the report cache. To work around this issue, you can use a stored procedure for the report dataset and create a parameter you can pass from the report to indicate that you should explictly
    flush the report instance cache. Then, in the stored procedure, check this parameter and expire the cache using the sp_start_job. After that, in the SSIS package which performs the ETL process, add a SQL Task which start a subscription job which will reload
    the dataset cache. For more information, please see:
    http://social.technet.microsoft.com/Forums/en-US/sqlreportingservices/thread/eb0dd2a6-9d2f-4430-9e88-020377e4fafd.
    Regards,
    Mike Yin
    TechNet Community Support

  • An array within an arraylist

    Hi, I need to create an array of actors which would then be stored into the arraylist of dvds. At the moment the actors are a simple string which then gets assigned to the arraylist, but i need to be able to add as many actors as i want and add it to the arraylist so i can search individual actors and display the DVDs that they're featured in:
    public class DVDShop
    //Declarations of variables
                        static String thetitle;
                        static String search;
                        static String catchoice;
                        static int yearchoice;
                        static int theyear;
                        static String     theactors;
                        static String thecategory;
         static int          menuchoice;
    static boolean finished = false;
    int           categorychoice;
         public static void main(String[] args)
    //Defining an Arraylist to Store the DVDs
              ArrayList<DVD> allDVDs = new ArrayList<DVD>();
    //Defining Scanner class for keyboard input
              Scanner input = new Scanner(System.in);
              while(!finished){
                   System.out.println("Total number of DVDs = " + allDVDs.size());
                   showMenu();
                   System.out.println("Please make a selection: ");
                   menuchoice = input.nextInt();
    //Switch statement to do tasks from menu                    
                   switch (menuchoice)
    //Scanner asking for input from the user to store into variables
                        case 1: System.out.println("What is the title of the DVD? ");
                             thetitle = input.nextLine();
                             thetitle = input.nextLine();
                             System.out.println("Which year was the DVD film made?");
                             theyear = input.nextInt();
                             System.out.println("Write the names of the cast on a single line separated by commas");
                             theactors = input.nextLine();
                             theactors = input.nextLine();
                             System.out.println("Select the number for category choice: ");
                   System.out.println("\t\t 1. Thriller;");
    System.out.println("\t\t 2. Drama;");
    System.out.println("\t\t 3. Comedy;");
    thecategory = input.next();
         if(thecategory.equals("1"))
         thecategory = ("Thriller");
         if(thecategory.equals("2"))
    thecategory =("Drama");
         if(thecategory.equals("3"))
         thecategory = ("Comedy");
    //Variables get saved to the allDVDs arraylist
                        allDVDs.add(new DVD(thetitle,theyear,theactors,thecategory));
                             Collections.sort(allDVDs);
                             break;
    //Removing a DVD from the arraylist using a for loop with the remove method
                        case 2: System.out.println("Which DVD would you like to delete?");
                        thetitle = input.nextLine();
                        thetitle = input.nextLine();
                        for (int i =0; i < allDVDs.size(); i++ ){
                                  search = allDVDs.get(i).title;
                                  if(search.equalsIgnoreCase(thetitle)){
                                       System.out.println(allDVDs.get(i));
                                       System.out.println("This DVD has been deleted");
                                       allDVDs.remove(i);}
                                  else System.out.println("This DVD is not listed.");
                        break;
    //Search function using a for loop
                        case 3: System.out.println("Enter the name of the actor who appears in the DVD film:");
                             theactors = input.nextLine();
                             theactors = input.nextLine();
                             for (int i =0; i < allDVDs.size(); i++ ){
                             search = allDVDs.get(i).actors;
                             if(search.equalsIgnoreCase(theactors)){
                                  System.out.println(allDVDs.get(i));
                             break;
    // All elements in the arraylist get printer using this for loop
                        case 4:
                             for (int i = 0; i < allDVDs.size(); i++)
                   System.out.println(allDVDs.get(i));
                             break;
    // Search function using a nested if statement for 2 criteria in a for loop                         
                        case 5:
                             System.out.println("Enter the earliest year for the DVDs you want to be displayed:");
                             theyear = input.nextInt();
                             System.out.println("Select the number for category choice:");
                             System.out.println("\t\t 1. Thriller;");
                             System.out.println("\t\t 2. Drama;");
                             System.out.println("\t\t 3. Comedy;");
                             thecategory = input.next();
         if(thecategory.equals("1"))
         thecategory = ("Thriller");
         if(thecategory.equals("2"))
    thecategory =("Drama");
         if(thecategory.equals("3"))
         thecategory = ("Comedy");
                             for (int i =0; i < allDVDs.size(); i++ ){
                                       yearchoice = allDVDs.get(i).year;
                                       catchoice = allDVDs.get(i).category;{
                                       if (yearchoice >= theyear){
                                            if (catchoice.equals(thecategory))
                                                 System.out.println(allDVDs.get(i));
                             break;
    //Prints all DVDs withe comedy category
                        case 6:
                             for (int i =0; i < allDVDs.size(); i++ ){
                                  catchoice = allDVDs.get(i).category;
                                  if(catchoice.equalsIgnoreCase("Comedy")){
                                       System.out.println(allDVDs.get(i));
                             break;
    //Prints all DVDs withe Thriller category
                        case 7:
                             for (int i =0; i < allDVDs.size(); i++ ){
                                  catchoice = allDVDs.get(i).category;
                                  if(catchoice.equalsIgnoreCase("Thriller")){
                                       System.out.println(allDVDs.get(i));
                             break;
    //Prints all DVDs withe Drama category           
                        case 8:
                                  for (int i =0; i < allDVDs.size(); i++ ){
                                  catchoice = allDVDs.get(i).category;
                                  if(catchoice.equalsIgnoreCase("Drama")){
                                       System.out.println(allDVDs.get(i));
                             break;
    //Print the address of the DVD shop
                        case 9:
                             System.out.println(" Address:");
                             System.out.println(" 10 King Road\n Knightsbridge\n London\n SW10 9PE");
                             break;
    //Quits the Switch statement
                        case 0: finished = true;
                        break;
    //Print an error message if any integer other than the ones stated are input
                        default: System.out.print("Error. You did not select a number from the menu.\n");
                        break;
         public static void showMenu()
    //Menu Function
              System.out.println("\n\t Menu");
              System.out.println("\t\t 1. Create DVD;");
              System.out.println("\t\t 2. Delete a DVD;");
              System.out.println("\t\t 3. Search for an actor/actress;");
              System.out.println("\t\t 4. Display all DVDs;");
              System.out.println("\t\t 5. Search by category and earliest year;");
              System.out.println("\t\t 6. Display all comedy DVDs;");
              System.out.println("\t\t 7. Display all thriller DVDs;");
              System.out.println("\t\t 8. Display all drama DVDs;");
              System.out.println("\t\t 9. Display address of the DVD shop;");
              System.out.println("\t\t 0. Quit.");
              System.out.println("\n");
    Any help would be much appreciated.

    I think that your DVD class need to have an array list of Actors as an attribute.
    you might also ned to implement some fuctions like this
    public void addActor(String name)
    public boolean isActorFeaturing(String name);
    public String[] listActors();

  • Oracle RAW / Long / LOBs - Buffer cache?

    Hello guys,
    i think i have read sometime ago something about that LOBs are not cached in the buffer cache? Is this right?
    I also think that i can remember that raw or long are stored in the sga buffer cache?
    I can not find any official documentation about that topic... maybe you can help me...
    Thanks and Regards
    Stefan

    Hi,
    Depends on whether you are on about temporary lobs or lobs that are persisted as a column. If it's as a column then you have the cache/cache read/nocache option which is part of the lob storage clause. If it's nocache it's not put into the buffer cache and if it's cache it is (and I'm sure you can figure out from this what "cache read" means)
    If it's a temporary lob then it exists in the temporary tablespace which if a true temp tablespace (which it should be) will be accessed using direct IO (so not buffered).
    An the official documentation is easily found, Oracle wrote a whole manual dedicated to LOBS...
    http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14249/toc.htm
    HTH
    Chris

  • Corruption of statement cache

    I'm working on an application that uses stored procedures, and our statement cache size is set to 10. We are running the application on WLS 9.1 and using Microsoft's SQL Server 2005 XA driver. Most of the time, our application functions correctly. However, we are seeing a serious problem that occurs completely at random, but seems to always begin in conjunction with a redeployment when it does happen.
    The point in our system where we are able to identify it is a call to a stored procedure where the application specifically catches a primary key violation exception and performs some logging logic when this occurs (some PK violations are expected in this particular case, so it's not typically a true error situation). In our logs, it appears that this error is being caught and handled, when in fact no call to the stored procedure was ever sent to the database. If our DBAs enable tracing on SQL Server and we force a transaction through that we know will NOT throw a PK violation, they see no evidence that any transaction was ever begun or that any call was ever sent to the stored procedure, but our application is somehow catching this exception. It's as if the application is receiving cached results from a previous call to the stored procedure, and the call to the DB is never being executed.
    If we clear the statement cache or restart WLS, the problem disappears until the next time it randomly resurfaces. We cannot seem to force it to happen. This is a tremendous problem because in a normal production environment we would not be specifically monitoring this situation and thus would have no knowledge that transactions are being dropped. Is this a known bug, and if so, has it been fixed in WLS 9.2? Any help would be greatly appreciated.
    Regards,
    Sabrina

    We started off using Microsoft's driver because at the time, SQL Server 2005 was brand new and there was no support for it in WLS. In light of all the problems we've had with it, we may consider using BEA's driver now that it is available.
    We have been in touch with Microsoft on numerous occasions regarding the driver issues we have seen, and by this point most (that we know of) seem to have been fixed. However, there is one nagging issue that we can't seem to resolve and I'm not even sure whether this one is a Microsoft issue or something that we have configured incorrectly in WLS. It appears that whenever an XA transaction is rolled back by the container, the error below appears in the WLS server log. Based on what I have seen in checking a handful of specific transactions, this error does not appear to be causing any actual data integrity issues; the transactions seem to be successfully rolled back and reprocessed if necessary. However, we have so much data coming into our system that it is difficult to tell. In one area of the system in particular, we have a lot of DB deadlocking issues and we're not sure whether that is related to this problem. Have you seen this error before? Thanks again for your help.
    Regards,
    Sabrina
    ####<Jul 24, 2006 7:03:33 AM EDT> <Error> <JTA> <ASAP-WEBLOGIC1> <wls_ManagedServer_1> <[ACTIVE] ExecuteThread: '36' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-1E9A446DF85749F80F90> <> <1153739013725> <BEA-110412> <Xid=BEA1-1E9A446DF85749F80F90(21643353),Status=Rolled back. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException],HeuristicErrorCode=XA_HEURHAZ,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=3,seconds left=30,activeThread=Thread[[ACTIVE] ExecuteThread: '36' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads],XAServerResourceInfo[WLStore_domain_filestore]=(ServerResourceInfo[WLStore_domain_filestore]=(state=rolledback,assigned=wls_ManagedServer_1),xar=WLStore_domain_filestore3792941,re-Registered = false),XAServerResourceInfo[IngestorXADataSource]=(ServerResourceInfo[IngestorXADataSource]=(state=rolledback,assigned=wls_ManagedServer_1),xar=IngestorXADataSource,re-Registered = false),SCInfo[test_domain+wls_ManagedServer_1]=(state=rolledback),properties=({}),local properties=({weblogic.jdbc.jta.IngestorXADataSource=[ No XAConnection is attached to this TxInfo ]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=wls_ManagedServer_1+asap-weblogic1:8010+test_domain+t3+, XAResources={WLStore_domain_filestore, ErrorXADataSource, IngestorXADataSource},NonXAResources={})],CoordinatorURL=wls_ManagedServer_1+asap-weblogic1:8010+test_domain+t3+) completed heuristically: (IngestorXADataSource, HeuristicHazard, (javax.transaction.xa.XAException: java.sql.SQLException: ROLLBACK:Status:0 msg:*** SQLJDBC_XA DTC_ERROR Context: xa_rollback, state=1, StatusCode:-4 (0xFFFFFFFC) ***)) >
    ####<Jul 24, 2006 7:03:33 AM EDT> <Notice> <EJB> <ASAP-WEBLOGIC1> <wls_ManagedServer_1> <[ACTIVE] ExecuteThread: '36' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1153739013725> <BEA-010017> <Exception occurred during rollback of transaction Xid=BEA1-1E9A446DF85749F80F90(21643353),Status=Rolled back. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException],HeuristicErrorCode=XA_HEURHAZ,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=3,seconds left=30,XAServerResourceInfo[WLStore_domain_filestore]=(ServerResourceInfo[WLStore_domain_filestore]=(state=rolledback,assigned=wls_ManagedServer_1),xar=WLStore_domain_filestore3792941,re-Registered = false),XAServerResourceInfo[IngestorXADataSource]=(ServerResourceInfo[IngestorXADataSource]=(state=rolledback,assigned=wls_ManagedServer_1),xar=IngestorXADataSource,re-Registered = false),SCInfo[test_domain+wls_ManagedServer_1]=(state=rolledback),properties=({}),local properties=({weblogic.jdbc.jta.IngestorXADataSource=[ No XAConnection is attached to this TxInfo ]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=wls_ManagedServer_1+asap-weblogic1:8010+test_domain+t3+, XAResources={WLStore_domain_filestore, ErrorXADataSource, IngestorXADataSource},NonXAResources={})],CoordinatorURL=wls_ManagedServer_1+asap-weblogic1:8010+test_domain+t3+): javax.transaction.SystemException: Heuristic hazard: (IngestorXADataSource, HeuristicHazard, (javax.transaction.xa.XAException: java.sql.SQLException: ROLLBACK:Status:0 msg:*** SQLJDBC_XA DTC_ERROR Context: xa_rollback, state=1, StatusCode:-4 (0xFFFFFFFC) ***))
         at weblogic.transaction.internal.ServerTransactionImpl.internalRollback(ServerTransactionImpl.java:405)
         at weblogic.transaction.internal.ServerTransactionImpl.rollback(ServerTransactionImpl.java:371)
         at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:485)
         at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:332)
         at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:288)
         at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:3824)
         at weblogic.jms.client.JMSSession.execute(JMSSession.java:3738)
         at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:4228)
         at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
    .>
    ####<Jul 24, 2006 7:03:33 AM EDT> <Info> <EJB> <ASAP-WEBLOGIC1> <wls_ManagedServer_1> <[ACTIVE] ExecuteThread: '36' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1153739013725> <BEA-010213> <Message-Driven EJB: IngestDBLoggerMDB's transaction was rolledback. The transaction details are: Xid=BEA1-1E9A446DF85749F80F90(21643353),Status=Rolled back. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException],HeuristicErrorCode=XA_HEURHAZ,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=3,seconds left=30,XAServerResourceInfo[WLStore_domain_filestore]=(ServerResourceInfo[WLStore_domain_filestore]=(state=rolledback,assigned=wls_ManagedServer_1),xar=WLStore_domain_filestore3792941,re-Registered = false),XAServerResourceInfo[IngestorXADataSource]=(ServerResourceInfo[IngestorXADataSource]=(state=rolledback,assigned=wls_ManagedServer_1),xar=IngestorXADataSource,re-Registered = false),SCInfo[test_domain+wls_ManagedServer_1]=(state=rolledback),properties=({}),local properties=({weblogic.jdbc.jta.IngestorXADataSource=[ No XAConnection is attached to this TxInfo ]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=wls_ManagedServer_1+asap-weblogic1:8010+test_domain+t3+, XAResources={WLStore_domain_filestore, ErrorXADataSource, IngestorXADataSource},NonXAResources={})],CoordinatorURL=wls_ManagedServer_1+asap-weblogic1:8010+test_domain+t3+).>

  • SAP Netweaver CE 7.1 - Cleaning up JAVA Netweaver Cache Procedure???...

    Good Afternoon,
    One of my clients has a SAP Netweaver CE 7.1 (EHP1) and there are several development team developing using the CAF in the system (several webservices, etc...).
    One of the development teams is requesting a Netweaver Java Cache cleanup... The argument is that some objects developed by them should be in the system cache and the cache needs to be clean in order to reset these objects... So they're asking for a instance restart in a productive system, and they're asking that in a regular basis.
    My administration knowledge is SAP ABAP systems related, i don't have deep knowledge in SAP JAVA instances. I've tried to find information about it but i don't find any procedure to do that manually without restarting the SAP system.
    Does this cleanup of the Netweaver JAVA cache, makes sense to be asked to do? Is there any procedure (standard SAP) in order to do this without restarting the SAP instance?
    Any help will be appreciated.
    Thanks,
    Pedro Gaspar

    From Control Panel, go to Java -> General tab, Temporary Internet Files
    -> View... -> Delete all the content there.
    Then go to:
    > Integration buider page http:// (http://%3Chost%3E:%3Cport%3E/rep)
    > Administration
    > Tab - Directory (Repository as well)
    > Java Web Start Administration
    > Restore Archives and Generate New Signature
    Portal Caches
    The main portal caches are:
    u2022     Navigation cache
    u2022     PCD cache
    u2022     Portal runtime cache
    u2022     Database cache
    u2022     UME cache
    Navigation cache
    To clear the Navigation cache:
    System Administration -> Navigation
    Clear the cache for the ROLES connector.
    PRT cache
    The content admin can enable portal content to be cached in the memory by the portal. This content will be stored in the portal runtime cache. This cache is actually storing iView content.
    To clear the PRT cache:
    http:// server:port /irj/servlet/prt/portal/prtroot/com.sap.portal.prt.cache.PRTRegionMemoryClear
    PCD cache
    To clear the PCD cache:
    System Administration -> Support -> Support Desk -> Portal Content Directory -> PCD Administration
    Database cache
    To clear the DB cache:
    http:// server:port /irj/servlet/prt/portal/prtroot/com.sap.portal.prt.cache.PRTRegionDBClear
    UME cache
    To clear this cache:
    System Administration -> System Configuration -> UME Configuration -> Support -> Invalidate cluster wide cache
    HTTP Provider Cache
    This is the cache for static files like CSS, Javascript, Images, HTML. You`ll have to clear this cache when you redeploy an application and receive Javascript errors. To clear this cache:
    Visual Administrator -> Cluster -> Server # -> Services -> HTTP Provider
    Regards,
    Dinesh

  • ArrayLists & Database Problems

    I've created a program using Swing. My program starts up and loads data from my access database into ArrayLists. I then work on these ArrayLists in my program, adding and removing data. When i've finished, i have a save button which deletes all the data from a table in the database, then inserts the data stored in the ArrayList into the empty table. It does this sucessfully, i check the table in the database before and after.
    My problem is when i use the program again, and it loads the newly inserted data from the database into the arraylists and the JLists loads fine, but when i attempt to remove or add data from the arraylist or even query it, i get the error message:
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    Any idea's why?

    i found the problem, was in the database. should get it fixed soon hopefully. Thanks anyway!

Maybe you are looking for