Question on java.lang.Thread "starting problems"

hi everybody
i've just little trouble running a tiny program which uses Threads.
maybe there's a misunderstanding from my side:
About my code:
01  public class MyThread extends Thread {
02
03    String any_string = null;
04
05    public MyThread(String param) {
06      any_string = param;
07      this.start();
08    }
09
10    public void run() {
11      while(!isInterrupted()) {
12        System.out.println(" > This Thread is running!");
13        // any other operation...
14        try {
15        sleep(1000);
16      }
17      catch(Exception e) {}
18    }
19  }This is a Thread's code similar to those you can find it in the java.lang.Thread Documentation or in the java Tutorial.
In my example I got a IllegalThreadStateException in codeline 07 which means (compare to java.lang.Thread Documentation) that the code tries to start the Thread while the Thread is still running.
I always thought a Thread will not start itself.
I thought (and that's the way, i red it in the documentation) that the constructor of a Thread only allocates the new Thead-Object.
But by constructing MyThread I got the descripted exception (i'm beginning to repeat myself...). The "funny" thing on this exception is that the Thread at least IS running but there could be no Object allocated
01  ...
02  /**
03   * construction of a new Object of the class MyThread.
04   * test will be auto-started by the MyThread constructor
05   */
06  MyThread test = new MyThread("any-string");
07  ...
08  test.anyMethodOfClassMyThread();This little code generates a java.lang.NullPointerException in line 08 (when trying to access the object of class MyThread). Even after the application exits (in case of this exception), the run()-Method of MyThread generates its Text-Output " > This Thread is running!". argh
Does anyone see my mistake / misunderstanding??
It's really frustrating if you are sitting in front of your pc and can't get the reason why your prog is generating that "bullshit" (ok... i know - it's only generatting the bullshit I told it to generate :( )
Any suggestions or ideas
thanks,
Thof

Well now, I don't get a NullPointerException, when I try to call a method of MyThread. Here's your code, with slight modifications by me:
public class MyThread extends Thread {
    String any_string = null;
    public MyThread(String param) {
        any_string = param;
        this.start();
    public String getAnyString(){
        return any_string;
    public void run() {
        while(!isInterrupted()) {
            System.out.println(" > This Thread is running!");
            try {
                sleep(1000);
            catch(Exception e) {}
}To test the app I wrote this class:
public class TestMyThread {
    public static void main(String[] args) {
        MyThread temp = new MyThread("Hello World");
        System.out.println(temp.getAnyString());
}Now it does print out the correct "Hello World".
Your other problem of the thread not shutting down is because it is not a daemon thread. To solve this you will need to add this Thread to a ThreadGroup and set the ThreadGroup as a Daemon group. (see ThreadGroup::setDaemon() )
Or you can put a little boolean in your while loop and break out when you change the value of the boolean. Then when you want to shut down you simply change the boolean
Hope this helps
-Philip

Similar Messages

  • Exception in thread "Main Thread" java.lang.NoClassDefFoundError: start

    Hi
    I am Migrating my app from weblogic 8.1 to 10.3 . I am trying to run the startWeblogic.sh file its failing with below error .Please suggest me am unable to resolve
    CLASSPATH=:/opt/bea/patch_wlw1030/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/opt/bea/patch_wls1030/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/opt/bea/patch_cie660/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/opt/bea/jrockit_160_14/lib/tools.jar:/opt/bea/wlserver_10.3/server/lib/weblogic_sp.jar:/opt/bea/wlserver_10.3/server/lib/weblogic.jar:/opt/bea/modules/features/weblogic.server.modules_10.3.0.0.jar:/opt/bea/wlserver_10.3/server/lib/webservices.jar:/opt/bea/modules/org.apache.ant_1.6.5/lib/ant-all.jar:/opt/bea/modules/net.sf.antcontrib_1.0.0.0_1-0b2/lib/ant-contrib.jar::/opt/bea/wlserver_10.3/common/eval/pointbase/lib/pbclient57.jar:/opt/bea/wlserver_10.3/server/lib/xqrl.jar::
    PATH=/opt/bea/wlserver_10.3/server/bin:/opt/bea/modules/org.apache.ant_1.6.5/bin:/opt/bea/jrockit_160_14/jre/bin:/opt/bea/jrockit_160_14/bin:/usr/local/bin:/bin:/usr/bin:/home/quoteapp/bin:/prod/qcquoting/bin:/home/quoteapp/bin/apache-ant-1.6.5/bin:/opt/bea/jrockit_160_14/bin
    * To start WebLogic Server, use a username and *
    * password assigned to an admin-level user. For *
    * server administration, use the WebLogic Server *
    * console at http://hostname:port/console *
    starting weblogic with Java version:
    java version "1.6.0_14"
    Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
    BEA JRockit(R) (build R27.6.5-32_o-121899-1.6.0_14-20091001-2113-linux-x86_64, compiled mode)
    Starting WLS with line:
    /opt/bea/jrockit_160_14/bin/java -jrockit -Xms256m -Xmx512m -Xverify:none -da -Dplatform.home=/opt/bea/wlserver_10.3 -Dwls.home=/opt/bea/wlserver_10.3/server -Dweblogic.home=/opt/bea/wlserver_10.3/server -Dweblogic.management.discover=true -Dwlw.iterativeDev= -Dwlw.testConsole= -Dwlw.logErrorsToConsole= -Dweblogic.ext.dirs=/opt/bea/patch_wlw1030/profiles/default/sysext_manifest_classpath:/opt/bea/patch_wls1030/profiles/default/sysext_manifest_classpath:/opt/bea/patch_cie660/profiles/default/sysext_manifest_classpath -Dweblogic.Name=quoting -Djava.security.policy=/opt/bea/wlserver_10.3/server/lib/weblogic.policy start weblogic.Server
    Exception in thread "Main Thread" java.lang.NoClassDefFoundError: start
    Could not find the main class: start. Program will exit.
    am attaching my sh file aslo below
    !/bin/sh
    # WARNING: This file is created by the Configuration Wizard.
    # Any changes to this script may be lost when adding extensions to this configuration.
    # --- Start Functions ---
    stopAll()
         # We separate the stop commands into a function so we are able to use the trap command in Unix (calling a function) to stop these services
         if [ "X${ALREADY_STOPPED}" != "X" ] ; then
              exit
         fi
         # STOP POINTBASE (only if we started it)
         if [ "${POINTBASE_FLAG}" = "true" ] ; then
              echo "Stopping PointBase server..."
              ${WL_HOME}/common/bin/stopPointBase.sh -port=${POINTBASE_PORT} -name=${POINTBASE_DBNAME} >"${DOMAIN_HOME}/pointbaseShutdown.log" 2>&1
              echo "PointBase server stopped."
         fi
         ALREADY_STOPPED="true"
         # Restore IP configuration the node manager starts IP Migration
         if [ "${SERVER_IP}" != "" ] ; then
              ${WL_HOME}/common/bin/wlsifconfig.sh -removeif "${IFNAME}" "${SERVER_IP}"
         fi
    # --- End Functions ---
    # This script is used to start WebLogic Server for this domain.
    # To create your own start script for your domain, you can initialize the
    # environment by calling @USERDOMAINHOME/setDomainEnv.
    # setDomainEnv initializes or calls commEnv to initialize the following variables:
    # BEA_HOME - The BEA home directory of your WebLogic installation.
    # JAVA_HOME - Location of the version of Java used to start WebLogic
    # Server.
    # JAVA_VENDOR - Vendor of the JVM (i.e. BEA, HP, IBM, Sun, etc.)
    # PATH - JDK and WebLogic directories are added to system path.
    # WEBLOGIC_CLASSPATH
    # - Classpath needed to start WebLogic Server.
    # PATCH_CLASSPATH - Classpath used for patches
    # PATCH_LIBPATH - Library path used for patches
    # PATCH_PATH - Path used for patches
    # WEBLOGIC_EXTENSION_DIRS - Extension dirs for WebLogic classpath patch
    # JAVA_VM - The java arg specifying the VM to run. (i.e.
    # - server, -hotspot, etc.)
    # USER_MEM_ARGS - The variable to override the standard memory arguments
    # passed to java.
    # PRODUCTION_MODE - The variable that determines whether Weblogic Server is started in production mode.
    # POINTBASE_HOME - Point Base home directory.
    # POINTBASE_CLASSPATH
    # - Classpath needed to start PointBase.
    # Other variables used in this script include:
    # SERVER_NAME - Name of the weblogic server.
    # JAVA_OPTIONS - Java command-line options for running the server. (These
    # will be tagged on to the end of the JAVA_VM and
    # MEM_ARGS)
    # For additional information, refer to the WebLogic Server Administration
    # Console Online Help(http://e-docs.bea.com/wls/docs103/ConsoleHelp/startstop.html).
    # Call setDomainEnv here.
    DOMAIN_HOME=/prod/qcquoting/int/builds/qoaquoting
    . ${DOMAIN_HOME}/bin/setDomainEnv.sh $*
    SAVE_JAVA_OPTIONS="${JAVA_OPTIONS}"
    SAVE_CLASSPATH="${CLASSPATH}"
    # Start PointBase
    PB_DEBUG_LEVEL="0"
    if [ "${POINTBASE_FLAG}" = "true" ] ; then
         ${WL_HOME}/common/bin/startPointBase.sh -port=${POINTBASE_PORT} -debug=${PB_DEBUG_LEVEL} -console=false -background=true -ini=${DOMAIN_HOME}/pointbase.ini >"${DOMAIN_HOME}/pointbase.log" 2>&1
    fi
    JAVA_OPTIONS="${SAVE_JAVA_OPTIONS}"
    SAVE_JAVA_OPTIONS=""
    CLASSPATH="${SAVE_CLASSPATH}"
    SAVE_CLASSPATH=""
    trap 'stopAll' 1 2 3 15
    if [ "${PRODUCTION_MODE}" = "true" ] ; then
         WLS_DISPLAY_MODE="Production"
    else
         WLS_DISPLAY_MODE="Development"
    fi
    if [ "${WLS_USER}" != "" ] ; then
         JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.management.username=${WLS_USER}"
    fi
    if [ "${WLS_PW}" != "" ] ; then
         JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.management.password=${WLS_PW}"
    fi
    CLASSPATH="${CLASSPATH}${CLASSPATHSEP}${MEDREC_WEBLOGIC_CLASSPATH}"
    CLASSPATH="${CLASSPATH}${CLASSPATHSEP}./config/order_properties/"
    echo "."
    echo "."
    echo "JAVA Memory arguments: ${MEM_ARGS}"
    echo "."
    echo "WLS Start Mode=${WLS_DISPLAY_MODE}"
    echo "."
    echo "CLASSPATH=${CLASSPATH}"
    echo "."
    echo "PATH=${PATH}"
    echo "."
    echo "***************************************************"
    echo "* To start WebLogic Server, use a username and *"
    echo "* password assigned to an admin-level user. For *"
    echo "* server administration, use the WebLogic Server *"
    echo "* console at http://hostname:port/console *"
    echo "***************************************************"
    # Set up IP Migration related variables.
    # Set interface name.
    if [ "${Interface}" != "" ] ; then
         IFNAME="${Interface}"
    else
         IFNAME=""
    fi
    # Set IP Mask.
    if [ "${NetMask}" != "" ] ; then
         IPMASK="${NetMask}"
    else
         IPMASK=""
    fi
    # Perform IP Migration if SERVER_IP is set by node manager.
    if [ "${SERVER_IP}" != "" ] ; then
         ${WL_HOME}/common/bin/wlsifconfig.sh -addif "${IFNAME}" "${SERVER_IP}" "${IPMASK}"
    fi
    # START WEBLOGIC
    echo "starting weblogic with Java version:"
    ${JAVA_HOME}/bin/java ${JAVA_VM} -version
    if [ "${WLS_REDIRECT_LOG}" = "" ] ; then
         echo "Starting WLS with line:"
         echo "${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} -Dweblogic.Name=${SERVER_NAME} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${PROXY_SETTINGS} ${SERVER_CLASS}"
         ${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} -Dweblogic.Name=${SERVER_NAME} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${PROXY_SETTINGS} ${SERVER_CLASS}
    else
         echo "Redirecting output from WLS window to ${WLS_REDIRECT_LOG}"
         ${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} -Dweblogic.Name=${SERVER_NAME} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${PROXY_SETTINGS} ${SERVER_CLASS} >"${WLS_REDIRECT_LOG}" 2>&1
    fi
    stopAll
    popd
    # Exit this script only if we have been told to exit.
    if [ "${doExitFlag}" = "true" ] ; then
         exit
    fi

    I can not see main class weblogic.jar file in your class path.
    Under MW_HOME there is a file by name configure.cmd/sh, run it to set acl and class path. Then try to start weblogic server. U can edit the startWeblogic.sh/cmd so that every time it will execute after calling configure.sh/cmd file.

  • Java.lang.Runtime.exec problem in ubuntu 9.10

    Hi:
    I tried to run some command in the java code , for example "grass64 -text /home/data/location", this command works well in the terminal, however when I call it in the java code I got some excepetions.
    My code is :
    public class Grass {
         public static String grassBatJob="GRASS_BATCH_JOB";
         public void run(String cmd,String jobPath) {
              //set the environments variables
              Map<String, String> env=new HashMap<String, String>();
              env.put(grassBatJob, jobPath);
              String gisDataBase="/home/kk/grass/GrassDataBase";
              String location="spearfish60";
              String mapset="PERMANENT";
              cmd=cmd+" "+gisDataBase+"/"+location+"/"+mapset;
              CommandLine line=new CommandLine(cmd);
              //the real cmd should be >>grass64 -text /home/kk/grass/GrassDataBase/spearfish60/PERMANENT
              System.out.println("start line=="+line.toString());
              DefaultExecutor de=new DefaultExecutor();
              try {
                   int index=de.execute(line,env);
                   System.out.println(index);
              } catch (ExecuteException e) {
                   e.printStackTrace();
              } catch (IOException e) {
                   e.printStackTrace();
         public static void main(String[] args) {
              String jobPath=Grass.class.getResource("grass.sh").getFile();
              new Grass().run("grass64 -text", jobPath);
    The real cmd I want to execute is "grass64 -text /home/kk/grass/GrassDataBase/spearfish60/PERMANENT" with the envrionment variable "GRASS_BATCH_JOB=jobPath",it works well in the ternimal ,however in my application I got the exception"
    java.io.IOException: Cannot run program "grass64 -text /home/kk/grass/GrassDataBase/spearfish60/PERMANENT": java.io.IOException: error=2, No such file or directory
         at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
         at java.lang.Runtime.exec(Runtime.java:593)
         at org.apache.commons.exec.launcher.Java13CommandLauncher.exec(Java13CommandLauncher.java:58)
         at org.apache.commons.exec.DefaultExecutor.launch(DefaultExecutor.java:246)
         at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:302)
         at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:149)
         at org.kingxip.Grass.run(Grass.java:27)
         at org.kingxip.Grass.main(Grass.java:38)
    Caused by: java.io.IOException: java.io.IOException: error=2, No such file or directory
         at java.lang.UNIXProcess.<init>(UNIXProcess.java:148)
         at java.lang.ProcessImpl.start(ProcessImpl.java:65)
         at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
         ... 7 more
    I wonder why?

    Thanks for all of your reply, and now I can run the command, however I met some problems when I tried to get the result of the exec.
    The core codes are shown below:
    String cmd="g.version";
    String[] exe={"bash","-c",cmd};
    Process p1=Runtime.getRuntime.exec(exe,env); // the env has been set
    GrassThread outThread=new GrassThread("out", p1.getInputStream());
    outThread.start();
    GrassThread errorThread=new GrassThread("error", p1.getErrorStream());
    errorThread.start();
    int exitVal = p1.waitFor();
    String resu=outThread.sb.toString();
    System.out.println("==========the output start========");
    System.out.println(resu);
    System.out.println("==========the output end========");
    System.out.println("ExitValue: " + exitVal); //------------------> line one
    public class GrassThread extends Thread{
         public StringBuffer sb=new StringBuffer();
         public GrassThread(String type,InputStream is) {
              this.type=type;
              this.is=is;
         public void run() {
              try {
                   InputStreamReader isr = new InputStreamReader(is);
                   BufferedReader br = new BufferedReader(isr);
                   String line = null;
                   while ((line = br.readLine()) != null) {
                        System.out.println(type + ">" + line);
                        sb.append(line).append("\r");  // ----------------------------> line two
    }I define a StringBuffer in the GrassThread to save the output (see the code where I marked by "line two"), and when the process complete, I check the StringBuffer to get the output (see code where I marked by "line one"), however the output in the console of the IDE are :
    ----------- output in the console of the IDE start -------------
    ==========the output start========
    ==========the output end========
    ExitValue: 0
    out>GRASS 6.4.0RC5 (2009)
    ----------output in the console of the IDE end--------------------
    I can not understand, in the code "line one", I first get the output using "System.out.println(resu);",then I print the exitvalue,but why the order of the output in the console is not what I expected?
    Another question, the code above assume the output can be got from the Process's getInputStream, however sometimes the output maybe come from the Process's getErrorStream, so how to handle it?
    Edited by: apachemaven on 2010-3-5 ??5:38

  • URGENT- PLEASE HELP: java.lang.threads and BC4J

    Hi,
    according to my issue "no def found for view" in the same titled thread I'm wondering how you would implement asynchronous calls of methods that use BC4J to update a couple of data.
    To be more precise:
    A requirement of our software is to start an update database job, which can take a couple of minutes/hours, from the web browser. Before it will be executed the logged-in user receives a notification that this batch job has been started.
    I dont't want to use JMS overhead and MD Beans for this simple requirement, therefore I implemented a class that extends java.lang.Thread and put all the update codings within the run method. After having called the start-method of the thread I get a JBO-25022(No XML file found) error when I try to set a new value for an attribute of the row. The row consists of attributes which belong to four entity objects that mus be updated.
    When calling the run method directly, everything works fine.
    My questions:
    * do you know any workaround how to make the xml files
    reachable?
    * how would you implement anschronous calls of long time-
    consuming jobs?
    * is this a bug of BC4J?
    Any help, tip, hint is really appreciated.
    Stefan

    Arno,
    many thanks for your reply:
    Here is an excerpt of the source code of my thread "Aenderungsdienst":
    public class Aenderungsdienst extends java.lang.Thread
    private SviAdministrationModuleImpl mSviModul;
    // Application module that contains view object
    // IKViewImpl
    public Aenderungsdienst(SviAdministrationModuleImpl aSviModul)
    mSviModul = aSviModul;
    public void run()
    ausfuehrenAenderungsdienst(mAenderungsdienstNr); <--error within this methode
    private int ausfuehrenAenderungsdienst(String aAenderungsdienstNr)
    int rAnzahlSaetze = 0;
    try
    IkViewImpl aenderungen = mSviModul.getIkView();
    aenderungen.suchenAenderungssaetze(aAenderungsdienstNr); <-- method within View Object Impl that executes a query with customized where-clauses
    if ((rAnzahlSaetze = aenderungen.getRowCount()) > 0)
    IkViewRowImpl ik = null;
    while (aenderungen.hasNext())
    ik = (IkViewRowImpl) aenderungen.next();
    ik.setBestandsstatus("B"); <-- error occurs here when setting the status of a current row in my rowset to "B"
    mSviModul.getTransaction().postChanges();
    mSviModul.getTransaction().commit();
    catch (Exception e)
    e.printStackTrace();
    mSviModul.getTransaction().rollback();
    //todo: Verarbeitungsprotokoll erstellen
    return rAnzahlSaetze;
    This thread will be called by the application module "sviAdministrationModuleImpl":
    public void ausfuehrenAenderungsdienst(String
    aAenderungsdienstNr)
    Aenderungsdienst aenderungsdienst = new
    Aenderungsdienst(this);
    aenderungsdienst.setAenderungsdienstNr
    (aAenderungsdienstNr);
    aenderungsdienst.start();
    Using the start() method of the thread causes this exception:
    [653] No xml file: /hvbg/svi/model/businessobjects/businessobjects.xml, metaobj = hvbg.svi.model.businessobjects.businessobjects
    [654] Cannot Load parent Package : hvbg.svi.model.businessobjects.businessobjects
    [655] Business Object Browsing may be unavailable
    [656] No xml file: /hvbg/svi/model/businessobjects/IK_Inlandsbankverb.xml, metaobj = hvbg.svi.model.businessobjects.IK_Inlandsbankverb
    09.03.2004 10:27:41 hvbg.common.businessobjects.HvbgEntityImpl setAttributeInternal
    SCHWERWIEGEND: Fehler beim Setzen des Attributs 1 im Entity Objekt: JBO-25002: Definition hvbg.svi.model.businessobjects.IK_Inlandsbankverb vom Typ Entitätszuordnung nicht gefunden.
    09.03.2004 10:27:42 hvbg.svi.model.dienste.Aenderungsdienst ausfuehrenAenderungsdienst
    SCHWERWIEGEND: Beim Ausführen des Aenderungsdienstes 618 trat während der DB-Aktualisierung ein schwerer Fehler auf:
    JBO-25002: Definition hvbg.svi.model.businessobjects.IK_Inlandsbankverb vom Typ Entitätszuordnung nicht gefunden.
    oracle.jbo.NoDefException: JBO-25002: Definition hvbg.svi.model.businessobjects.IK_Inlandsbankverb vom Typ Entitätszuordnung nicht gefunden.
         at oracle.jbo.mom.DefinitionManager.findDefinitionObject(DefinitionManager.java:328)
         at oracle.jbo.mom.DefinitionManager.findDefinitionObject(DefinitionManager.java:268)
         at oracle.jbo.server.MetaObjectManager.findMetaObject(MetaObjectManager.java:649)
         at oracle.jbo.server.EntityAssociation.findEntityAssociation(EntityAssociation.java:98)
         at oracle.jbo.server.AssociationDefImpl.resolveEntityAssociation(AssociationDefImpl.java:725)
         at oracle.jbo.server.AssociationDefImpl.getEntityAssociation(AssociationDefImpl.java:135)
         at oracle.jbo.server.AssociationDefImpl.hasContainer(AssociationDefImpl.java:546)
         at oracle.jbo.server.AssociationDefImpl.getContainer(AssociationDefImpl.java:468)
         at oracle.jbo.server.EntityImpl.getContainer(EntityImpl.java:1573)
         at oracle.jbo.server.EntityImpl.setValidated(EntityImpl.java:1649)
         at oracle.jbo.server.EntityImpl.setAttributeValueInternal(EntityImpl.java:2081)
         at oracle.jbo.server.EntityImpl.setAttributeValue(EntityImpl.java:1985)
         at oracle.jbo.server.AttributeDefImpl.set(AttributeDefImpl.java:1700)
         at oracle.jbo.server.EntityImpl.setAttributeInternal(EntityImpl.java:946)
         at hvbg.common.businessobjects.HvbgEntityImpl.setAttributeInternal(HvbgEntityImpl.java:56)
         at hvbg.svi.model.businessobjects.IKImpl.setBestandsstatus(IKImpl.java:174)
         at hvbg.svi.model.businessobjects.IKImpl.setAttrInvokeAccessor(IKImpl.java:770)
         at oracle.jbo.server.EntityImpl.setAttribute(EntityImpl.java:859)
         at oracle.jbo.server.ViewRowStorage.setAttributeValue(ViewRowStorage.java:1108)
         at oracle.jbo.server.ViewRowStorage.setAttributeInternal(ViewRowStorage.java:1019)
         at oracle.jbo.server.ViewRowImpl.setAttributeInternal(ViewRowImpl.java:1047)
         at hvbg.svi.model.dataviews.IkViewRowImpl.setBestandsstatus(IkViewRowImpl.java:264)
         at hvbg.svi.model.dienste.Aenderungsdienst.ausfuehrenAenderungsdienst(Aenderungsdienst.java:337)
         at hvbg.svi.model.dienste.Aenderungsdienst.run(Aenderungsdienst.java:290)
    Using run(), everything works perfectly.
    The view object IKView consists of four entity objects which are linked by associations. There exists an association between the entity objects ik and inlandbankverb. The xml-file for the association object is named "ik_inlandsbankverb.xml". It seems so that this definition could not be found when calling my thread in asynchronous (via start()-method call) mode.
    Is this a bug of JDeveloper?
    Thanks in advance,
    Stefan

  • Non-static version of java.lang.Thread.dumpstack?

    hi,
    it would be useful sometimes to have a graphical debug panel on an application I'm working on which shows the active threads and allows further information to be shown if wanted - the problem is that I can't find an API call to get the current stack dump of an arbitrary thread - does anyone know if this is possbile somehow without a full debug environment?
    java.lang.Thread.dumpstack would be ideal if only it were an instance method..
    thanks,
    asjf

    what's the probelm? you call this in the threads class
    and each thread (object) executes this statement and
    therefore prints its stacktrace ...ok - here is some mocked up (and plain wrong in terms of the tree model's consistency over sequential method calls) code that shows what I'd like to achieveimport java.io.*;
    import java.util.*;
    import javax.swing.*;
    import javax.swing.tree.*;
    import java.awt.*;
    import javax.swing.event.*;
    public class JThreadExp extends JPanel {
       JTree tree;
       JTextArea jta;
       public JThreadExp(TreeModel model) {
          super(new GridLayout(1,2,4,4));
          tree = new JTree(model);
          jta = new JTextArea();
          add(tree);
          add(jta);
          tree.addTreeSelectionListener(new TreeSelectionListener() {
             public void valueChanged(TreeSelectionEvent e) {
                PrintStream stderr = System.err;
                String msg=null;
                try {
                   TreePath tp = e.getPath();
                   System.out.println(tp.getLastPathComponent());
                   ByteArrayOutputStream baos = new ByteArrayOutputStream();
                   PrintStream ps = new PrintStream(new BufferedOutputStream(baos, 1024*1024));
                   System.setErr(ps);
                   Thread t = (Thread) tp.getLastPathComponent();
                   try {
                      t.dumpStack();
                   } catch(Throwable ee) {}
                   ps.close();
                   jta.setText(baos.toString()); //newXML.toString());
                } catch(Exception e2) {
                   msg = e2.getMessage();
                System.setErr(stderr);
                if(msg!=null)
                   System.out.println(msg);
       public static void main(String[]arg) throws Exception {
          JFrame frame = new JFrame("JThreadExp");
          JThreadExp jte;
          final ThreadModel tm = new ThreadModel();
          frame.getContentPane().add(jte = new JThreadExp(tm));
          frame.pack();
          frame.setVisible(true);
          final JTree tree = jte.tree;
          new Thread(new Runnable() {
             public void run() {
                try {
                   while(true) {
                      TreeModelEvent tme = new TreeModelEvent(this, new Object [] {tm.getRoot()});
                      for(Iterator i = tm.listeners.iterator(); i.hasNext(); )
                         ((TreeModelListener) i.next()).treeStructureChanged(tme);
                      Thread.sleep(5000);
                      new Thread(new Runnable() {
                         public void run() {
                            try { Thread.sleep(50000); } catch(Exception e) {e.printStackTrace();}
                      } ).start();
                } catch(Exception e) {
                   e.printStackTrace();
          } ).start();
    class ThreadModel implements TreeModel {
       public boolean isLeaf(Object node) { return (node instanceof Thread); }
       public Object getRoot() {
          ThreadGroup uppermost = Thread.currentThread().getThreadGroup();
          while(uppermost.getParent()!=null)
            uppermost = uppermost.getParent();
          return uppermost;
       public Object getChild(Object p, int i) {
          Object result = "<unavailable>";
          if(p instanceof ThreadGroup) {
             ThreadGroup parent = (ThreadGroup) p;
             ThreadGroup[] tg = new ThreadGroup[parent.activeGroupCount()];
             Thread[] t = new Thread[parent.activeCount()];
             parent.enumerate(tg, false);
             parent.enumerate(t, false);
             if(i<tg.length)
                result = tg;
    else if(i<tg.length+t.length)
    result = t[i-tg.length];
    return result;
    public int getChildCount(Object node) {
    int result = 0;
    if(node instanceof ThreadGroup) {
    ThreadGroup parent = (ThreadGroup) node;
    ThreadGroup[] tg = new ThreadGroup[parent.activeGroupCount()];
    Thread[] t = new Thread[parent.activeCount()];
    result += parent.enumerate(tg, false);
    result += parent.enumerate(t, false);
    return result;
    public int getIndexOfChild(Object parent, Object child) {
    for(int i=0; i<getChildCount(parent); i++) {
    if(getChild(parent,i).equals(child))
    return i;
    return -1;
    Set listeners = new HashSet();
    public void addTreeModelListener(TreeModelListener l) {
    listeners.add(l);
    public void removeTreeModelListener(TreeModelListener l) {
    listeners.remove(l);
    public void valueForPathChanged(TreePath path, Object newValue) { // this shouldn't be called - Tree is not editable
    System.out.println("valueForPathChanged");
    } The problem is that I'd like to obtain a reference to a Thread object (which I haven't written the code for) and get a (vaguely accurate if not exact) stack dump from it.
    I'll have a look over JDB in the meantime thanks :)
    thanks,
    asjf

  • Cannot find class java/lang/Thread

    I'm getting this error trying to compile a program that I'm writing in java. Its a very simple program just to get me back to basics. Any ideas as to how I can fix this problem??

    Extracted from Sun's website,
    * Error Message: "Exception in thread NULL" or
    "Unable to initialize threads: cannot find class java/lang/Thread"
    If you are getting one of these fatal error messages when running java,
    javac, or appetviewer, you should check your CLASSPATH environment variable.
    It may list "c:\java" or the "classes" directory from an older release. You can either unset the CLASSPATH variable, or set it to
    include only the latest version of the Java platform class library. For example:
    C:\> set CLASSPATH=.;C:\jdk1.1.8\lib\classes.zip
    This will make sure that you are using the correct classes for this release.
    -- Sudha

  • Java.lang.thread exception while using Xalan 2.0 in WLS 6.0

    Hi, I'm trying to use Xalan 2.0 in a servlet hosted by WLS. Ive
    modified Xalan's SimpleTransform sample to be a servlet. I
    create a Transformer with the .xsl, then call tranform() to
    print the tranformed xml to the response stream. The xml is
    tranformed correctly, but it throws a java.lang.thread
    exception. The standalone Xalan sample doesn't do this. Anyone
    else seen this problem?
    Here's the code of interestest, I apologize if its not formatted very well:
    public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException
         PrintWriter out = res.getWriter();
         res.setContentType("text/html");
         out.println("<html><head><title>XalanTest<title></head>");
         out.println("<body><h1>XalanTest</h1>");
         try{
         TransformerFactory tFactory = TransformerFactory.newInstance();
         StreamSource ss = new StreamSource("file:\\\\My-path\\birds.xsl");
         Transformer transformer = tFactory.newTransformer(ss);
         StreamResult SR = new StreamResult(out);
         transformer.transform(new StreamSource("file:\\\\My-path\\birds.xml"), SR );
         catch(Exception e){
         out.println("<p>" + e.toString() + "</p>");
         e.printStackTrace(out);
         out.println("<p>Exception</p>");
              out.println("</body></html>");

    It also looks like the workaround suggested does not work.
    I put the following code as workaround:
         response.setContentType("text/html");
         response.setHeader ("Pragma", "no-cache");
         Transformer transformer;
         TransformerFactory factory = TransformerFactory.newInstance();
         String stylesheet = "config\\closs\\applications\\webroot\\jsp\\example\\Load2.xsl";
         String sourceId = "config\\closs\\applications\\webroot\\jsp\\example\\Load2.xml";
         String outputFile = "config\\closs\\applications\\webroot\\jsp\\example\\Load2.html";
         String outputDirectFile = "config\\closs\\applications\\webroot\\jsp\\example\\Load2_Direct.html";
         try
              PrintWriter fout = new PrintWriter (new FileOutputStream (outputFile));
              OutputStream os = new ByteArrayOutputStream();
              transformer = factory.newTransformer(new StreamSource(stylesheet));
              transformer.transform(new StreamSource(sourceId), new StreamResult(outputDirectFile));
              transformer.transform(new StreamSource(sourceId), new StreamResult(os));
              os.flush ();
              os.close();
              out.print(os.toString());
              fout.print (os.toString ());
              fout.flush ();
              fout.close ();
         catch (Exception e)
              // Error Handler
         e.printStackTrace();
    The two .html files produced look exactly the same, which is good.
    However, the screen output to my html browser (Internet Explorer 5.50 sp1) produces
    different output.
    That is strange, but that shows that this bug does not have a known workaround
    "Rabinowitz" <[email protected]> wrote:
    >
    I have the same problem with java sun xml parser (jaxp 1-1)
    It is interesting to know that all this perfectly works under weblogic
    5.1, so
    I cannot migrate my application to 6.0
    So, the functionality of weblogic 6.0 degraded since 5.1.
    I cannot buy the explanation that that is not bea's fault, because it
    perfectly
    worked with the same version of xml parser.
    Now, their customer support is saying they have not decided whether this
    is a
    bug or a feature.
    Interesting to know that degradation of functionality could be a feature!
    It is now June 21, 3 months since this bug was reported, sp2 was shipped
    since
    that time, and this bug is still there.
    "Chuck H. Zhao" <[email protected]> wrote:
    I am having the exact same problem you are having. If we analyze the
    stack
    trace:
    javax.xml.transform.TransformerException: java.lang.Thread
    at
    org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.j
    ava:1212)
    at
    org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:2894)
    at java.lang.Thread.run(Thread.java:484)
    java.lang.ClassCastException: java.lang.Thread
    at
    weblogic.servlet.internal.ResponseHeaders.setDateHeader(ResponseHeaders.java
    :273)
    at
    weblogic.servlet.internal.ServletResponseImpl.setDateHeader(ServletResponseI
    mpl.java:449)
    at
    weblogic.servlet.internal.ServletResponseImpl.writeHeaders(ServletResponseIm
    pl.java:637)
    at
    weblogic.servlet.internal.ServletOutputStreamImpl.flush(ServletOutputStreamI
    mpl.java:124)
    at
    weblogic.servlet.internal.WLOutputStreamWriter.flush(WLOutputStreamWriter.ja
    va:124)
    at java.io.PrintWriter.flush(PrintWriter.java:120)
    at
    org.apache.xalan.serialize.SerializerToXML.flushWriter(SerializerToXML.java:
    1431)
    at
    org.apache.xalan.serialize.SerializerToXML.endDocument(SerializerToXML.java:
    629)
    at
    org.apache.xalan.transformer.ResultTreeHandler.endDocument(ResultTreeHandler
    ..java:180)
    at
    org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.j
    ava:1194)
    at
    org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:2894)
    at java.lang.Thread.run(Thread.java:484)
    What happened is: to support incremental output, Xalan-Java performs
    the
    transformation in a second thread while building the source tree inthe
    main
    thread. So Transformer.transform() creates a new thread to run the
    transformer.run() method, which will write to weblogic's internal
    ServletOutputStreamImpl, and in the end calls flush() on it.
    ServletOutputStreamImpl determines that the headers haven't been written
    yet, and the headers need to be written before any servlet output, so
    it
    calls ServletResponseImpl.writeHeaders(), which eventually calls
    ResponseHeaders.setDateHeader(). The last method assumes the thread
    is
    weblogic's internal ExecuteThread and tries to cast the thread as such,
    maybe to get the date from it. But the thread is a plain java.lang.Thread
    created by xalan, thus we get the java.lang.ClassCastException:
    java.lang.Thread
    This suggests a second workaround: call ServletResponse.flushBuffer()
    before any xalan stuff, which will force the headers to be written in
    weblogic's ExecuteThread. The shortcoming of this is that this will
    cause
    the response to be commited, and if the xalan stuff throws exception
    you can
    not forward to another page.
    Another thing is that xalan should not directly call flush() on
    ServletOutputStreamImpl at all. I will report it to xalan and see if
    they
    consider that a bug. If they fix that then we have a third workaround:
    set
    the buffer size of ServletResponse big enough to accomodate everything
    including the xslt outputs, so the ServletOutput does not need to be
    flushed
    during xalan code.
    I do not consider this problem a weblogic bug, since the servlet container
    has to right to expect any thread inside it to be its own. Serlvet2.2
    spec
    says:
    1.2 What is a Servlet Container?
    A Servlet Container may place security restrictions on the environment
    that
    a servlet executes in. In
    a Java 2 Platform Standard Edition 1.2 (J2SE) or Java 2 Platform Enterprise
    Edition 1.2 (J2EE)
    environment, these restrictions should be placed using the permission
    architecture defined by Java 2
    Platform. For example, high end application servers may limit certain
    action, such as the creation of
    a Thread object, to insure that other components of the container are
    not
    negatively impacted.
    Weblogic should explicitly warn the developers that creating threads
    inside
    the servlet container may have adverse effects, the same kind of problem
    we
    are having. (or maybe they already did somewhere in their documentation?)
    On the xalan side, I would suggest them to either give the option to
    switch
    the two threads, or to give the option to buffer the output and write
    it out
    in the main thread, which is exactly what you did in your first workaround.
    Any comments or thoughts on the subject are welcome.
    -- Chuck Zhao
    "MK Parini" <[email protected]> wrote in message
    news:[email protected]...
    I found, what I think to be a bug, and a work-around for it.
    When doing an XSLT Transformation, you must specify a StreamResult
    to which to write the output. I was doing my transformation in
    a
    servlet so I was writing my output to the HttpResponse
    (The variable res is a javax.servlet.http.HttpServletResponse
    object)
    StreamResult htmlTarget = new StreamResult(res.getWriter());
    If I use this, when I perform the transformation using the TRAX
    APIs,
    InputStream xslFile = context.getResourceAsStream(fileName);
    TransformerFactory tFactory = TransformerFactory.newInstance();
    Templates xslTemplates = tFactory.newTemplates(new StreamSource(xslFile));
    transformer = xslTemplates.newTransformer();
    transformer.transform(xmlSource, htmlTarget);
    I receive the ClassCastException from the class
    weblogic.servlet.internal.ResponseHeaders.setDateHeader(ResponseHeaders.java
    :273),
    as seen in my previous posting.
    I discovered, if I write my output to a StringBuffer, and then
    I write
    the StringBuffer to the HttpResponse, I do not get the ClassCastException.
    For example,
    StringWriter myWriter = new StringWriter(2400);
    StreamResult htmlTarget = new StreamResult(myWriter);
    <Same transformation code as above>
    myWriter.close();
    PrintWriter out = res.getWriter();
    out.print(myWriter.toString());
    Is this a bug in the weblogic internal servlet class or am I just
    missing something?
    Also, one concern that I have with the workaround is that it might
    hurt performance.
    Any comments or thoughts on the subject are welcome.

  • Thread unserialized exception: NotSerializableException: java.lang.Thread

    hello experts,
    i have this exception coming; seems to be coming from some thread but i removed all the threads from my code, i thought its because of some object which is still unserialized, i am not sure whether this is because of one unserialized object or its because of more reasons, please have a look:
    Exception in client main: java.rmi.UnmarshalException: error unmarshalling return; nested exception is:
         java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: java.lang.Thread
    java.rmi.UnmarshalException: error unmarshalling return; nested exception is:
         java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: java.lang.Thread
         at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:173)
         at BallServerImpl_Stub.getAllBallProxies(Unknown Source)
         at CopyOfManyMovingBalls.<init>(CopyOfManyMovingBalls.java:80)
         at CopyOfManyMovingBalls$2.run(CopyOfManyMovingBalls.java:294)
         at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    Caused by: java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: java.lang.Thread
         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1333)
         at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
         at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
         at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
         at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:306)
         at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:155)
         ... 11 more
    this is coming  when i m accessing this method:
    class BallServerImpl extends UnicastRemoteObject
    implements BallServer
    * @return an enumeration of all Balls as proxy objects
    public Ball[] getAllBallProxies() throws java.rmi.RemoteException
         Ball[] locations1 = new Ball[hash.size()];
    java.util.Enumeration iter = hash.elements();
    int idx = 0;
    while (iter.hasMoreElements())
         BallImpl impl = (BallImpl)iter.nextElement();
    locations1[idx++] = new BallProxy(impl);
    return locations1;
    why this function is running fine when i m calling this from client unlike getAllBallProxies() nevertheless both are returning the same thing:
    * @return an enumeration of all Balls as remote references
    public Ball[] getAllBalls()
         Ball[] locations = new Ball[hash.size()];
    java.util.Enumeration iter = hash.elements();
    int idx = 0;
    while (iter.hasMoreElements())
    locations[idx++] = (Ball)iter.nextElement();
    return locations;
    the proxy Class:
    * The Proxybouncing ball.
    public class BallProxy implements Serializable,Ball {
    * The Real bouncing ball.
    public class BallImpl extends UnicastRemoteObject implements IBallRemote,Serializable
    *load of thanks as this is "SHOW STOPPER",
    jibbylala*
    Edited by: 805185 on Oct 25, 2010 8:33 PM
    Edited by: 805185 on Oct 25, 2010 8:39 PM
    Edited by: 805185 on Oct 25, 2010 9:21 PM
    Edited by: 805185 on Oct 25, 2010 9:25 PM
    Edited by: 805185 on Oct 25, 2010 9:27 PM
    Edited by: 805185 on Oct 25, 2010 9:46 PM

    that there was some thread there in BallProxy but i removed all from them and now testingIf you don't post the code people ask to see, you may never get a useful answer here.
    P.S i didn't know that threads are not SerializedThe Thread class is not Serializable. Precision please.
    Now i m updating the code, i needed the confirmationConfirmation of what?
    and now trying to avoid them.Them?
    But what if i need them.Them?
    Please make the effort to express yourself clearly. You've already been told you're not making much sense and you haven't done anything about it.
    how can we make serialized?The concept of serializing a Thread makes no sense whatsoever. You don't want to do it. You don't need to do it. You can't do it. It wouldn't work if you could do it.
    Somewhere or other you have a class member that is a reference to a Thread. Remove it or make it transient. If you post the code somebody may help you. If you don't, nobody can possibly do that.

  • Deprecated methods in java.lang.thread

    Hi,
    I am getting the followng warning message when i run my code:
    The method void stop() in class java.lang.Thread has been deprecated,
    can anyone suggest an alternative method to the deprectaed stop method, i can't seem to find one.
    Thanks in advance

    The stop() method in thread has been deprecated because it is inherently dangerous. The suggested action now is to simply modify a variable inside the thread to tell it to stop running, and the thread should periodically check the variable to see when it should stop. There's good description of why stop() and a few other methods in Thread have been deprecated at..
    http://java.sun.com/j2se/1.4/docs/guide/misc/threadPrimitiveDeprecation.html

  • Collection not in context? java.lang.Exception: java.lang.Thread.dumpStack(Thread.java:1342)

    Hi
    I am using JDev12c. I have an isolated taskflow that is consuming three more taskflow as a region.
    This is the scenario: I have a viewObject showing UserDetails. So I have make a taskflow to show the user details in a form. Now, the userDetalsVO has a ViewLink with itself (Managers having employees under their supervision).
    LoggedInUser (userVO)
         - Employees (userVO)
    I have created the list of employee using the Employees Iterator. However, every time I select an employee the console throw the following error:
    <The row key or row index of a UIXCollection component is being changed outside of the components context. Changing the key or index of a collection when the collection is not currently being visited, invoked on, broadcasting an event or processing a lifecycle method, is not valid. Data corruption and errors may result from this call. Turn on fine level logging for a stack trace of this call. Component ID: {0}>
    java.lang.Exception: Stack trace:
    at java.lang.Thread.dumpStack(Thread.java:1342)
      at org.apache.myfaces.trinidad.component.UIXCollection._verifyComponentInContext(UIXCollection.java:2212)
      at org.apache.myfaces.trinidad.component.UIXCollection.setRowKey(UIXCollection.java:524)
      at oracle.adf.view.rich.component.rich.data.RichListView.visitChildren(RichListView.java:112)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:703)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:566)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:362)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitAllChildren(UIXComponent.java:445)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:423)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:703)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:566)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:362)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitAllChildren(UIXComponent.java:445)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:423)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:703)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:566)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:362)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitAllChildren(UIXComponent.java:445)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:423)
      at oracle.adf.view.rich.component.fragment.UIXRegion.visitChildren(UIXRegion.java:952)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:703)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:566)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:362)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitAllChildren(UIXComponent.java:445)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:423)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:703)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:566)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:362)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitAllChildren(UIXComponent.java:445)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:423)
      at oracle.adf.view.rich.component.fragment.UIXRegion.visitChildren(UIXRegion.java:952)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:703)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:566)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:362)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitAllChildren(UIXComponent.java:445)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:423)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:703)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:566)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:362)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitAllChildren(UIXComponent.java:445)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:423)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:703)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:566)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:362)
      at org.apache.myfaces.trinidad.component.UIXShowOne.visitTree(UIXShowOne.java:135)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitAllChildren(UIXComponent.java:445)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:423)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:703)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:566)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:362)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitAllChildren(UIXComponent.java:445)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:423)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:703)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:566)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:362)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitAllChildren(UIXComponent.java:445)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:423)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:703)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:566)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:362)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitAllChildren(UIXComponent.java:445)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:423)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:703)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:566)
      at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:362)
      at javax.faces.component.UIComponent.visitTree(UIComponent.java:1623)
      at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._deliverPostRestoreStateEvents(LifecycleImpl.java:852)
      at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._restoreView(LifecycleImpl.java:791)
      at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:397)
      at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:225)
      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
      at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)
      at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)
      at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)
      at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:341)
      at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
      at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:192)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
      at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
      at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:478)
      at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
      at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:478)
      at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:303)
      at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:208)
      at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
      at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:137)
      at java.security.AccessController.doPrivileged(Native Method)
      at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
      at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460)
      at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:120)
      at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:217)
      at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:81)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
      at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:225)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
      at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
      at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3367)
      at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3333)
      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
      at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
      at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
      at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2220)
      at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2146)
      at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2124)
      at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1564)
      at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:254)
      at weblogic.work.ExecuteThread.execute(ExecuteThread.java:295)
      at weblogic.work.ExecuteThread.run(ExecuteThread.java:254)
    The front end behaves fine though but that error in the console is bugging me.
    Any Ideas??
    Regards

    Well, have you run the app with logging set to fine as the message suggested?
    Turn on fine level logging for a stack trace of this call. Component ID: {0}
    Then a test case and a detailed description on how to reproduce the error, built on the hr  schema, can help.
    Timo

  • Questions with java.lang.Class

    1.What's the use of Class.getClasses() & Class.getDeclaredClasses()?
    I wrote the class below:
    public class ClassDemo {
       public String str = new String();
       public Integer inte = new Integer(0);
       public static void main(String[] args) throws Exception {
         ClassDemo cd = new ClassDemo();
         Class c = cd.getClass();
         Class classes[] = c.getDeclaredClasses();
         for(int i = 0; i <= classes.length; i++) {
            System.out.println(classes.getName());
    But it thrown java.lang.ArrayIndexOutOfBoundsException.
    I checked, just because the classes.length is zero.
    Why? I declared two String class inside the ClassDemo,but why the getDeclaredClasses() return zero class?
    What does the declared classes mean?
    And , what 's the difference between getClasses() & getDeclaredClasses()?
    Can u give me an example?
    2.What's the use of Class.getComponentType()? what is the component type ?

    Dude, they never give you a direct answer on this
    forum. read it as they never spoon feed you(actually they do somethimes!).
    They much prefer to have you spend more time
    trying to figure it out for yourself (which is good)
    than you already have done. And, if you're like me,
    you've probably been giving whatever your problem is
    a blast for a number of days before you've given in
    and come here to ask this wretched batch of not very
    helpful individuals.You think this wonderful batch of highly helpful indivisuals get paid for answering your question. They tell you where your mouth is, where the food is, even how to grab it and eat it. If you are expecting them to grab it and put it into your mouth.....you need to checkout the best kindergarten around. Best of Luck.
    Oh, once your page drops off the first page in the
    forum, no one will ever read if again!If you have taken notice you would know that hardly a question goes past the first page, if it really does then it either has to be a cross-post/something irrelevant/ wrong forum /written by a boor(I mean someone like u).
    I've found answers for all my questions I've asked them so far. I find this place wonderful to hang out rather than trawling the web for interview questions. May be u should change your attitude.

  • I've extended java.lang.Thread.  How do I get WebLogic to use my version?

    I want to add a String attribute to the thread class to save some extra info I need. I extended the Thread class with a private String with getter/setter methods.
    Since WebLogic instantiates the threads and not my own code, how do I get WebLogic to use my version of Thread instead of the one from java.lang?
    -Bill

    I don't think it's possible to have WLS use your own thread implementation for WLS internals. However, for your own custom work, it's pretty straight-forward to use the CommonJ Work Manager API and add your own implementation details for a thread pool.
    See documentation: http://download.oracle.com/docs/cd/E12839_01/web.1111/e13701/self_tuned.htm#i1069944
    WorkManager Javadocs: http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13941/index.html?commonj/work/WorkManager.html
    Specifically providing your own Work interface implementation should hopefully allow you to meet your need.
    Edited by: james.bayer on Feb 15, 2010 6:40 AM

  • Java.lang.NoSuchMethodError JAR problem

    Hi
    Running on Pocket PC using IBMs j9.
    If we build Jar A with a different library Jar B where a method in a class in A refers to a method in a class in B we get java.lang.NoSuchMethodError at runtime. Despite the fact that in jar B the Class and it's methods have not changed.
    This is worrying. Anybody got an explanation?
    Many thanks
    Ged
    a copy of any comment to [email protected] would be appreciated

    Hi
    Both jars are our own libraries. If we compare a calling jar (A) compiled against different called jars (B) then they are different !*@???
    I agree that one might expect that it is finding another implementation on the class path that is missing the method but I haven't found anything . The environment is an XDA 2 so it is limited.
    To add insult to injury we seem to have found another, different instance of the problem today.
    I must admit that I feel that we are missing something (brains ?).
    Cheers
    Ged

  • ThreadInfo's getThreadId() == java.lang.Thread's getId() ?

    Hi Folks
    I am trying to add MBean to show CPU consumption of various threads in my application.
    The threads created during the course of the application execution are maintained in a vector list.
    In my instrumentation code, I use this list of threads and
    a) iterate over each Thread instance and get its thread id ( thread.getId() )
    b) Using this long value, I determine the CPU consumption of this thread as :
    ThreadMXBeanInstance. getThreadCpuTime(threadId)
    However this does not seem to be giving me the correct value.
    On debugging using a generic program, where I print the thread ID , name, CPU consumption of all the threads in the JVM, as :
    ThreadMXBeanInstance.getAllThreadIds()
    for( each ThreadInfo...)
    //print attributes using ThreadInfo.getThreadName(..)..getThreadId(..)...etc..
    the thread ID printed by ThreadInfo.getThreadId() seems to be always +1 + the threadID got as in (a))+.
    Please let me know if you can throw some light on the above subject?
    ps : I am using Java 6, u10 on a WINXP, SP2 + 2CPU Intel Core processor with 2 GHz & 2GB memory.
    Great Thanks in advance.

    Hi,
    Are you sure you haven't made a mistake somewhere?
    Here is a small program that iterates over the threads and print their name and thread id has obtained from Thread and ThreadInfo. I've run it on JDK 6u10 and as you can see the information match. What do you get if you run it on your install? (hint: run it with -Dcom.sun.management.jmxremote to get the same results than I).
    Here the program:
    package threadid;
    import java.lang.management.ManagementFactory;
    import java.lang.management.ThreadInfo;
    import java.lang.management.ThreadMXBean;
    * @author dfuchs
    public class Main {
         * @param args the command line arguments
        public static void main(String[] args) {
            // TODO code application logic here
            final ThreadMXBean tmb = ManagementFactory.getThreadMXBean();
            final Thread[] ts = new Thread[tmb.getThreadCount()];
            ThreadGroup tg = Thread.currentThread().getThreadGroup();
            while (tg.getParent()!=null) {
                tg = tg.getParent();
            tg.enumerate(ts,true);
            for (Thread t : ts) {
                if (t==null) continue;
                final ThreadInfo ti = tmb.getThreadInfo(t.getId());
                System.out.println(t.getName()+"[id="+t.getId()+"]: name=" +
                        ti.getThreadName()+", id="+ti.getThreadId());
    }Here is the output:
    Reference Handler[id=2]: name=Reference Handler, id=2
    Finalizer[id=3]: name=Finalizer, id=3
    Signal Dispatcher[id=4]: name=Signal Dispatcher, id=4
    RMI TCP Accept-0[id=9]: name=RMI TCP Accept-0, id=9
    main[id=1]: name=main, id=1Hope this helps,
    -- daniel
    [http://blogs.sun.com/jmxetc|http://blogs.sun.com/jmxetc]

  • faultstring java.lang.NullPointerException /faultstring problem

    Have been successfully working on a project using pl/sql web services. Everything has been working great until today. When I deploy a new version of my web services all looks good.
    Command = REDEPLOY
    Reading application's ear file
    Ear file was successfully read
    Opening connection to Oc4jDcmServlet
    Setting userName to ias_admin
    Sending command to DCM servlet
    HTTP response code = 200, HTTP response msg = OK
    Command was successfully sent to Oc4jDcmServlet
    Receiving session id from servlet to check command status
    Session id = 89be090571294c0b27350d54e06a0c98648307c0c09
    Please, wait for command to finish...
    Checking command status...
    Setting userName to ias_admin
    Setting Cookie to JSESSIONID=89be090571294c0b27350d54e06a0c98648307c0c09
    Checking command status
    HTTP response code = 200, HTTP response msg = OK
    Command has not finished yet
    Checking command status...
    Setting userName to ias_admin
    Setting Cookie to JSESSIONID=89be090571294c0b27350d54e06a0c98648307c0c09
    Checking command status
    HTTP response code = 200, HTTP response msg = OK
    Command has finished
    Receiving command exit value
    Receiving command output
    **** No output was received from command
    Closing connection to Oc4jDcmServlet
    DCM command completed successfully.
    Output:
    Exit status of DCM servlet client: 0
    Elapsed time for deployment: 21 seconds
    ---- Deployment finished. ---- Aug 22, 2006 8:05:34 AM
    But when trying to execute any procedure in the package that is exposed as a web service I now get the following error:
    - <SOAP-ENV:Fault>
    <faultcode>SOAP-ENV:Server.Exception:</faultcode>
    <faultstring>java.lang.NullPointerException</faultstring>
    <faultactor>/TAS-TAS_WEBSERVICE-context-root/TAS_WebService1</faultactor>
    </SOAP-ENV:Fault>
    As far as I can tell nothing has changed. These are procecures that have been working for months now that generate this error. I am using JDEV 9052 to deploy to our OAS 10g.
    Any ideas? I am at a loss

    I have fixed the problem, but still not sure what caused it. I redeployed the app from a different machine and it all works again. Not sure what caused it to stop working when deployed from the original machine.

Maybe you are looking for

  • ITunes keeps opening MS Outlook configuration each time I try to sync...

    This is ultra annoying, iTunes keeps re-opening the MS Outlook mailbox configuration wizard over and over as it tries to sync. I don't use MS Outlook at all (I have it installed but don't use it). iTunes is not configured to sync anything with Outloo

  • Planet Gravity Help

    I am making a game where a character is on a planet (circle) and I want him to be able to walk around the border of the planet. Kind of like "Super Mario Galaxy" for the Wii but in 2D. Ive already made my character able to walk and jump using the arr

  • Weblogic's thread management

    Hi, I'm thinking on some issues related to Weblogic thread management. Suppose I start a thread (either on an startup class or from a servlet) that I want to perform some background work (I have readed it's out of the specs to start transactions from

  • Network Adapter for G41-Z77A?

    Hey, so one day my internet stopped working after my friend moved my computer, and judging from the fact that I can't find the network adapter in the hardware when looking at the system specs  (that thing that usually says what drivers you have insta

  • Where is Java DB in JDK 6?

    The Java DB documentation seems to tell us only that it's now in JDK 6. The JDK 6 documentation seems to tell us only that JDK 6 "co-bundles" Java DB. If the documentation answers my question, the answer is not easy to find. Attempting to follow the