You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "William Walsh (JIRA)" <ji...@apache.org> on 2011/08/03 19:47:27 UTC

[jira] [Updated] (AXIS2-5110) Compatibility with WebSphere Application Server on z/OS

     [ https://issues.apache.org/jira/browse/AXIS2-5110?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

William Walsh updated AXIS2-5110:
---------------------------------

    Environment: WebSphere on z/OS V7  (was: WebSphere on z/OS)

Thanks for the quick feedback.  I could certainly be wrong on this and I'll see what your tool helps me reveal; but, from working with IBM, adding instrumentation to Axis2 and remote debugging with Eclipse it looks to me like Axis2 takes the same path on Windows and z/OS correctly canceling the timer threads and only when I patched my local copy of Axis2 to force the threads to be daemon on z/OS that my tests ran successfully and WAS shutdown on z/OS OK.  That APAR is for WAS V6 and this is WAS V7 (my fault for not making that clear earlier).  

The IBM Must Gather site for WAS for z/OS (http://www-01.ibm.com/support/docview.wss?uid=swg21252202) says: "During stop processing, the WebSphere Application Server for z/OS runtime will wait for all active requests to complete processing and then attempt to stop each thread. In almost all cases, when the stop command is not working, it is because ... some other product or application has created a non-daemon type thread ".  When I look at the Axis2 source it looks to me to be creating daemon threads set to false.

> Compatibility with WebSphere Application Server on z/OS
> -------------------------------------------------------
>
>                 Key: AXIS2-5110
>                 URL: https://issues.apache.org/jira/browse/AXIS2-5110
>             Project: Axis2
>          Issue Type: Improvement
>          Components: kernel
>    Affects Versions: 1.5.1
>         Environment: WebSphere on z/OS V7
>            Reporter: William Walsh
>            Priority: Minor
>
> In using Axis2 with WebSphere across multiple platforms we have found that once we invoked a web service against Axis2 on WebSphere for z/OS that the application server would not shutdown properly.  (The architecture on z/OS is very different than other platforms - it uses a number of address spaces to host WebSphere and the control and servant address spaces would not terminate.)  We asked IBM about this and it has to do with differences in how the JVM is implemented and started by WebSphere on z/OS.  The long and the short of this is that Timer threads must be defined as daemon to allow WebSphere to terminate properly on z/OS.
> I'd like to propose a patch for this and would like to know/confirm:
> Are these classes where I saw non-daemon threads created the appropriate places for change?
> /org/apache/axis2/util/threadpool/ThreadPool.java
> /org/apache/axis2/util/threadpool/DefaultThreadFactory.java
> /org/apache/axis2/transport/http/server/DefaultThreadFactory.java
> I would propose adding conditional code to force daemon threads when running on z/OS:
>   if (System.getProperty("os.name").equals("z/OS")
> Would this be appropriate, or do you feel the check needs to be more explicit; also checking for WebSphere?

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org