1142 AP disassociate from WISM code 7.0.116.0

We see different 1142 APs disassociate from wisms from time to time. When it happens, we have to do shutdown and no shutdown on the switch port to bring the APs back. It just starts to happen after we upgraded wisms to code 7.0.116.0 and it only happens to c1142 APs. It does not happen very often (about 2 issues each week). Anyone see this issue as well?
Zhenning

Any ideas why we need to upgrade the bootstrap?
There are some issues with the 1140.  This is why it's only this model that a boostrap is an optional install (autonomous or capwap use).  I'd recommend, if you have the time, to do so.
Unfortunately, I have no idea how you "force" the bootstrap upgrade if you have CAPWAP/LWAP.  The only way I can think of is downgrade to autonomous, upgrade the boostrap and convert to CAPWAP/LWAP.  Long process.

Similar Messages

  • Migrate AP from WiSM to Virtual WLC

    Hello all,
    We have WiSM installed in Core Switch 6500 having 300+ AP registered on it.
    We want to migrate our AP's to new Virtual WLC. What is the best way to migrate AP to new vWLC with less down time.
    Can we migrate AP's from WiSM to Virtual WLC in bulk ( all in one time)? I read some where in form that AP version 7.3 & above start supporting vWLC. I am not sure if this applies for WisM as well ( i am assuming WiSM & WLC are differnt) ?
    My WiSM is running 7.0.240.0 & vWLC is 7.4. please check the WiSM attachments.
    Also is there any way to take backup from WiSM and restore on vWLC ?
    Regards.

    Hi,
    First of all, in order to reduce downtime, I would recommend that you upload the 7.4 code on the WiSM and predownload it to all the APs. (Wireless -> Global Configuration - AP Image Pre-download).
    Another thing would be to configure the vWLCs as back-up Primary & Secondary Controllers (Wireless -> Global Configuration - High Availabiliy). Doing this your APs will already know about the new WLC when the first will go down and will not have to go through discovery process. (test from AP CLI with show capwap client config)
    For the AP mode "mass-conversion" to flexconnect I don't know a better way than from WLC CLI, using:
    config ap mode flexconnect submode none AP_NAME_1
    config ap mode flexconnect submode none AP_NAME_300
    You could use text file to edit the the command with the AP names and than paste it all at once in the WLC. It would be wise to test it first with a few lines.
    If you did all this, when your old WLC goes down all your APs should associate to the new WLCs.
    Best regards,
    Sebastian

  • APs randomly disassociate from WLC ver 4.1.185.0

    I have a WLC 4402 with about 45 1010 APs installetion
    WLC code version 4.1.185.0 and APs randomly disassociate from WLC - it happens usually one-two times a day
    with an errors:
    AP's Interface:1(802.11b) Operation State Up: Base Radio MAC:00:0b:85:xx:xx:xx Cause=Unknown
    AP's Interface:1(802.11b) Operation State Down: Base Radio MAC:00:0b:85:xx:xx:xx Cause=Max Retrasmission
    I've tried the suggested solutions putting a static ARP entry and moving AP's to different VLAN but nothing works unless the AP's physically rebooted.
    I think the problem begin just after upgrading to 4.0.217.0
    please note when AP's disassociates from WLC its still reachable via ping
    Are there any specific requirements for newer versions?
    Please advice

    Layer 2 mode uses a different non-routable method of AP to WLC connection. By moving to layer 3 you enabled IP on the access points. This is why you were able to reassociate. Layer 2 should only be used when all the APs and the controller are on the same network segment. Bear in mind, Layer 3 is your friend. It will allow latency based applications to work much better and more reliable. Layer 2 is really only used to prepare the APs for some specific configurations that require a quick, clean connection to a controller.

  • Generation of xml file from java code

    hi,
    I want to manipulate data in a xml file with java code.I have read data from xml file and also changed it. But i am unable to covert it again in xml file from java code. Can you please tell me how i can do this?

    Let me know which parser are you using currently for reading xml files so that i assist you. For now, you can refer to STAX Parser API under this link
    http://java.sun.com/webservices/docs/1.6/tutorial/doc/SJSXP3.html

  • How to delete protlet from the code?

    Hi All,
    I want to delete the portlet at runtime (means from code) so does anyone has any idea how to do it?
    Scenario - I have home page, there I have 5-8 portlets so I want to provide functionality to end user so they can delete and add the same portlet. So, for that I have created one more portlet which is on another page, from that portlet I am deleting one specific portlet by passing it's portlet instance ID.
    I have written following code to delete it but it doesn't work out. I am not getting any exception while executing below code but it doesn't delete the portlet , so when I go back to home page I can see that portlet. FYI, It prints all SOPs.
    I have written following code in backing file which is at page level (not on Home page).
    String LOOKUP_NAME = com.bea.p13n.management.ApplicationHelper.getApplicationName() +"."+
         com.bea.netuix.application.manager.persistence.PortalCustomizationManagerHome.LOOKUP_NAME;
         Object obj = JndiHelper.lookup(LOOKUP_NAME, com.bea.netuix.application.manager.persistence.PortalCustomizationManager.class);
         System.out.println("=========="+obj.getClass().getName());
         com.bea.netuix.application.manager.persistence.PortalCustomizationManagerHome home = (com.bea.netuix.application.manager.persistence.PortalCustomizationManagerHome)obj;
         System.out.println("[HomePageBacking][Home]"+home);
         com.bea.netuix.application.manager.persistence.PortalCustomizationManager portalCustomizationManager = home.create();
         System.out.println("[HomePageBacking][portalCustomizationManager]"+portalCustomizationManager);
         com.bea.netuix.application.manager.CustomizationContext customizationContext = new com.bea.netuix.application.manager.CustomizationContext(request);
         System.out.println("[HomePageBacking][customizationContext]"+customizationContext);
         customizationContext.setVisitorMode(true);
         System.out.println("-------getParameter--------"+request.getParameter("instanceID"));
         String instanceID = request.getParameter("instanceID");
         if(instanceID != null)
              com.bea.netuix.application.identifier.PortletInstanceId portletInstanceId = com.bea.netuix.application.identifier.PortletInstanceId.createPortletInstanceId(Integer.parseInt(instanceID));
              //portletInstanceId.setId(Integer.parseInt(instanceID));
              System.out.println("[HomePageBacking][customizationContext.isVisitorMode()]"+customizationContext.isVisitorMode());
              System.out.println("[HomePageBacking][portletInstanceId.getId()]"+portletInstanceId.getId());
    portalCustomizationManager.deletePortletInstance(customizationContext, portletInstanceId);
    with the last line of above code it should delete that portlet for that user but it doesn't work.
    So, any one has any idea on this?? I appreciate your help.
    Thanks,
    HJ

    Following is the code to delete the portlet at runtime of from your code.
    String webApp = ApplicationHelper.getWebAppName(request);
    ResourceContext resourceContext = ResourceContext.createResourceContext(request, true);
    String deletePortletId = "XXXXXX"; // This you can get it from request or from session
    List<ControlAction> actions = new ArrayList<ControlAction>();
    com.bea.netuix.application.identifier.Id id = new PortletInstanceId(Integer.valueOf(deletePortletId).intValue());
    actions.add(PageInstanceAction.removePlaceableFromPageInstance(pageControl, (PlaceableInstanceId) id, webApp,
                             new PortalPath(portalPath), new DesktopPath(desktopPath)));
    portalControl.executeActions(actions, resourceContext);
    I hope this will help someone who wants to delete portlet at runtime fron code.
    Thanks,
    HJ

  • How to call a .bat file from java code?

    How to call a .bat file from java code? and how can i pass parameters to that .bat file?
    Thanks in advance

    thanks for ur reply
    but still i am getting the same error.
    I am trying to run a .bat file of together tool, my code looks like below
    import java.lang.Runtime;
    import java.lang.Process;
    import java.io.File;
    class SysCall{
         public static void main(String args[]){
              String cmd="D://Borland//Together6.2//bin//Together.bat -script:com.togethersoft.modules.qa.QA -metrics out:D://MySamples//Metrics// -fmt:html D://Borland//Together6.2//samples//java//CashSales//CashSales.tpr";
              //String path="D://Borland//Together6.2//bin//Together.bat ";
              Runtime r= Runtime.getRuntime(); //Declare the system call
              try{
                   System.out.println("Before batch is called");
                   Process p=r.exec(cmd);
                   System.out.println(" Exit value =" + p.exitValue());
                   System.out.println("After batch is called");
              /*can produce errors which must be caught*/
              catch(Exception e) {
                   e.printStackTrace();
                   System.out.println (e.toString());
    I am getting the below exception
    Before batch is called
    java.lang.IllegalThreadStateException: process has not exited
    at java.lang.Win32Process.exitValue(Native Method)
    at SysCall.main(SysCall.java:17)
    java.lang.IllegalThreadStateException: process has not exited

  • How to change Crystal Reports XI database name at run time from ASP code using ADO

    Dear All,
    I need advises regarding to my problem below
    I have two database in same SQL 2005 SERVER for TEST01 and LIVE01 Environtment, and I've created more than 100 reports with Crystal Reports 11 and call it from ASP classic page.
    The problem is how can I change a database from TEST01 to LIVE01 at the run time from ASP code as I already using TEST01 database on Crystal Reports and I do not want to set a new database location inside crystal for each reports
    Thanks and wait for your reply soon.
    Below is my code, which has no effect to crystal reports although I've change the database from TEST01 to LIVE01:
    <%
    Dim oADOConnection, oRptTable, oADORecordset, sql
    Dim struser, strpwd, strdriver, dblocation, dbname, strConnect
    struser = "sa"
    strpwd = ""     
    strdriver = "{SQL SERVER}" 
    dblocation = "SQL200501"     
    dbname = "LIVE01"    ' Changed from TEST01 to LIVE01
    strConnect = "User Id=" & strUser & ";"
    strConnect = strConnect & "PWD=" & strPwd & ";"
    strConnect = strConnect & "DRIVER=" & StrDriver & ";"
    strConnect = strConnect & "SERVER=" & DBLocation & ";"
    strConnect = strConnect & "DATABASE=" & dbName
    sql="Select * from Employee"
    Set session("oApp") = Server.CreateObject("CrystalRuntime.Application.11")
    Set session("oRpt") = session("oApp").OpenReport("C:\REPORTS\RPT01.RPT", 1) 'USING TEST01 DATABASE
    session("oRpt").MorePrintEngineErrorMessages = False
    session("oRpt").EnableParameterPrompting = False
    session("oRpt").DiscardSavedData
    Set oADOConnection = Server.CreateObject("ADODB.Connection")
    oADOConnection.Open (strConnect)
    Set oADORecordset = Server.CreateObject("ADODB.Recordset")
    Set oRptTable = session("oRpt").Database.Tables.Item(1)
    oRptTable.SetDataSource oADORecordset, 3
    session("oRpt").SQLQueryString = CStr(sql)
    session("oRpt").ReadRecords
    %>

    Did you ever find a solution to this problem?  I have the same problem when moving reports from development to Test to Production environments.  If the DBName is not the same the report ignores the name provided at runtime.

  • How to pass arguments to a batch file from java code

    Hi
    I have a batch file (marcxml.bat) which has the following excerpt :
    @echo off
    if x==%1x goto howto
    java -cp C:\Downloads\Marcxml\marc4j.jar; C:\Downloads\Marcxml\marcxml.jar; %1 %2 %3
    goto end
    I'm calling this batch file from a java code with the following line of code:
    Process p = Runtime.getRuntime().exec("cmd /c start C:/Downloads/Marcxml/marcxml.bat");
    so ,that invokes the batch file.Till that point its ok.
    since the batch file accpets arguments(%1 %2 %3) how do i pass those arguments to the batch file from my code ...???
    %1 is a classname : for ex: gov.loc.marcxml.MARC21slim2MARC
    %2 is the name of the input file for ex : C:/Downloads/Marcxml/source.xml
    %3 is the name of the output file for ex: C:/Downloads/Marcxml/target.mrc
    could someone help me...
    if i include these parameters too along with the above line of code i.e
    Process p = Runtime.getRuntime().exec("cmd /c start C:/Downloads/Marcxml/marcxml.bat gov.loc.marcxml.MARC21slim2MARC C:\\Downloads\\Marcxml\\source.xml C:\\Downloads\\Marcxml\\target.mrc") ;
    I get the following error :
    Exception in thread main java.lang.Noclassdef foundError: c:Downloads\marcxml\source/xml
    could some one tell me if i'm doing the right way in passing the arguments to the batch file if not what is the right way??
    Message was edited by:
    justunme1

    1 - create a java class (Executer.java) for example:
    import java.lang.reflect.InvocationTargetException;
    import java.lang.reflect.Method;
    public class Executer {
         public static void main(String[] args) {
              try {
                   for (int i = 0; i < args.length; i++) {
                        System.out.println(args);
                   Class<?> c = Class.forName(args[0]);
                   Class[] argTypes = new Class[] { String[].class };
                   Method main = c.getDeclaredMethod("main", argTypes);
                   // String[] mainArgs = Arrays.copyOfRange(args, 1, args.length); //JDK 6
                   //jdk <6
                   String[] mainArgs = new String[args.length - 1];
                   for (int i = 0; i < mainArgs.length; i++) {
                        mainArgs[i] = args[i + 1];
                   main.invoke(null, (Object) mainArgs);
                   // production code should handle these exceptions more gracefully
              } catch (ClassNotFoundException x) {
                   x.printStackTrace();
              } catch (NoSuchMethodException x) {
                   x.printStackTrace();
              } catch (IllegalAccessException x) {
                   x.printStackTrace();
              } catch (InvocationTargetException x) {
                   x.printStackTrace();
              } catch (Exception e) {
                   e.printStackTrace();
    2 - create a .bat file:
    @echo off
    java -cp C:\Downloads\Marcxml\marc4j.jar; C:\Downloads\Marcxml\marcxml.jar; Executer %TARGET_CLASS% %IN_FILE% %OUT_FILE%3 - use set command to pass variable:
    Open MS-DOS, and type the following:
    set TARGET_CLASS=MyTargetClass
    set IN_FILE=in.txt
    set OUT_FILE=out.txt
    Then run your .bat file (in the same ms dos window)
    Hope that Helps

  • Running a jar file from java code

    Hi!
    Im trying to run a jar file from my code.
    I've tried Classloader, but that doesnt work because it doesnt find the images (also embedded in the 2nd jar file).
    WHat I would like to do is actually RUN the 2nd jar file from the first jar file. There must be a way to do this right?
    any ideas?

    ok, I found some wonderful code (see below) that will try to start the jar. But it doesn't. What it does is produce the following error when my application runs...
    So it's not finding the images in the jar file that I am trying to run? Strange. I checked the URL that sending, but it seems ok....
    I think I will check the url again to make sure......
    any ideas?
    Uncaught error fetching image:
    java.lang.NullPointerException
         at sun.awt.image.URLImageSource.getConnection(Unknown Source)
         at sun.awt.image.URLImageSource.getDecoder(Unknown Source)
         at sun.awt.image.InputStreamImageSource.doFetch(Unknown Source)
         at sun.awt.image.ImageFetcher.fetchloop(Unknown Source)
         at sun.awt.image.ImageFetcher.run(Unknown Source)
    the code....
    /* From http://java.sun.com/docs/books/tutorial/index.html */
    import java.io.IOException;
    import java.lang.reflect.InvocationTargetException;
    import java.lang.reflect.Method;
    import java.lang.reflect.Modifier;
    import java.net.JarURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.net.URLClassLoader;
    import java.util.jar.Attributes;
    * Runs a jar application from any url. Usage is 'java JarRunner url [args..]'
    * where url is the url of the jar file and args is optional arguments to be
    * passed to the application's main method.
    public class JarRunner {
      public static void main(String[] args) {
        URL url = null;
        try {
          url = new URL(args[0]);//"VideoTagger.jar");
        } catch (MalformedURLException e) {
          System.out.println("Invalid URL: ");
        // Create the class loader for the application jar file
        JarClassLoader cl = new JarClassLoader(url);
        // Get the application's main class name
        String name = null;
        try {
          name = cl.getMainClassName();
        } catch (IOException e) {
          System.err.println("I/O error while loading JAR file:");
          e.printStackTrace();
          System.exit(1);
        if (name == null) {
          fatal("Specified jar file does not contain a 'Main-Class'"
              + " manifest attribute");
        // Get arguments for the application
        String[] newArgs = new String[args.length - 1];
        System.arraycopy(args, 1, newArgs, 0, newArgs.length);
        // Invoke application's main class
        try {
          cl.invokeClass(name, newArgs);
        } catch (ClassNotFoundException e) {
          fatal("Class not found: " + name);
        } catch (NoSuchMethodException e) {
          fatal("Class does not define a 'main' method: " + name);
        } catch (InvocationTargetException e) {
          e.getTargetException().printStackTrace();
          System.exit(1);
      private static void fatal(String s) {
        System.err.println(s);
        System.exit(1);
    * A class loader for loading jar files, both local and remote.
    class JarClassLoader extends URLClassLoader {
      private URL url;
       * Creates a new JarClassLoader for the specified url.
       * @param url
       *            the url of the jar file
      public JarClassLoader(URL url) {
        super(new URL[] { url });
        this.url = url;
       * Returns the name of the jar file main class, or null if no "Main-Class"
       * manifest attributes was defined.
      public String getMainClassName() throws IOException {
        URL u = new URL("jar", "", url + "!/");
        JarURLConnection uc = (JarURLConnection) u.openConnection();
        Attributes attr = uc.getMainAttributes();
        return attr != null ? attr.getValue(Attributes.Name.MAIN_CLASS) : null;
       * Invokes the application in this jar file given the name of the main class
       * and an array of arguments. The class must define a static method "main"
       * which takes an array of String arguemtns and is of return type "void".
       * @param name
       *            the name of the main class
       * @param args
       *            the arguments for the application
       * @exception ClassNotFoundException
       *                if the specified class could not be found
       * @exception NoSuchMethodException
       *                if the specified class does not contain a "main" method
       * @exception InvocationTargetException
       *                if the application raised an exception
      public void invokeClass(String name, String[] args)
          throws ClassNotFoundException, NoSuchMethodException,
          InvocationTargetException {
        Class c = loadClass(name);
        Method m = c.getMethod("main", new Class[] { args.getClass() });
        m.setAccessible(true);
        int mods = m.getModifiers();
        if (m.getReturnType() != void.class || !Modifier.isStatic(mods)
            || !Modifier.isPublic(mods)) {
          throw new NoSuchMethodException("main");
        try {
          m.invoke(null, new Object[] { args });
        } catch (IllegalAccessException e) {
          // This should not happen, as we have disabled access checks
    }

  • Starting exetutable java file from java code

    Hi I was wondering how I can start a executable java file from java code?
    thanks

    Hi Mkaveli,
    Yes, it's possible. If you have a JAR executable, you've just to call the main method of its starter class. For a simple executable class, just call its main method.
    This way :
    SomeStarter.main(null); // if there's no argumentSmall precision : the executable JAR or class must be specified in the classpath of your application.

  • How to modify an existing xml file from java code.

    Hi
    I have worked on creating a new xml file from java code using xmlbeans.But if i try to modify an already existing file using java code I am unable to get errorfree xmlfile.
    For example if xml file(studlist.xml) is as below:
    <?xml version="1.0" encoding="UTF-8"?>
    <StudentList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="D:\kchaitanya\xmlprac1\abc\Studlist.xsd">
         <Student>
              <Name>ram</Name>
              <Age>27</Age>
         </Student>
    <Student>
              <Name>sham</Name>
              <Age>26</Age>
         </Student>
    </StudentList>
    Now suppose i have set name to victor using student.setName,
    and set age to 20 using setAge from javacode,
    the new xml file is as follows:
    <?xml version="1.0" encoding="UTF-8"?>
    <StudentList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="D:\kchaitanya\xmlprac1\abc\Studlist.xsd">
         <Student>
              <Name>ram</Name>
              <Age>27</Age>
         </Student>
    <Student>
              <Name>sham</Name>
              <Age>26</Age>
         </Student>
    </StudentList>
    <Student>
              <Name>victor</Name>
              <Age>20</Age>
         </Student>
    As observed this is not a valid xml file.But how can i modify without any errors?

    I know it's an old post, but I found this while doing a google search for something else, and don't like to leave it un-aswered
    Just in case anyone has a similar problem... In this case the new elements have been appended outside of the root element
    What you need to do is first get the root element and then append the new children to that, there are several ways of getting the root element, which depend on what you want to do with the elements you get back here's a simple (incomplete) way.
    // gets the root element of the specified file (code not shown)
    Element rootElement= new SAXReader().read(file).getRootElement();Then just append the new elements as below (this is non-generic code and would need to be modified for your situation)
    // write a new student element
    Element student = document.createElement("Student");  // creates the new student
    rootElement.appendChild(student); // ***appends it to the root element***
    Element name = document.createElement("Name"); // creates the name element
    name.appendChild(document.createTextNode("Fred")); // adds the name text to the name element
    student.appendChild(name); // appends the name to the student
    Element age= document.createElement("Age"); // creates the age element
    age.appendChild(document.createTextNode("26")); // adds the age text to the age element
    student.appendChild(age); // appends the name to the studentThen flush ya buffers or whatever and write the file
    Edited by: Dream-Scourge on Apr 23, 2008 11:10 AM

  • With holding tax decuction from T.Code F-02 with out sp. gl indicator

    Hi All,
    While making the payt to service vendor my client do not want to use the functionality of advance payt, which can be performed through T.code F-48. They wants to treat this advance payt as a normal payt to vendor but they want to deduct the with holding tax from this payt.
    I have tries to use T.code F-02 with posting keys 25 Dr Vendor & 50 cr Bank. But when i am using this posting key for vendor (i.e.25) System gives me warning message saying with holding tax information is ignored & system do not deduct TDS from the payt made to vendor.
    But when i am using PK 29 with sp gl indicator A for advances from T.Code F-02 system allows me to deduct the with holding tax against vendor paytment.
    Please guide me how to duduct the with holding tax from vendor payt. without using sp. GL indicator for advances.
    Thanks
    Sonal

    Hi
    why ur clien not want advance paymeny through Special GL, what is the issue/purpose
    see TDS deducted at the time of Advance payment and at the time of invoice
    when u use F-02 for TDS deduct of vendor without using special GL and u useing 25 vendor and 50 bank
    in this case tds not deducted here vendoir is debit but withouse advance indicator
    becuase u given vendor advance , but in this case entry not showing advance or
    in SAP Standard system TDS deducted of advance payment when u using 29 posting key for vendor this is stsndard key of advance vendor
    so convience ur clien u use Advance payment method with Special GL, if they not agree then ask what is the purpose u not using Speacial GL through Advance paument
    if any query, revert back
    Regards
    Roobal

  • Fill in a PDF Form from source code.

    Hello:
    I have a PDF form made with LiveCycle. This form read the data from a xml file. I'm trying to fill it programatically but i don't know how. I'd like to know if there is some way to do this action, from source code or with a command line.
    Thanks a lot.

    iText is an API which has the PDF edit capabilities.
    Read this link : http://www.itextpdf.com/
    If you have Adobe LiveCycle Forms ES/ES2 solution component, you need not go for iText; Instead, you can invoke the LC APIs through C#.net and merge the XML data into the PDF.
    If you would go with option#2, let me know. I will share you my ideas.
    Nith

  • How to terminate a java thread from c++ code?

    Hi,
    I made a screensaver which loads a jvm, forks a thread running a java class, wait until user's action(i.e. mouse move/click keyboard input), then terminate the java thread.
    However, I met a problem, How to terminate a running java thread from c++ code?
    Here is my code, but it does not work: (even after the terminate is called, jvm throws an error)
    JNIEnv* env;
    JavaVM* jvm;
    HANDLE hThread; //handle for the startThread
    unsigned __stdcall startThread(void *arg)
         jclass cls;
         jmethodID mainId;
         jint          res;
         int threadNum = (int)arg;
         res = jvm->AttachCurrentThread((void**)&env, NULL);
    cls = env->FindClass( MAIN_CLASS);
         mainId = env->GetStaticMethodID(cls, "main", "([Ljava/lang/String;)V");
         // setup the parameters to pass to main()
         jstring str;
         jobjectArray args;
         int i=0;
         args = env->NewObjectArray(1, env->FindClass("java/lang/String"), 0); //only one input parameters
         str = env->NewStringUTF("localhost");
         env->SetObjectArrayElement(args, 0, str);
         env->CallStaticVoidMethod(cls, mainId, args); // call main()      
         if (env->ExceptionOccurred()) {
                   env->ExceptionDescribe();
         return TRUE;
    Here is the main method:
    First create the jvm and load the thread. then tries to terminate the thread, but failed here
    switch (msg)
    { case WM_CREATE:
              JavaVMOption options[NUMBEROFOPTIONS];
              JavaVMInitArgs vmargs;     
              jint rc;
              vmargs.version = JNI_VERSION_1_4; /* version 1.4 */
              vmargs.options = options;
              vmargs.nOptions = NUMBEROFOPTIONS;
              vmargs.ignoreUnrecognized = JNI_FALSE;          
              rc=JNI_CreateJavaVM( &jvm, (void **)&env, &vmargs ); /* create JVM */
              /* We pass the thread number as the argument to the invoked thread */
              unsigned int threadId = -1;
              // to initialize a thread-safe C runtime library
              hThread = (HANDLE)_beginthreadex(NULL, 0, &startThread, NULL, 0, &threadId );
    } break;
    case (WM_DESTROY):
              CloseHandle( hThread );
              jvm->DestroyJavaVM(); /* kill JVM */
              Debug("Destroy Java Virtual Machine\n");
    }break;
    Note, after the thread "startThread" runs, it has an infinite loop and will not terminate, until the user clicks to terminate.(I didn't call jvm->DetachCurrentThread();_endthreadex(0); in the "startThread" because the java thread will not terminate by itself)
    Thus, the only way to terminate the thread is to call closehandle(hthread) in the main thread, which may cause jvm to throw an error.
    Do you know how to terminate a java thread safely???
    Thanks a lot

    Assuming that your java thread is in a loop of some kind. Such as
    int i=1; /* I tried using a boolean, I just could not get my C++ env, to change this value. So i decided to use an int */
    run {
    while(i)
    isdfjsdfj
    void seti()
    i=0
    So, B/4, i call destroyVM in my C++ code, i call this seti(). so the loop terminates, therefore my thread finishes executing and ends.
    Hope this helps
    tola.

  • Open an IE browser with link from ABAP code

    How to open an IE browser in separate window with dynamic link from ABAP code. The IE should open in a separate window.
    Eg:
    strHttpLink = 'http://www.xxss.com'.
    open IE browser using strHttpLink.

    Hi,
    have a look at this:
    http://www.erpgenie.com/abap/controls/htmlviewer.htm
    Best regards.

Maybe you are looking for

  • How to add an applet in a portal page??

    I need to add an applet in a page. Should I create an applet portlet, or should I use it with the typical way by calling it from an html file? Any suggestions??? Please help. It's important. I have an applet which is a video conference application an

  • Can't see wireless printer

    I upgraded to OSX and My HP 2600N could no longer be seen on my wireless network.  This resolved it after much trial and error. How to setup HP Color Laserjet 2600n over wireless network with Mac OSX 10.8 Download HP Color Laserjet driver from Apple

  • PR Close issue

    Hi MM Techies, I am supporting a Project. Where the User Requirement is like below.. Help me out in giving solution. I have created a PR , say with 10 line items. The PR has got the release procedure. After final release only it will allow to create

  • Adobe online conversion screwing up Word document!

    I am really getting frustrated -- everytime I convert my document to pdf using Adobe things come out screwed-up and changed. Photos moved down a page, etc. and I can convert it perfectly using the free pdfonline but have to have my links functioning,

  • QoS Beta(643-642), information for "QoS best practices"

    I'm preparing the "IP telephony operational specialist" exam and now for QoS beta(643-642). Can I get an URL for "QoS Best Practices" from CCO ? And any comments for the exam. Thanks,