Place an object on the coherence cache

Hi all

Is there a better way to do the following:

In a region multi-threaded code, I perform the following sequence of steps:

1. use a filter to check if foo object is already in the cache.
2. If the result of the filter set is null, I perform a lock Cache.lock (foo.getUniqueID);
3. I put the object foo on the cache Cache.put (foo);

Basically, I try to avoid another thread overwrites the existing cache object.

Is there a better way to do this?

Kind regards
Ankit

Hi Pierre,.

You can use a ConditionalPut EntryProcessor http://docs.oracle.com/cd/E24290_01/coh.371/e22843/toc.htm

Filter filter = new NotFilter(PresentFilter.INSTANCE);
cache.invoke(foo.getUniqueID(), new ConditionalPut(filter, foo));

An EntryProcessor aura on a lock implicit button to no other EntryProcessor can run on the same key at the same time. The ConditionalPut will apply the filter specified in the entry (in this case to check that it is not present and if this value is true then will set the specified value.

JK

Tags: Fusion Middleware

Similar Questions

  • not the substitution of the coherence-cache - config.xml, but showing the error...

    Hello

    I created a file called file tangosol-coherence - override.xml in the specified path which is "C:\Program Files\Oracle\Coherence for.NET"

    and the coherence.jar file is located in the path that is "C:\Program Files\Oracle\Coherence for." NET\lib ".

    but it is not the substitution of the XML... with the default file...


    C:\Program Files\Oracle\Coherence pour.NET\examples\ContactCache.Java > C:\Progra «»
    m Files\Java\jdk1.6.0_11\bin\java"- Server showversion-Xms128m-Xmx128m - Dtang
    STATUS ONLINE. Coherence.TTL = 0 - Dtangosol.coherence.cacheconfig = contact-cache - config.xml.
    CP 'config; lib\custom - types.jar; C:\Program Files\Oracle\Coherence for .NET\lib\c
    OHERENCE.jar' com.tangosol.net.DefaultCacheServer
    Java version "1.6.0_11.
    Java (TM) SE Runtime Environment (build 1.6.0_11 - b03)
    Java hotspot Server VM (build 11, 0 - b16, mixed mode)

    2011-06-20 15:06:57.607/2.366 Oracle coherence 3.7.0.0 < Info > (thread = hand, member)
    ER = n/a): responsible operational configuration of jar:file:/C:/Program%20Files/Ora «»
    cle/Coherence%20for%20.NET/lib/coherence.jar!/tangosol-coherence.xml ".
    2011-06-20 15:06:57.989/2.748 Oracle coherence 3.7.0.0 < Info > (thread = hand, member)
    ER = n/a): operational substitutions of jar:file:/C:/Program%20Files/Oracle/ load «»
    Coherence%20For%20.NET/lib/coherence.jar!/tangosol-coherence-override-dev.xml ".
    2011-06-20 15:06:58.049/2.808 Oracle coherence 3.7.0.0 < D5 > (thread = main Member,
    (= n/a): configuration optional override ' / tangosol-coherence - override.xml ' is not
    specified
    2011-06-20 15:06:58.062/2.821 Oracle coherence 3.7.0.0 < D5 > (thread = main Member,
    (= n/a): configuration optional override "/ custom - mbeans.xml ' is not specified

    Oracle Version 3.7.0.0 Build 23397 consistency
    Grid edition: development Mode

    Thanks in advance

    The classpath is not the same as the path. It is similar, but a classpath is a set of directories or jar Java files use to search for resources and executable code.

    Assuming you are using the sample file of Start-cache - server.cmd which is supplied with the .net examples to start your server you can put the file tangosol-coherence - override.xml in the C:\Program Files\Oracle\Coherence pour.NET\examples\ContactCache.Java\config directory because it's on the class path when using this script.

    JK

  • How can I place an object that do not move?

    I am trying to place an object in the center of my screen, but no matter what I do, it remains in the upper left corner. What can I do to move? (This is the logo)

    Thank you.

    http://kurtesposito.com

    Your main problem is the use of APDivs (those who are

    Labels with position: absolute in their css). You cannot focus an absolute div, its position is defined using the attributes css top, left, right, or down. APDivs use a pixel to left and top to set setting where they're going. Position: absolute is almost never necessary, especially in the main layout of a site. Jump to any attribute positioning and use css margins, padding and fleet instead and your site will work much more naturally between devices.

    To center an element in a given space (say a standard

    in the), you can use the css (with no attribute position)...

    {#mydiv}

    Width: 300px; / * This must be a setting that is less than the width of the parent element * /.

    Auto margin: 0; / * This divides the space left over between the element and its parent between the left and right margins * /.

    }

    Then the html code could be...

    Hello

    With the css and html above, you'll find yourself with a large div of 300 pixels with the words "Hi there" centered on the screen in theof the page.

    Take the time to unlearn the button of APDiv, he is not your friend...

    http://www.Barelyfitz.com/screencast/HTML-training/CSS/positioning/

    http://www.csstutorial.NET/

    Tutorial CSS

  • How to load a multiple column table in the coherence of caches?

    How to load a multiple column table in the coherence of caches?
    I want to load a multi-column (about 20 columns) table in cache coherence. How to change the following code (spatially how to change the SQL SELECT statement)?
    Is the following select statement enough: Select the key, the value of EMPLOYEES ?
    public static void bulkLoad(NamedCache cache, Connection conn)
        {
        Statement s;
        ResultSet rs;
        
        try
            {
            s = conn.createStatement();
            rs = s.executeQuery("select key, value from table");
            while (rs.next())
                {
                Integer key   = new Integer(rs.getInt(1));
                String  value = rs.getString(2);
                cache.put(key, value);
                }
            ...
            }
        catch (SQLException e)
            {...}
        }

    First of all, you need a class to hold your 20 fields:

    public class Data {
    
        private String field1;
        private String field2;
        private String field3;
        private String field4;
        private String field5;
        private String field6;
        private String field7;
        private String field8;
        private String field9;
        private String field10;
        private String field11;
        private String field12;
        private String field13;
        private String field14;
        private String field15;
        private String field16;
        private String field17;
        private String field18;
        private String field19;
        private String field20;
    
        public Data() {
        }
    
        public String getField1() {
            return field1;
        }
    
        public void setField1(String field1) {
            this.field1 = field1;
        }
    
        public String getField2() {
            return field2;
        }
    
        public void setField2(String field2) {
            this.field2 = field2;
        }
    
        public String getField3() {
            return field3;
        }
    
        public void setField3(String field3) {
            this.field3 = field3;
        }
    
        public String getField4() {
            return field4;
        }
    
        public void setField4(String field4) {
            this.field4 = field4;
        }
    
        public String getField5() {
            return field5;
        }
    
        public void setField5(String field5) {
            this.field5 = field5;
        }
    
        public String getField6() {
            return field6;
        }
    
        public void setField6(String field6) {
            this.field6 = field6;
        }
    
        public String getField7() {
            return field7;
        }
    
        public void setField7(String field7) {
            this.field7 = field7;
        }
    
        public String getField8() {
            return field8;
        }
    
        public void setField8(String field8) {
            this.field8 = field8;
        }
    
        public String getField9() {
            return field9;
        }
    
        public void setField9(String field9) {
            this.field9 = field9;
        }
    
        public String getField10() {
            return field10;
        }
    
        public void setField10(String field10) {
            this.field10 = field10;
        }
    
        public String getField11() {
            return field11;
        }
    
        public void setField11(String field11) {
            this.field11 = field11;
        }
    
        public String getField12() {
            return field12;
        }
    
        public void setField12(String field12) {
            this.field12 = field12;
        }
    
        public String getField13() {
            return field13;
        }
    
        public void setField13(String field13) {
            this.field13 = field13;
        }
    
        public String getField14() {
            return field14;
        }
    
        public void setField14(String field14) {
            this.field14 = field14;
        }
    
        public String getField15() {
            return field15;
        }
    
        public void setField15(String field15) {
            this.field15 = field15;
        }
    
        public String getField16() {
            return field16;
        }
    
        public void setField16(String field16) {
            this.field16 = field16;
        }
    
        public String getField17() {
            return field17;
        }
    
        public void setField17(String field17) {
            this.field17 = field17;
        }
    
        public String getField18() {
            return field18;
        }
    
        public void setField18(String field18) {
            this.field18 = field18;
        }
    
        public String getField19() {
            return field19;
        }
    
        public void setField19(String field19) {
            this.field19 = field19;
        }
    
        public String getField20() {
            return field20;
        }
    
        public void setField20(String field20) {
            this.field20 = field20;
        }
    }
    

    Then you can use it to store data in you original code

    public static void bulkLoad(NamedCache cache, Connection conn)
        {
        Statement s;
        ResultSet rs;
    
        try
            {
            s = conn.createStatement();
            String sql = "select key, value, value2, " +
                    "value3, value4, value5, value6, " +
                    "value7, value8, value9, value10 " +
                    "value11, value12, value13, value14, " +
                    "value15, value16, value17, value18, " +
                    "value19, value120 from table";
    
            rs = s.executeQuery(sql);
            while (rs.next())
                {
                Integer key   = new Integer(rs.getInt(1));
                Data data = new Data();
                data.setField1(rs.getString(2));
                data.setField2(rs.getString(3));
                data.setField3(rs.getString(4));
                data.setField4(rs.getString(5));
                data.setField5(rs.getString(6));
                data.setField6(rs.getString(7));
                data.setField7(rs.getString(8));
                data.setField8(rs.getString(9));
                data.setField9(rs.getString(10));
                data.setField10(rs.getString(11));
                data.setField11(rs.getString(12));
                data.setField12(rs.getString(13));
                data.setField13(rs.getString(14));
                data.setField14(rs.getString(15));
                data.setField15(rs.getString(16));
                data.setField16(rs.getString(17));
                data.setField17(rs.getString(18));
                data.setField18(rs.getString(19));
                data.setField19(rs.getString(20));
                data.setField20(rs.getString(21));
                cache.put(key, data);
                }
            ...
            }
        catch (SQLException e)
            {...}
        }    
    

    Of course your data object would need the appropriate field names and you will have no channels for all types. It must also implement equals and hashCode and ideally PortableObject.

    JK

  • How to confirm the object was pinned in the flash cache exadata

    Hello

    I just wanted to confirm, if the object has been pinned in flash cache

    SQL > select nom_segment, cell_flash_cache from user_segments WHERE where cell_flash_cache = 'KEEP ';

    no selected line

    SQL > alter table scott.emp storage (cell_flash_cache) keep;

    Modified table.

    SQL > select * from scott.emp;

    SQL > select nom_segment, cell_flash_cache from user_segments WHERE where cell_flash_cache = 'KEEP ';

    no selected line.

    Here you go...

    Exadata Smart's scans and the Flash Cache

  • Keep an object in place. Or no movable object in the page footer.

    Hello team Adobe,


    I got a very helpful support of all members of these forums. I am grateful, thank you.


    A trick that I'm sure someone has a better answer to the:


    I built a custom "shadow" in illustrator to make my site more attractive Muse.

    When I give in my page paster, it affects both the header and footer area.

    See image:

    Muse Shadow Help 1.jpg

    The object in question is the Shadow on the left. It is a transparent png file exported from illustrator.

    Here, everything seems fine, but because it touches in the footer area, it is the case in all other pages based on that master:

    Muse Shadow Help 2.jpg

    The shadow and the footer to pull him out.

    Most of my pages are small - they must extend far down. If everything in the original master has been locked in place, it would be nice.

    Is there a way to hold everything together so that it is not separate and are getting longer as above?

    ... I even tried to remove the object from the shadow of the master and add manually to each page, but it still pushes the footer down.

    I prefer not to pin, but otherwise I am very open to suggestions. I'm sure there's an easy fix, I just wasn't using this program long enough.

    Thank you!

    Hi André,.

    Muse if you want any object appeared at the foot of page the yo will have to score the same as the foot, please try this as I've illustrated in the screenshot below.

    You must select the object then

    Kind regards

    _Ankush

  • Place objects with the mouse in Flash CS4

    Hi all

    I played a bit more with Flash and down on something that I would like to learn more about.

    I tried to do:

    A scene. When I click on the left button of the mouse on the stage an object (from the library [chart]) will take place exactly where the mouse is located.

    I didn't really know how to approach the issue, but try anyway.

    This is my code:

    stage.addEventListener(MouseEvent.MOUSE_DOWN, addApple);
    
    Function addApple(event:MouseEvent):void{
              //I dont know what to put here to place an object(apple) from the libery
              //onto the stage where the mouse is.
    };
    

    My question is:

    should what code I add to this code?

    And or y at - there better ways to do it?

    ~ Thank you for your help in advance.

    The object you want to duplicate must be a movieClip or button object that is in the library of the film and has the "Export for Actionscript" option set.  When you set this option, Flash will create a class name for this object. This is the name that you want to use in the code.

    var libObject:Apple_mc = new Apple_mc()
    

    libObject is the name of the variable that will contain the new instance of the object, you can use any name you like for this part. Apple_mc must match the class name of the original object that is in the library.

  • Updates an object in the cache without

    Hello

    I need to know how it is possible to update/modify an attributes object cached regular?

    is this NamedCache.put () method only to replace the old value...
    I would like to spare the cache-> GET change attribute locally-> cache, because I already know what to change in the objects.

    My topology: none hides near / local is set up, I work with consistency * extend tcp (out of process)

    Thank you

    Hi Reem,

    There are several ways to change the data cached within the cluster without doing a get / put from the client. The simplest, and probably what you are looking for, would be to use EntryProcessors.
    http://download.Oracle.com/docs/CD/E14526_01/CoH.350/e14509/transactionslocks.htm#BEIJCGDF

    You can use an input processor to update an entry to a specific key or rather than at the entrance of all you can also update the attributes of an entry.

    JK

  • Coherence caching


    Hi my Jdev version is 11.1.1.7.0

    Our requirement is to cache based on user ID and session ID. We were asked to implement using coherence.

    Where our signature of the method put should be (String userID, String session ID object type)

    Similarly, we need recover the cache values passing the name of user and sessionID. Signature of the method to get must be (String userID, String sessionID)

    Could someone tell me pls how to use put coherence cache in this case passing the name of user and sessionID.

    Coherance works with key pairs / value (as each cache). In your case, you can concatenate the user name and the session ID and use this key to store the object. I suggest you to write your own method was able

    public Object put (String userID, Sting sessionID, Object obj) {}

    handful of Geta to the cahe

    NamedCache namedCache =...

    String key = userId + '_' + sesionID;

    Return namedCache.put (key, obj);

    }

    public Object get (String userID, String SessionID) {}

    handful of Geta to the cahe

    NamedCache namedCache =...

    String key = userId + '_' + sesionID;

    Return namedCache.get (key);

    }

    and use these methods to talk in the cache.

    Timo

  • Why the blocks of temporary tables are placed in the buffer cache?

    I read the following statement, which seems quite plausible to me: "Oracle7.3 and generates from close db file sequential reading of the events when a dedicated server process reads data from temporary segment of the disc." Older versions of Oracle would read temporary segment data in the database buffer cache using db file scattered reads. Releases latest exploit heuristics that data of temporary segment is not likely to be shareable or revisited, then reads it directly to a server process programs global (PGA). »

    To verify this statement (and also for the pleasure of seeing one of these rare close db file sequential read events), I ran a little experiment on my Oracle 10.2 Linux (see below). Not only it seems that different this v above, the blocks of temporary tables are placed in the buffer cache, but also$ BH. OBJD for these blocks does not refer to an object in the database's existing (at least not one that is listed in DBA_OBJECTS). Either incidentally, I traced the session and have not seen any file db close sequential read events.

    So, I have the following questions:
    (1) is my experimental set-up and correct my conclusions (i.e. are blocks of temporary tables really placed in the buffer cache)?
    (2) if so, what is the reason for placing blocks of temporary tables in the buffer cache? As these blocks contain private session data, the blocks in the buffer cache can be reused by another session. So why do all cache buffer management fees to the blocks in the buffer cache (and possibly remove) rather than their caching in a private in-memory session?
    (3) what V$ BH. OBJD consult for blocks belonging to temporary tables?

    Thanks for any help and information
    Kind regards
    Martin

    Experience I ran (on 10.2 /Linux)
    =============================
    SQL*Plus: Release 10.2.0.1.0 - Production on Sun Oct 24 22:25:07 2010
    
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options
    
    SQL> create global temporary table temp_tab_4 on commit preserve rows as select * from dba_objects;
    
    Table created.
    
    SQL> alter system flush buffer_cache;
    
    System altered.
    
    SQL> select count(*), status from v$bh group by status order by 1 desc;
    
      COUNT(*) STATUS
    ---------- -------
          4208 free
          3 xcur
    
    SQL> select count(*) from temp_tab_4;
    
      COUNT(*)
    ----------
         11417
    
    SQL> -- NOW THE BUFFER CACHE CONTAINS USED BLOCKS, THERE WAS NO OTHER ACTIVITY ON THE DATABASE
    select count(*), status from v$bh group by status order by 1 desc;
    SQL> 
      COUNT(*) STATUS
    ---------- -------
          4060 free
           151 xcur
    
    SQL> -- THE BLOCKS WITH THE "STRANGE" OBJD HAVE BLOCK# THAT CORRESPOND TO THE TEMPORARY SEGMENT DISPLAYED
    -- IN V$TEMPSEG_USAGE
    select count(*), status, objd from v$bh where status != 'free' group by status, objd order by 1 desc;
    SQL> SQL> 
      COUNT(*) STATUS      OBJD
    ---------- ------- ----------
           145 xcur       4220937
          2 xcur        257
          2 xcur        237
          1 xcur        239
          1 xcur    4294967295
    
    SQL> -- THE OBJECT REFERENCED BY THE NEWLY USED BLOCKS IS NOT LISTED IN DBA_OBJECTS
    select * from dba_objects where object_id = 4220937 or data_object_id = 4220937;
    
    SQL> 
    no rows selected
    
    SQL> SQL> -- THE BLOCKS WITH THE "STRANGE" OBJD ARE MARKED AS TEMP IN V$BH
    select distinct temp from v$bh where objd = 4220937;
    SQL> 
    T
    -
    Y
    
    SQL> 
    Edited by: user4530562 the 25.10.2010 01:12

    Edited by: user4530562 the 25.10.2010 04:57

    The reason to put the blocks to the global temporary table in the buffer cache is the same thing why you put ordinary table blocks in the cache buffers-> you want some of them to be in memory.

    If you ask why don't keep us somehow temporary tables in the PGA - well what happens if this temporary table will be 50 GB? 32-bit platforms cannot even handle this and you do not want a process of becoming uncontrollable so great.

    Moreover, TWG will allow you to restore, back to a backup (or savepoint implied when an error occurs during a call DML), and this requires protection by the cancellation. Place lines / revenge in PGA would have complicated the implementation even further... now GTT is almost of the regular tables which just happened to reside in temporary files.

    If you really want to put data in the PGA only, then you can create collections of PL/SQL and even access through the use of SQL (coll CAST AS xyz_type) where xyz_type is a TABLE of an object any.

    --
    Tanel Poder
    New online seminars!
    http://tech.e2sn.com/Oracle-training-seminars

  • How to get the size of the binary cache from code

    Is there a way to get the size of the cache in bytes? (size() method retrieves the number of objects, as when the size of the cache is limited in configuration by unit-calculator 'BINARY')?

    Hey Meir,

    As Wei said that there is a JMX exposed for each cache bean and you can just summarize the units attribute. There is a second attribute called UnitFactor that you also use to be precise. In most cases, UnitFactor will be 1 but the appropriate calculation of size in bytes of a cache is

    Units * UnitFactor

    Second, you ask this cache across all members of storage and summarize the results. This will give you then the size that includes the key and value but not take account of all sizes to index.

    An easy way to make JMX requests within the coherence is:

    String cacheName = "";
    MBeanServer mbs = MBeanHelper.findMBeanServer();
    Set names = mbsc.queryNames(new ObjectName("Coherence:type=Cache,service=*,name=" + cacheName + ",*"), null);
    
    long totalUnits = 0;
    for (ObjectName name : names) {
        Integer units = (Integer) mbs.getAttribute(name, "Units");
        Integer unitFactor = (Integer) mbs.getAttribute(name, "UnitFactor");
        totalUnits += (units * unitFactor);
    }
    System.out.println("Total Units = " + totalUnits);
    

    There are other ways to get the size too.
    You could write an aggregator that calls BinaryMemoryCalculator.INSTANCE.calculateUnits with the binary key and the value of each entry that went. This would not be very effective, but would be useful if you want to calculate the size of a subset filtered registration.
    You could write a remained that gets the support of the cache card you want, cast to LocalCache and then call the appropriate methods to get unitfactor and units. You must run this invoked on each Member of storage.

    JK

  • How to read the extended cache file - config.Xml. in the C++ API

    I want to create my own XML configuration file and set the values of configuration in that, so that the client application in C++ (using C++ API consistency) can access the config files.

    Also how to get the instance of configuration values that read the customer of coherence.

    i.e.
    TangosolCoherenceOverride=$PATH/examples/config/tangosol-coherence-override.xml
    TangosolCoherenceCacheconfig=$PATH/examples/config/extend-cache-config.xml

    How to get the instance of this XMLDocument object? and read the values of the.

    Thank you
    Naveen

    Hello

    You can get the config cache that was read by recovering of the ConfigurableCacheFatory (which you can get the CacheFactory) by getConfig(). See:
    http://download.Oracle.com/otn_hosted_doc/coherence/352CPP/classcoherence_1_1net_1_1_cache_factory.html
    http://download.Oracle.com/otn_hosted_doc/coherence/352CPP/classcoherence_1_1net_1_1_configurable_cache_factory.html

    There is no way to get the real XmlDocument object in the cluster that is played for the config-cluster (if you could open the same way yourself).

    Thank you
    -Rob

  • 5.6 pages move the object to the background?

    Near as I can tell, there is no way to float an object behind the text in a Pages 5,6 word-processing file.

    I can place the rectangle, select it, but "send to back" do not place behind the text.

    Change the implementation of 'Stay on the Page' or 'Move with the text' does not work.

    I can't believe they have eliminated this option in the recent upgrade, but hope that they were hiding somewhere that I have not watched.

    Someone knows how to do this? (Outside of return to an earlier version of Pages.)

    Photo:

    Using the option "master article" seems wrong and a bit stupid.

    Help?

    What you have discovered is the trade-off between the use of object moving to Section Master in v5.6 Pages, or by using a real word processing in Pages ' 09 v4.3 (below) that allows to define simply object to the background (selectable or not) and he remains behind the text.

  • Add/Remove objects of the 3D scene programatically (or show/hide)

    I have a project I'm working on where we need to somehow add/remove objects in a 3D scene but without major lag.  Basically I have a set of objects in the real world I am reproducing in a 3D scene by loading 6 STL files.  I want to display only one of these items at a time.  When the currently displayed object is no longer present I want to quickly view another.

    I tried the subject 'remove' invoke the node without success.  I also tried a few other techniques that people have posted deal with transparency, but without a bit of luck.  It seems to me to recreate the scene when objects change is not an appropriate solution, because it seems to be a long process.

    I was wondering if there is someone who has done this or something similar in Labview.

    -Thad Briese

    These links are for images.  Not for 3D objects.  I had this work with the Object.Remove method.  The main thing to keep in mind is to know what items are currently displayed in places and do not attempt to apply transformations, etc to objects that have been deleted.

  • Error: "files which are required for Windows to run properly must be copied into the DLL cache.

    I need some serious help please someone... I get a message that Windows File Protection is! and he says that "files which are required for Windows to run properly must be copied into the DLL cache" that I know, but I do not know why this has happened... I think it happened because of an update which took place about 2 days ago cause that is when it started, but I've tried all t0 get rid of it. I tried to disable using "regedit" in the run screen and it did not help... I need help with fixing this. I don't have my copy of Windows XP Professional Moose because this Pc is old, and I just kept to upgrade. Can someone guide me please in the right direction and the easiest that I'd appreciate it, thanks Chris!

    Thanks to all who tried to help, it means a lot!  I have no idea what happens but I tried to run a complete scan with antivirus program McAfee I was BTW it was free because of the internet service gave to me to be a customer with them, (I guess they have an ongoing case) not much of a cause I had nothing else problems with McAfee all for about 5 years and they are so much better programs out there (to new my opinion) but on with my story so whenever I tried to run a full scan or fast he rode every time error cannot start scan try again and so on, so I called them and they could not understand what the problem was and finally reinstalled but it doesn't work and of course they wanted me to buy a version... So I said forget it and went with one of the best Antivirus out there (my opinion only) programs free and it scanned and found some articles ad and he never came back! So I'm lucky so far and happy! Once again thanks to Jose @ and @ John for help and getting back to me, that shows the high level of awareness and dedication... So thank you to you two! I have no idea of what the problem was I think that he had with the Ad-ware and anti virus program does not properly and somehow obtained a "bug" If you want to. Have an awesome day and thank you and if I can ever be useful I'll do my best! I was wondering something quick you guys like Avast Internet security because I've had some people said he is well worth and had some interesting features, I personally put AVG but I was wondering about obtaining notice! Thanks for the tips when you get the time!

Maybe you are looking for