Websphere classloading has gone through a significant change under the hood from 6.0 to 6.1. As I read on AlBlue’s blog, Websphere 6.1 is entirely based on OSGi bundles. This presentation shows an overview of the changes in the classloader mechanism and discusses what might break. By default, the classloader in 6.1 still behaves like previous versions, but there is a new server option: “restrict access to internal server classes”. This setting will disallow you to use internal Websphere code. Most applications really should not need to call internal classes so this is a good way to enforce such a policy. Another nice side effect is that your application can now use different versions of some popular utility libraries that Websphere uses as well. This caused quite some headaches in the past, so be sure to try out this new server option when migrating to Websphere 6.1.