Java and Citrix

Has anyone successfully deployed a Java 1.3 application on Citrix? We've recently encountered a problem with our application not displaying correctly or hanging altogether when run via Citrix. I searched around a bit and discovered that I'm not the only one to see this kind of thing:

http://forum.java.sun.com/thread.jsp?forum=32&thread=545703

http://forum.java.sun.com/thread.jsp?forum=37&thread=70309

http://forum.java.sun.com/thread.jsp?forum=57&thread=216414

I also searched the forums at citrix.com - it seems that the people on the Java forums blame Citrix, whereas the people on the Citrix forums blame Java (go figure). One common suggestion that I've seen at both forums is that AWT based apps will run correctly under Citrix, whereas Swing based apps may or may not work at all depending on the version of Java and the version of Citrix.

One workaround that was suggested was to specify "-Dsun.java2d.noddraw=true" to disable Direct Draw, but our application runs on Solaris so I don't think that option is doing anything at all for us (and in fact, it had no effect in our tests).

Does anyone know where I can find a list of compatibility problems between Java and Citrix? Better yet, does anyone have any workarounds I can try? Needless to say this will be a nontrivial problem for us if it turns out that Citrix and Java/Swing are incompatible. We have a customer who has recently upgraded to our newer version (which uses Java 1.3) from our older version (which used Java 1.2), and now they have no end of display problems and crashes.

[1612 byte] By [scorbett] at [2007-9-30 19:07:34]
# 1

I guess nobody is following this thread, but just in case someone stumbles over this in the future trying to debug a similar problem, here is some information you may find useful:

We've found that whenever a Java 1.3.1 application attempts to access the system clipboard for a copy/paste operation, there's about a one in three chance (approximately) that the application will hang. We were able to replicate this not only in our own application, but also using one of Sun's "demo" applications that ship with the JDK (Stylepad, I think it's called), just by selecting some text and trying to copy it to the clipboard. This only happens when the app is run via Citrix, it does not happen when the app is run on Solaris directly. We tried the same test using Java 1.4.2 and Java 1.5.0 and were unable to reproduce the problem.

However, upgrading to a newer version of Java is a nontrivial operation for us, so our (admittedly ugly) workaround is to avoid using the system clipboard, and just use our own memory management for copy/paste operations instead.

scorbett at 2007-7-6 23:18:03 > top of Java-index,Administration Tools,Sun Connection...