Message7519

Author amak
Recipients amak, mvera
Date 2012-11-10.15:39:11
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1352561953.48.0.130013578983.issue1983@psf.upfronthosting.co.za>
In-reply-to
Content
"""
Our application works fine under tomcat/windows 7 32 bits with the Oracle JVM. But when our application is deployed under websphere the scripts we deploy can't be executed. It seems that objectweb asm can't analyse the byte code of classes generated from standard python files.
"""

So, you application works fine a standard web container (Indeed, Tomcat was derived from the original reference implementation by Sun, then donated to the Apache Software foundation). So I'm afraid I can't accept your assertion that "unless you  improve the web container support, I don't recommend to embed jython in a web application."

Jython works just fine in a wide range of compliant web containers, including, but not limited to

 - Tomcat
 - Glassfish
 - JBoss
 - Jetty
 - Caucho Resin
 - Google Appengine
 - Amazon Elastic Beanstalk
 - Etc

Your problem lies inside Websphere, which uses complex and poorly documented class-loading mechanisms. Further, these mechanisms are invisible to us, since WebSphere is closed source: it is not possible for us to investigate any issues that arise.

This is complicated by the fact that there is already a copy of jython 2.1 embedded in WebSphere, which is used to provide powerful dynamic administration capabilities to WebSphere.

http://www.google.com/?q=websphere+jython

The existence of two copies of builtin jython classes is a complexity that the IBM WebSphere authors seem to have not factored into their design, or if they have, they have not documented it. Which means that we often get WebSphere users turning up in jython land complaining about jython when in fact it is WebSphere classloading that is at fault.

Unfortunately, even though jython is an essential component of WebSphere, IBM provide no support to the jython community, and make no attempt to ensure that their closed source products are compatible our open source product, an open source product from which IBM have benefitted significantly over the lifetime of WebSphere.

When IBM do not make any contributions to jython source code: when they provide us with patches that are intended to fix jython on their closed source OSes, IBM give us patches that are out of date

http://bugs.jython.org/issue1842

So, although I will make an attempt to figure out how this issue has come about and how to solve it (even though I am only permitted to download a time-limited trial of WebSphere), I would make the following points

1. I would amend your advice to be "unless IBM improve the jython 2.5 support in WebSphere, I don't recommend WebSphere as a container for hosting jython web applications".
2. I would recommend that you switch to using a servlet container that is known and proven to run jython 2.5 successfully, e.g. one of those listed above.
History
Date User Action Args
2012-11-10 15:39:13amaksetmessageid: <1352561953.48.0.130013578983.issue1983@psf.upfronthosting.co.za>
2012-11-10 15:39:13amaksetrecipients: + amak, mvera
2012-11-10 15:39:13amaklinkissue1983 messages
2012-11-10 15:39:11amakcreate