facebook

Websphere 5.1 and hot code replacing

  1. MyEclipse Archived
  2.  > 
  3. Application Servers and Deployment
Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
    Posts
  • #228098 Reply

    Hi,

    I’m evaluating MyEclipse 3.8.4 with WebSphere 5.1 (JDK on Linux platform. I have working deployment environment (with “exploded” ear directory) – when i’m replacing static resources (velocity macro etc.) all works fine and changes are visible with browser.

    But when I’m saving and building java source in workspace following message appears:

    com.ibm.ws.bootstrap.WSLauncher at localhost:36971 was unable to replace the running code with the code in the workspace.

    The target VM does not support hto code replace.

    I read threads in “Application Servers and Deployment” index at this forum which tell about WebSphere and hot code replacement (for example: http://www.myeclipseide.com/PNphpBB2+file-viewtopic-t-6060.html) but there was previous IBM JDK (1.3.1)…

    Question is: if WebSphere isn’t support this function? I have IBM JDK 1.4.1 and still not work…

    I was try to use Sun JDK, but with it WebSphere not starts (like in example at http://www.myeclipseide.com/PNphpBB2+file-viewtopic-t-4237-highlight-websphere.html)

    Regards,
    Marek Berkan.

    #228123 Reply

    Riyad Kalla
    Member

    Marek,
    I believe the newest version (6?) of Websphere supports hot code sync, and you are correct that you will need to use atleast IBM JDK 1.4.1 to get it to work.

    #228146 Reply

    mberkan
    Member

    Hi,

    @support-rkalla wrote:

    I believe the newest version (6?) of Websphere supports hot code sync […]

    Thank you for your answer, but what about Websphere 5.1? First: MyEclipse at this time hasn’t connector for version 6, second: we must create and deploy application on websphere exactly in version 5.1 🙁

    Marek.

    #228160 Reply

    Riyad Kalla
    Member

    Marek,
    It seems (After some research) that Hotsyncing is really almost entirely influenced by the JDK you are running, and if the JDK supports it or not, so technically this SHOULD work with JDK 1.4.1 and Websphere 5.1.

    However there *are* limitations to what can be hotsynced. If you are changing the “shape” of your classes (adding new methods, removing existing ones, adding members/removing, etc.) then this will almost always fail with hot sync. However if you are changing the code in the body of methods and such, this should mostly work. Are you not seeing this behavior? Please confirm that you are infact using JDK 1.4.1 to run Websphere 5.1.

    #228248 Reply

    mberkan
    Member

    @support-rkalla wrote:

    It seems (After some research) that Hotsyncing is really almost entirely influenced by the JDK you are running, and if the JDK supports it or not, so technically this SHOULD work with JDK 1.4.1 and Websphere 5.1.

    It is my JDK and WebSphere configuration:

    WebSphere Platform 5.1 [BASE 5.1.0 b0344.02]  running with process name lafra\lafra\server1 and process id 7115
    Host Operating System is Linux, version 2.4.29
    Java version = J2RE 1.4.1 IBM build cxia321411-20031011 (JIT disabled), Java Compiler = , Java VM name = Classic VM
    

    @support-rkalla wrote:

    However there *are* limitations to what can be hotsynced. If you are changing the “shape” of your classes

    I understand there limitations. In my tests I changing content of parameter in method System.out.println(…). In any case I’m receiving message: “Hot code replacement failed” as shown at first post.

    The curiosity is that if I select “Continue” button then application server reloads my servlet (reloading is disabled in server configuration (?)) and changed code working properly. But I’m losing my session…

    Finally, I was notice that debug functions works properly: I’m able to set breakpoint and change value of variables in runtime…

    Regards,
    Marek.

    #228262 Reply

    Riyad Kalla
    Member

    The curiosity is that if I select “Continue” button then application server reloads my servlet (reloading is disabled in server configuration (?)) and changed code working properly. But I’m losing my session…

    Marek, I would say keep working like this. This occurs with me as well on Tomcat, even though the VM reports that the hot sync failed, it still reloads the class file for me. I have decided to turn off the dialog that shows the warning.

    Unfortunately loosing the session all the time can be an annoyance, but I do not have any other suggestions at this point as my experience with Webspehere is extremely limited.

    #228300 Reply

    mberkan
    Member

    I’m using all the time similar connector to Tomcat (sysdeo) and it doesn’t show this message like that (certainly if I don’t change method signatures, delete classes, etc.). So this situation is strange to me.

    Thank you for answer. I will work on this connector, context reloading is bothersome but better than server restart 🙂

    Regards,
    Marek.

    #228900 Reply

    Scott Anderson
    Participant

    Hot code replace is completely controlled by the JDK being used and has nothing to do with the application server. Each JDK supports the JPDA debug spec to a different level, or not at all. While I don’t know the specific level of conformance of the IBM JDK you’re using, it appears that Eclipse is determining from its actions that it doesn’t support the type of hot code replace that you’re attempting.

    The reason you don’t see this with Tomcat is because you’re using a Sun JDK to run it, and the debug spec is fully supported.

    #228931 Reply

    Victor Ott
    Member

    Marek, have you tried running Eclipse with the same JDK like WS 5.1 is running on? Does the behaviour improve in that case?

Viewing 9 posts - 1 through 9 (of 9 total)
Reply To: Websphere 5.1 and hot code replacing

You must be logged in to post in the forum log in