Nature of ClassLoading, special circumstance(?)

Let me start with some skeletal code:
class MyCustom extends Thread{
BufferedReader br; PrintWriter pw; Socket sock;
public MyCustom(Socket s)
/*set stuff here*/
public MyCustom(Socket s, BufferedReader b, PrintWriter p)
sock=s; br=b; pw=p;
public void run(){*do something*/}
public BufferedReader get_br(){return br;}
public PrintWriter get_pw(){return pw;}
public Socket get_sock(){return sock;}
Given the above, let's say that a new version of MyCustom.class is to be downloaded, but the Socket should remain open.... I have a second class that does not change in this manner, so...
class MyPlaceHolder extends Thread{
Socket sock; BufferedReader br; PrintWriter pw;
public MyPlaceHolder(Socket s, BufferedReader b, PrintWriter p)
sock=s; br=b; pw=p;
public void run()
/*do some sending and receiving*/
public Socket get_sock(){return sock;}
public BufferedReader get_br(){return br;}
public PrintWriter get_pw(){return pw;}
Ok... Here is the scenario... When it is ready to update that MyCustom.class file, it does this:
(given a MyCustom mc already existing):
some_method(){
MyPlaceHolder mph = new MyPlaceHolder(mc.get_sock(),mc.get_br(),mc.get_pw());
new Thread(mph).start();
mc = null;
System.gc();
/*download new .class file for MyCustom, replace old one, and then*/
mc = new MyCustom(mph.get_sock(),mph.get_br(),mph.get_pw());
new Thread(mc).start();
Maybe I am convoluted in my stating of what I want to do... The crux of my question is this:
1- When I go to create a new 'MyCustom', does it load dynamically, or does it cache the older object code for MyCustom.class?
2- When does the class load...?
In the following class:
class Yoyo{
TextField tf; TextArea ta; Panel p; Frame f; Vector v;
public Yoyo()
tf=new TextField(20); ta=new TextArea("",10,20); p=new Panel(); f=new Frame("Frame"); v=new Vector();
When are the java.awt.TextField, java.awt.Panel, java.awt.TextArea, java.awt.Frame and java.util.Vector actually loaded? At the 'import' statement?
OK... what about custom classes?
Are they loaded at the declaration, or at the constructor?
Thanks,
Dave

Well, no, not quite...close though.
You can download the MyClass.class as many times as
you want, but the class definition is only loaded into
the primordial class loader the first time. Each and
every time you want to change its definition, you have
to supply a new ClassLoader and tell it to load the
class; the JVM doesn't do that for you.
All classes not already loaded into or available to
the primordial class loader that are referenced by
MyClass.class are then loaded by the same custom class
loader automatically. For that reason, you should
avoid loading MyClass.class with the primordial class
loader. This since you can never get rid of it once
it's loaded into the primordial class loader, and
custom class loaders defer the search of classes to
the primordial one before searching for new ones
themselves.Thats true if your new class loader uses the findClass method (class loader delegation model) but if the loadClass method was derived then if you don;t call super.loadClass then the system class loader is never called for this class, so you can stop classes from getting loaded from the system class loader this way.
With the java hotstop some classes are automatically loaded from the system class loader like [B, which is the class name for a byte[] (which does have a class of its own), even if you derive the loadClass method.
The classic vm still calls the loadClass method for classes like this.
>
A bit convoluted, perhaps? :)
It's not altogether easy, I admit.
Here's an example:
You have a class A that hasn't been loaded. A
uses JPanel, JFrame, etc. You simply type new
A(), and it's loaded by the primordial class
loader.
Then you create your own custom ClassLoader C,
and tells it to define A. Now it won't, since A is
already defined in the primordial class loader, and C
asks the primordial class loader "do you know what
this is, or can you find it"? Only if the answer is No
to both those questions does C go about defining the
class.
You can go around that by not having C asking
the primordial classloader first, but then you have to
redefine every class, recursively, that A refers to,
inside C...that, you don't want to do. Some are not
even allowed, such as those beginning with "java.".
You could delegate the java. classes with the super.loadClass method described earlier but
There is a sneaky way of defining classes which start with java.
by (using introspection and setting accessibility to true) call a function call define0 which is private to ClassLoader.
Now... if you had told C to define A instead of using
"new A()", then only those classes that don't already
exist or can't be found by the primordial class loader
would be loaded and defined by C. Meaning JPanel et al
definitions would still come from the primordial class
loader, since it can find them in its class path.
if you told C to define A and still did "new A()" then the class would be
loaded in C and the System class loader because C is higher in the class loader tree and would be asked..
Using the class loader delegation model.
D     E     a call to new A() in a class defined by both of these
| |     class loaders would load the class in both only if C
+========+     and the system class loader didn't have it loaded first.
|
C     a call to new A() in a class defined by this class loader would
|      load the class in C only if the system class loader didn't have it      |     first
|
System a call to new A() in a class defined by the system class loader           would load A in the system class loader even if loaded in C           first.
Back to the original problem,
tomcat does this with its ServletLoader class, if the jar file which loaded the servlet changes then the ServletClassLoader is thrown away and a new classloader is created and the classes are reloaded, this is open so you can see the source for this at www.apache.org

Similar Messages

  • PLSQL Insert and Special Circumstance

    I am using APEX 4.0.
    This one is strange. I have a system used to renew UCC filings, which must be renewed within six months of their expiration. I have a report (UCC Tracker Report) which lists all records falling within this date range. I click a sequence number (column link) for a record and go to a form detail page (UCC Detail) for the record identified by the sequence number. There are a number of data items on this page which will not change with the filing renewal; so I want to carry these data items into the new record. I do this with a button labeled "Renew UCC." It executes a PLSQL process which does two things: (1) it inserts a new record with the data preserved from the old record, and (2) updates the old record with an "H" in the "histrec" column (which makes this record history).
    Now, the second part works; the old record is always updated. The first part (the insert) does not work, except under a special circumstance. Back on the UCC Tracker Report page there is a button labeled "Enter New UCC Record." This button calls the same page (UCC Detail) that is called for the renewal, but, of course, since it is for new record, it will have null items. There is a button on it (Return to UCC Tracker Report) which will simply allow the user to return to the report page. If the user goes to this UCC Detail page, then returns to the UCC Tracker Report page, and then clicks a sequence number (column link) to bring up the record for renewal, clicking the Renew UCC button causes the PLSQL to insert the new record. Otherwise, it will not insert.
    Somewhere there must be a setting that needs to be changed for this form to operate as intended. Please help.
    **********************************Additional Wrinkle***************************
    After posting this question, I tried one more thing. I clicked the "Enter New UCC Record" button to go to the UCC Detail page and then edited the Action on the "Return to UCC Tracker Report" button to clear the cache on this page. After that the PLSQL insert would not work.
    Edited by: Doug on Apr 27, 2012 3:45 PM

    Hi,
    The Form page where you Create/Edit does not really come into play in the duplication of record process , unless you are trying to insert a row on that page (which would be bad idea) in the Page rendering side. Analyzing the UCC Detail page may offer clues, but it can also confuse.
    Chances are you are inserting a new record while navigating out of the UCC Tracker Report page in a OnSubmit process. And that would be the right thing to do.
    You also need to make a distinction between "Row not getting inserted in the table" and "Row not showing in the Edit (UCC Detai)". If the parameter passing from UCC Tracker Report to UCC Detail page is not correct you will not see the newly created row even though it is present in the table.
    The scenario you are describing is a routine one.
    If you put up this scenario on apex.oracle.com it will be possible to help fix it. Otherwise one can only guess !
    Regards,

  • Memory leaks of KeepAliveCache in special circumstances

    Hi,
        In a production environment encountered a memory leak problem after running over 200 days, and i found KeepAliveCache.java will produce memory leaks if it create native thread failed.
        I think if keepAliveTimer.start() failed, java.lang.Thread object was not destory and can not collection by GC.
    java.security.AccessController.doPrivileged(
       new java.security.PrivilegedAction<Void>() {
       public Void run() {
          // We want to create the Keep-Alive-Timer in the
           // system threadgroup
           ThreadGroup grp = Thread.currentThread().getThreadGroup();
           ThreadGroup parent = null;
           while ((parent = grp.getParent()) != null) {
               grp = parent;
           keepAliveTimer = new Thread(grp, cache, "Keep-Alive-Timer");
           keepAliveTimer.setDaemon(true);
           keepAliveTimer.setPriority(Thread.MAX_PRIORITY - 2);
           // Set the context class loader to null in order to avoid
           // keeping a strong reference to an application classloader.
           keepAliveTimer.setContextClassLoader(null);
           keepAliveTimer.start();
           return null;
    we found the top 10 objects used memory are as follows
    num     #instances         #bytes  class name
       1:       2287176      256163712  java.lang.Thread
       2:       3200649      197768504  [C
       3:       2378720      190314944  [Ljava.lang.ThreadLocal$ThreadLocalMap$Entry;
       4:        182033       90707352  [Ljava.lang.Object;
       5:       2382405       76236960  java.lang.ThreadLocal$ThreadLocalMap$Entry
       6:       2378720       57089280  java.lang.ThreadLocal$ThreadLocalMap
       7:       2286842       54884208  java.security.AccessControlContext
       8:        212233       28031904  <constMethodKlass>
       9:        902205       21652920  java.lang.String
      10:       2424218       19393744  java.lang.Object
    But there are not so many threads in the thread dump, and we found many error log as following:
    07:43:21.748  ERROR  WebContainerAdvertiserThread  ?  **.webcontainer.advertiser.startup.WebContainerAdvertiserThread  advertise  WebContainerAdvertiserThread.java  105 
    Exception Occured when advertising WebContainer Details
    java.lang.OutOfMemoryError: unable to create new native thread
      at java.lang.Thread.start0(Native Method)
      at java.lang.Thread.start(Thread.java:640)
      at sun.net.www.http.KeepAliveCache$1.run(KeepAliveCache.java:89)
      at java.security.AccessController.doPrivileged(Native Method)
      at sun.net.www.http.KeepAliveCache.put(KeepAliveCache.java:75)
      at sun.net.www.http.HttpClient.putInKeepAliveCache(HttpClient.java:370)
      at sun.net.www.http.HttpClient.finished(HttpClient.java:358)
      at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1393)
      at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:379)
    Java(TM) SE Runtime Environment (build 1.6.0_25-b06)
    SUSE Linux Enterprise Server 10.3
    Regards

    Hi there..
    I'll just answer you what I know..
    This code below is when you write your JNI using C++
    // this is how to access a java String   
    const char *strZ =  env->GetStringUTFChars(
    rs( xlzMessage, 0 );
    // this is how to let go of java String     
    env->ReleaseStringUTFChars( xlzMessage, strZ);     This code below is used when you write your JNI using C
       (*env)->ReleaseStringUTFChars(env, <jstring>,
    <char*>);Is this the same as what I have above? If not, what's
    the difference?
    2. The function has a second jstring argument, ticker,
    that is not used (bad style, I know, but I didn't
    write the code). Is it necessary to free the memory
    for that jstring as well even though I don't use it?If you actually called to GetStringUTFChars successfully, I believed that memory will be allocated and hence, you should call ReleaseUTFChars to deallocate it.
    Hope it helps :)

  • Saving songs in special circumstances

    I want to transfer my iTunes songs to another computer. Can I email the songs to a different computer? If so, how do I do it? I already know about the limit of 5 computers or 5 devices or whatever, so you needn't mention this aspect of iTunes, I am not worried about this aspect of iTunes.
    If I cannot email the songs to another computer, where can I find detailed instructions on Sharing iTunes songs with other computers? I know this is possible, I just don't know how to do it.
    Also, I would like to find a definitive source of info about backing up my songs. If you can give me a url for this, it would be much appreciated.
    Thanks in advance,
    iPod_madness

    Emailing is possible - but it may take ages - take a look at all the possibilities: http://docs.info.apple.com/article.html?artnum=93366

  • Very special circumstances on the RMA rece

    the receipt i got for buying the zen micro is... severed. the store information at the top got cut off, but at the bottom, it still says "thank you for choosing fry's electronics"
    is this enough information for the RMA people to know that it was bought at a legitimate place?

    Even the mods are unlikely to be able to help on something so specific, but logic suggests that if it has the amount and this footnote it should be OK. You'll only know for sure by contacting Creative Support direct.

  • Special rendering for JTree's nodes

    Hello all :)
    I have a tree that can possibly contain a large number of nodes, so solutions proposed have to consider a certain speed / memory factor also.
    Basicly I have a tree representing elements that have many different properties. To help users visually, I do lots of custom rendering like changing color / style of the font depending on the element's nature, and adding special icons.
    The thing is, I would like to have more than one icon (possibly two or more) displayed for the user to have a quick visual reminder of certain properties of this element. The only drawback to this is that certain elements will have no icon, and others might have 2 or 3, so the text isnt aligned anymore.
    One solution I thought of is maybe I should put these icons to the right of the text? In both cases (left or right of text), how can I do that?
    Thanks!

    Very interesting! I tried a couple things, here's the modified example, now it shows the current selection. Many thanks to asjf again :
    import javax.swing.*;
    import javax.swing.tree.*;
    import javax.swing.border.Border;
    import java.awt.*;
    import java.net.*;
    import java.util.*;
    public class TreeTest2 {
        public static void main(String [] arg) throws Exception {
            long start = System.currentTimeMillis();
            JFrame frame = new JFrame("JTreeTextNodes");
            Random r = new Random();
            DefaultMutableTreeNode root = new DefaultMutableTreeNode(new Integer(r.nextInt(8)));
            for(int i=0; i<50; i++) {
                root.add(new DefaultMutableTreeNode(new Integer(r.nextInt(8))));
            DefaultTreeModel model = new DefaultTreeModel(root);
            JTree tree = new JTree(model);
            tree.setCellRenderer(new MyRenderer());
            frame.getContentPane().add(new JScrollPane(tree));
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.pack();
            frame.show();
            System.out.println(System.currentTimeMillis()-start);
        static class MyNode extends JPanel {
            private static final Border selBorder, unselBorder;
            private static final Color selColor, unselColor;
            static {
                selBorder = BorderFactory.createLineBorder(UIManager.getColor("Tree.selectionBorderColor"));
                unselBorder = BorderFactory.createLineBorder(UIManager.getColor("Tree.textBackground"));
                selColor = UIManager.getColor("Tree.selectionBackground");
                unselColor = UIManager.getColor("Tree.textBackground");
            JLabel nameLbl;
            public MyNode(String name, Icon [] icons) {
                super(new FlowLayout(FlowLayout.RIGHT));
                setBackground(UIManager.getColor("Tree.textBackground"));
                nameLbl = new JLabel(name);
                add(nameLbl);
                for(int j=0; j<icons.length; j++)
                    add(new JLabel(icons[j]));
            public void setName(String newName) {
                nameLbl.setText(newName);
            public void setSelected(boolean sel) {
                if (sel) {
                    setBackground(selColor);
                    setBorder(selBorder);
                } else {
                    setBackground(unselColor);
                    setBorder(unselBorder);
        static class MyRenderer extends DefaultTreeCellRenderer {
            Icon [][] random;
            int cpt = 0;
            MyNode myNode;
            public MyRenderer() {
                try {
                    String http = "http://developer.java.sun.com/developer/techDocs/hi/repository/graphicsRepository/toolbarButtonGraphics/development/";
                    Icon i1 = new ImageIcon(new URL(http+"Application24.gif"));
                    Icon i2 = new ImageIcon(new URL(http+"WebComponent24.gif"));
                    Icon i3 = new ImageIcon(new URL(http+"Jar24.gif"));
                    random = new Icon [8][];
                    for(int j=0; j<8; j++) {
                        ArrayList l = new ArrayList();
                        if((j&1)==0) l.add(i1);
                        if((j&2)==0) l.add(i2);
                        if((j&4)==0) l.add(i3);
                        random[j] = (Icon[]) l.toArray(new Icon [0]);
                } catch( java.net.MalformedURLException mue ) {
                    mue.printStackTrace();
                myNode = new MyNode("test", random[0]);
            public Component getTreeCellRendererComponent(JTree tree, Object value,
            boolean isSelected, boolean expanded,
            boolean leaf, int row, boolean hasFocus) {
                DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
                Object user = node.getUserObject();
                int iconNb = Integer.parseInt(user.toString());
                MyNode panel = new MyNode("Node of type "+user,random[iconNb]);
                panel.setSelected(isSelected);
                return panel;
                myNode.setSelected(isSelected);
                myNode.setName("test " + cpt++);
                return myNode;
    }Bare in mind that the node should display a different text for each element (instead of Node type...), but I was too lazy to modify it that much, this is just for learning purposes :P
    A couple things I learned from this :
    1- I can create the panel right inside the renderer, that's probably how I would do it for a real app. But then, this means the panel would get created each time the node is rendered, which happens alot more often than like asjf was doing, at node creation.
    2- I can use the same single instance of the panel for all my rendering purposes. This is kinda odd to me, I thought that if I would use the same instance of MyNode (see the commented out code at the end of the renderer, uncomment it and comment out the MyNode panel =... right above it for it to run) all my nodes would have the same icons and text. How can that be? Anyways, I guess its better as far as memory consuption to use the same instance for all.
    3- There seems to be some padding around the node (blank space), it shows especially here. Is it because of the icon size or is there a setting to tell it not to pad so much? I tried JTree's setRowHeight but it cuts the padding only at the bottom, not the top.

  • I have a basic applet method timing problem with Firefox (and Chrome), not IE nor Opera. Works if JavaScript issues windows.alert() prior, fails otherwise.

    I have an applet method, which is invoked from a JavaScript function, that is triggered by the window.onload event. The problem seems to center in the loading of the applet and its methods.
    If I step through the 3 applet acceptance prompts (I chose to use a down-level Java), the applet method is never invoked, nor is an exception raised. How this happens is beyond my understanding.
    As additional information, the Init(), start(), and "desired" Java methods all use the synchronized keyword. This is an attempt to minimize the exposure to a multi-thread environment.
    If I issue a message from JavaScript (via window.alert()) PRIOR to invoking the method, I can get the desired results in special circumstances:
    1) When the alert is presented, Firefox also prompts, SIMULTANEOUSLY, to block/continue the applet (the first of the 3 applet acceptance prompts). I can accept that these are separate threads.
    2a) If I walk through the 3 applet acceptance prompts FIRST, and then hit the OK button on the alert message SECOND, I get the desired results, my applet method executes, and all is well (other than the fact that I would prefer not to have the alert in place at all).
    2b) If I hit the OK button on the alert message FIRST, and then walk through the 3 applet acceptance prompts SECOND, I get the same results as when the page loads WITHOUT the alert, which is the applet method is never invoked, nor is an exception raised. Weird, huh?
    The above problem only occurs when the browser and the applet's URL are loaded for the first time.
    Subsequent invocations (after the page & applet has been loaded initially) do not have the failing symptoms.
    It is my understanding that IE and Firefox (and Chrome and Opera, for that matter) each use the same implementation of JavaScript provided by Microsoft. Please correct me if this information is inaccurate.
    The failing page and it's applet are proprietary; I cannot provide the Internet URL, nor the Java or JavaScript source, to aid in your analysis.

    I can speak to the source code, but have no access to it.
    The current process/thread that invokes an applet method must check to see that the applet is not currently being loaded by another process/thread. If it is being loaded, the current process/thread should block until the load is complete, THEN attempt to invoke the applet method.
    Please forward my concern to a knowledgable developer. The nature of the problem, once identified, can be addressed in a very straightforward manner.

  • Intel Gen 2 SSD 80GB Disk errors- OSX 10.6.2

    Dear All,
    I have 2 of the Intel Gen2 SSD's, I have had them in Raid0 since I purchased them, since 10.6.2 I have had continual disk errors in Disk Utility, I decided 10 days ago to ditch the Raid0 and use them singly, I did a fresh instal of SL, and then copied my apps from my Time capsule, all was fine but now I'm getting disk errors again, and really slow performance specifically on save dialogs from Word and from print to PDF, I have to boot from sl disk once every 48 hours to repair the disk, I am at the end of my tether with this, my SSD is running the latest firmware, my home folder has been moved from the SSD to my WDC black Raid0, any ideas would be greatly appreciated.

    I'm tempted to go back to Caviar Black, SSD/Intel/Apple are not ready for the playground.
    I wouldn't be tempted, I would go back to the Caviar. I'd make sure 10.6.2, your software, and any additional hardware you have plays nice with that and the disk doesn't become "corrupt" over time. I don't know how much time to give it, but when you're satisfied, clone that system over to a FW Drive or something so at least you know you have a good system tucked away somewhere.
    And this didn't happen with 10.6.1, right? How long have you been using the SSDs?
    It gets me that this is something that appears over time. That I believe you're saying each time you manage to get DU to report no errors, sometime afterward it does again. Well, as I recently had pointed out to me again, flawed drives do crack under load. But two of them? And for something you really don't want to hear, many of us out here using SSDs have just not seen this, so it's hard to think the fault lies with 10.6.2. Granted I have Vertex and 1st gen 80gb Intels, could this be something only affecting the second gen Intels? I haven't heard that reported either, but who knows, yours may be the first of more to come. I know there are people here using the 2nd gen, maybe they'll write in (MsB, where are you?). From what I've read, the Intels have had more issues than other SSDs, but not of this nature as far as I know.
    So again, for my own clarity of mind only, you can get the problem fixed, no errors reported, and a short time later with use they just come back again, and you're saying that this has only come about since 10.6.2. It's bizarre.
    Well that leaves one fairly obvious thing to do and one thing you really should do.
    On the last, get DiskWarrior, it really is an outstanding program.
    On the first... Go back to 10.6.1.
    And on that also, tell us how long you've used 10.6.1 with the SSDs. Also, did you use the combo or Software Update to get to 10.6.2? Doing that, using SU, really has been a source of problems in the past.
    Also, while every Mac of the same model should be the same, frequently that doesn't seem to be the case. 1 person is affected by something, 10 people aren't. Can you yourself point to anything that may be making your Mac behave differently than the rest. Any special circumstances like heat or electricity?
    When I switched to SL it was a disaster for me until I did a clean install and rebuilt my system again. Many people were able to migrate things over successfully but that simply never worked for me. Not one thing could I migrate without it taking a toll on the performance of my Mac. I could never figure that out.
    I'm trying to think of things that might make SSDs more prone to damage than standard disks. But then again, it's not damage is it. It's corruption. Anyone here know exactly what that means? There is data and file corruption, but disk corruption? Are they the same?
    Well, lastly, and again, I can only think that by going back to an earlier OS can you be sure it's 10.6.2. If it turns out to be 10.6.2 only, then I would be glad to admit that's it, and be wary for my own benefit. In my case though I use DU, Diskwarrior and others utilities like Superduper a lot. I just haven't seen any indication of something similar happening. Please look into getting DiskWarrior. It's pricey but it's saved me on more than a few occasions and really I think it is worth it even if it is the only Utility program you can afford.
    I'd like to see your SSDs working with 10.6.2, but if they can't and they work well with an earlier OS, personally I'd drop 10.6.2 and stick with the SSDs. On the other hand if you have only a certain amount of time to get a refund on the SSD's, I'd exchange them for new ones or get a refund and buy a different make of SSD.
    It's a difficult issue and you must be extremely frustrated by now. But hang in there and I bet you'll get this sorted out.

  • MacBook Pro 15" (late 2008) seems dead. Faulty product?

    Hello,
    I am actually not very happy right now. My MBP died yesterday morning. I closed the lid the night before, like I have been doing for 1,5 years, and the next day, I opened it and it stayed black. I heard the HDD boot up, I even added a CD to test if my keyboard was still reacting. Nothing seemed more true.
    That's where the problem started. I was (and am still) getting annoyed with this. Since I'm quite sure Apple laptops, with or without warranty, should survive 1,5 years of normal yet intensive use. I think we're dealing with a faulty product here. Apple's procedures, which I am happily following, require an investigation which seem to cost me 80 euros. I've called with Apple Support and they promised me a free investigation (probably just to tell me that the Logic board is dead, which costs 800 euros if I'm correct...). Today, I tried to bring it to a service point but was told that they couldn't promise me that the research would be free... So I kept the laptop, I'm not willing to take that risk just now, and called back. Angry.
    Now I have been postponed to monday, because the supervisor wasn't there.
    What's your take on this? I do not feel I am being treated correctly. Anyone have any pointers or experiences that kind of match this? How did you solve this? Talk please.
    Yours faithfully,
    Bjorn Schijff

    eww, I'd very nearly classify my MBP as 1.5 years old. I got it in early November 2008, very close to 16 months ago. In fact, I think it will be 16 months ago tomorrow.
    Anyway, I think it's likely that our poster here may have a unibody MBP. Bjorn, does your MBP look like the ones at http://www.apple.com/macbookpro ? Or does it have an all-silver keyboard?
    If it does not look like the current generation, then you have an older, non-unibody MBP. In that case, your problem may be covered under the special circumstances surrounding the 8600M GT graphics card in that generation of MBPs.
    If it does look like the current generation, then I'm afraid you may be on the hook for the repairs. But, have you tried something simple like an SMC/PRAM reset?
    http://support.apple.com/kb/HT3964
    http://support.apple.com/kb/HT1379
    There is unfortunately nothing we can do if the computer fails after 1.5 years and you do not have Applecare. It is the exact same thing as with any other electronic product. If the product fails after the warranty period ends, well, sometimes it is just bad luck. I think your comments about faulty products and such are misfounded. There are hundreds of thousands (if not millions) of MBPs or Powerbooks out there that go (and have gone) 10+ years without any problems. Some do not. It is just the nature of anything electronic we buy right now.
    --Travis

  • DS to BW load balancing

    Dear all,
    I have a doubt regarding load balancing in PRD. Our team is loading data through DS 12.2.2.3 to SAP BW Master / transaction Infosources.
    SAP BW system has five Application Servers / instances to balance the load. BW target data store is configured to connect to the Central Instance of SAP BW.
    Since we are connected to the Central instance / application server of BW system from DS, will BW system be able to balance the load across multiple instances?
    Since BW Server has multiple instances to balance the load, is there any way we can utilise these BW multiple instances from Data Services?
    Can you share your thoughts on this? Appreciate your responses.
    Regards,
    Suneer.

    Hi Suneer,
    There are several ways how DS and BW can interact, so it might depend on what scenario you are using.
    I can think of the following scenario's:
    1. A DS job is executed from admin console and loads into a BW target datasource.
    This should use any available server, according to load balancing settings. It is not possible to force the process to use a specific server.
    2. A process chain starts an infopackage, which in turn starts a DS job
    BW will use the server chosen at the time of scheduling, if everything is configured correctly and scheduled correctly it will use any avaialble server conform load balancing settings. You can set this to run on a specific server (but I would only recommend this in very special circumstances).
    3. DS triggers a process chain
    Again, BW will use the settings on the process chain.
    4. BW runs an execution command, which starts a DS job
    Well, this is not a relevant scenario as it does not update anything on BW - unless the execution command then runs a job which loads data into BW, which is described in scenario 1.
    I hope this makes sense. Let me know if you have any other scenario's or concerns.
    Can I just ask why you are concerned about this load balancing? I have not have load balancing problems with DS/BW but I have had plenty of problems around concurrent use of the RFC connection between DS/BW. 'Multithreading' was not supported until 12.2.3.2 and you mentioned you run on 12.2.2.3, so potentially this is a problem for you.
    Jan.

  • Unable to start Photoshop CS6 - could not open a scratch file because the file is locked (Windows)

    When I first installed Adobe Photoshop CS6 I was unable to run Photoshop or Bridge CS6.  Photoshop would give me an error about "could not open a scratch file because the file is locked.  If I ran either of these programs as an administrator they would run without issue, this led me to believe that there was a permission issue somewhere.  After some digging I found out the both Bridge and Photoshop try to create a temp file (similiar to Photoshop Temp2777223910092) on the c:\ drive of the computer.  In my case the user that I was logged in with did not have access to write to the root of the C:\ drive.  Note that you run the program as the administrator and change the scratch disk location as that changes the preference for the administrator user and not the user that you are currently logged in as.
    To get around this issue I first had to give the user that I was logged on with write permissions to the root of the C:\ drive.  Next try and run Photoshop, you will get an error another error about the scratch disk and about and invalid or missing setting file.  To correct this you need to have run Photoshop as an administrator, next you can go to Users\Admin\AppData\Roaming\Adobe\Adobe Photoshop CS6\Adobe Photoshop CS6 Settings and copy Adobe Photoshop CS6 Prefs and/or Adobe Photoshop X64 CS6 Prefs to Users\<your logged in username>\AppData\Roaming\Adobe\Adobe Photoshop CS6\Adobe Photoshop CS6 Settings.
    Photoshop and bridge should now start up with no issues.
    I hope that this can help others out there as this caused me a great deal of frustration when upgrading to CS6.

    station_two wrote:
    OK, here comes the explanation of what the scratch disk does and why it's optimal to have it on a physically separate internal drive (not partition!) other than your boot drive
    I probably shouldn't say anything since it could complicate this thread, but the rules of thumb can be different under special circumstances when SSD is involved.
    IF you have a LOT of empty space on your SSD-based system drive, then Photoshop can actually work great with it's scratch setting pointed at the system drive.  This is because a) SSD transfers are much faster than spinning hard drives and b) there's no seek time, so simultaneous transfers to/from scratch and swap files aren't devastating to performance, and you can see a net gain because of the increased I/O throughput over what's possible using a separate spinning drive for scratch.
    But if you don't have a huge amount of free space (hundreds of GB) on the system SSD, it's definitely better to use a separate drive, as station_two has said.
    Also, up to about a year or so ago, you had to try to severely limit write activity to your SSD drive, since you could actually wear them out by repeated high data write activity.  That's pretty much a non-issue now with the advent of things like the SandForce in-drive controller that does wear-leveling inside the drive.  Modern drives will last 10 years or more in normal typical use, without special consideration.
    As it turns out, making a RAID array of SSDs is a great way to boost performance across the board, have bunches of free space, and ensure even the heaviest usage doesn't shorten the drive life.  I have done so, creating a 2 TB system drive C: made from 4 SSDs and Photoshop's swap file (and pretty much everything else) pointed to C:.  This system flies, and I can barely tell when Photoshop and/or Windows "goes virtual" and starts using its scratch/swap files heavily.  I don't even notice Photoshop auto-saves.
    Sorry for the SSD diversion.
    Back on topic: 
    Pretty much everyone who's successfully using a computer - Mac and PC users alike - comes to realize after a while that the task of integrating things on their computers and making everything work falls on THEM, not the developers of applications like Adobe.  Some applications pose unique challenges, but to think you can just throw up your hands and try to make it someone else's problem when something goes wrong simply isn't a viable strategy.  Maybe that's how things should be, but it's not how it is.
    For those of you struggling to get Photoshop to run properly, bear in mind that it's on you to get things working.  It works for most folks.  It could be a configuration or setup choice you've made that may need revisiting, or some kind of restorative activity that you need to do, or even something very minor like clearing your Photoshop preferences, but it may well take your learning new things and doing things you didn't think you'd have to do to get back to where you can edit photos.  It's no one's problem but your own.
    So let us here on the forum help you - when we say to do something, try it.  We're not here to jerk you around; we're users just like you who have already found the ways to make things work, and we'd like to help you do the same.
    -Noel

  • The report server has encountered a configuration error. Logon failed for the unattended execution account. (rsServerConfigurationError) Log on failed. Ensure the user name and password are correct. (rsLogonFailed) Logon failure: unknown user name or bad

    The report server has encountered a configuration error. Logon failed for the unattended execution account. (rsServerConfigurationError)
    Log on failed. Ensure the user name and password are correct. (rsLogonFailed)
    Logon failure: unknown user name or bad password 
    am using Windows integrated security,version of my sql server 2008R2
    I have go throgh the different articuls, they have given different answers,
    So any one give me the  exact soluction for this problem,
    Using service account then i will get the soluction or what?
    pls help me out it is urgent based.
    Regards
    Thanks!

    Hi Ychinnari,
    I have tested on my local environment and can reproduce the issue, as
    Vaishu00547 mentioned that the issue can be caused by the Execution Account you have configured in the Reporting Services Configuration Manager is not correct, Please update the Username and Password and restart the reporting services.
    Please also find more details information about when to use the execution account, if possible,please also not specify this account:
    This account is used under special circumstances when other sources of credentials are not available:
    When the report server connects to a data source that does not require credentials. Examples of data sources that might not require credentials include XML documents and some client-side database applications.
    When the report server connects to another server to retrieve external image files or other resources that are referenced in a report.
    Execution Account (SSRS Native Mode)
    If you still have any problem, please feel free to ask.
    Regards
    Vicky Liu
    Vicky Liu
    TechNet Community Support

  • One listener or several?

    Do other DBA's normally use a seperate listener for each Oracle version or just use the highest version installed for all versions of database on a Unix host? (9iR2 & 10gR2 installed)
    Did your DataGuard set-up jobs expect seperate listeners for each Oracle version installed when attempting to set-up logical standby databases via Grid (as my attempts seem to be trying to do) ?

    Hi,
    Do other DBA's normally use a seperate listener for each Oracle version or just use the
    highest version installed for all versions of database on a Unix host? (9iR2 & 10gR2
    installed)I usually tend to use only one listener, from the highest version. Of course under heavy load or special circumstances, sometimes, using 2 or 3 listeners can be suitable.. but in that case, I'd use all listeners from same version.
    Can't answer your other question prcisely because I don't like GUIs so I set up stuff manually.. but I think that the processes will just use whatever working listener thay'll find.
    Regards,
    Yoann.

  • One method or several methods

    Hi all I have question. I am working on an application where I need to set 8 variables a couple of times. The same variables are all set at the same time into different forms. I am curious which people would think would be be best. Each form having 8 seperate methods, as they do have to be set seperately in some cases, or would it make sense to also have a method that accepts both the form and the variables and set them right there. The variables are grouped together into one object. They represent a mailing address. For some reason that I can't place my finger on having the method that accepts the form and the object seems off, not sure why.

    DTO = Data Transfer Object (not just for databases)
    DTO represents an implementation of a conceptual grouping of data but not behavior (not signficant behavior). Because there is no behavior it is a not first class object.
    java.awt.Point provides an example of this.
    In terms of implementation a DTO can contain the data in different ways.
    - As individual members
    - As a hash.
    The second choice would normally only used for special circumstances.

  • UTL_FOPEN is not working in 10g forms.

    Hi...
    I am using following code to open a file in write mode in forms 10g.
    mfile_id := SYS.UTL_FILE.FOPEN('PERFDATA','text.txt','w');
    ( PERFDTA is a directory object.)
    When i run form this gives the error, ORA-04067.
    But same code works in pl/sql.
    Can any one help me regarding this.
    Thanks in advance,
    Kumar

    uhm...why using utl_file?!? Is there any special circumstance why u have to use this? This package is for use in stored procedures only...You don't even use dbms_sql instead of exec_sql in forms either, huh?
    * Files which are on the database server and should be read by pl/sql packages => utl_file
    * Files which are on the Middle Tier and should be read by Forms => text_io (syntax is similar to utl_file)
    * Files which are on the client => webutil...
    if you want to read files which are on the database server in forms, you can just put the logical part into a pl/sql package on the database and use this...???
    regards
    Christian

Maybe you are looking for

  • Swf files appearing in preview (D8) but not n browser after uploading - frustrated!

    Hello, I have worked with Flash and Dreamweaver on the side for a number of years. We all know that after the recent changes, the way it handles object and embed tags has changed to favor Java actionscripts instead. This code I am about to paste was

  • How to check whether the Application Server directory exits or not

    Hi, I have a selection screen in which I give the Application server file name(UNIX file) as input. Here, I would like to check whether the Server directory exists or not. Let us say, the path I gave in the selection screen is /usr/sap/tmp/testfile.t

  • Insufficient disk space - HP Color LaserJet 4650

    Hi, every time I print more than ONE item in Adobe InDesign I get the following page printed from my printer... Error: Unable to store job at printer Reason: Insufficient disk space for this job Solution: Delete some files from the disk before resend

  • Oracle VM Guest Performance as HVM

    All, I was hoping to get clarification on this: I happen to have a server with a processor that supports virtual machine in hardware (AMD-V). I have installed a couple of 64-bit OEL5u4 VMs off of the install iso (not from eDelivery templates, but fro

  • Problem with Windows 8 on T520 mSATA

    Short version: Installed Windows 8 on the mSATA (with Windows 7 on the main SSD).  When I boot to the mSATA, Windows 8 opens/works fine. When I shut down then power up again, I cannot get into any BIOS setup screens to reset the boot order...it just