axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andreas Veithen (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AXIS2-5110) Compatibility with WebSphere Application Server on z/OS
Date Wed, 03 Aug 2011 17:33:27 GMT

    [ https://issues.apache.org/jira/browse/AXIS2-5110?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13078870#comment-13078870
] 

Andreas Veithen commented on AXIS2-5110:
----------------------------------------

The statement made by IBM support that timer threads must be defined as daemon is actually
not correct. The correct statement is that every application must make sure that it cancels
all the timers it has created. If that is the case, then the Timer objects don't need to (and
shouldn't) be defined as daemon. There are even some versions of the IBM JDK where creating
Timer objects with daemon=true leads to a memory leak (see APAR IZ94326).

There is a known problem in Axis2 that prevents it from canceling one of the timers it creates
during startup. See AXIS2-4263 for a description and a workaround.

I have developed a tool [1] that allows to easily identify applications that fail to destroy
threads and timers (and other resources). The primary goal of that tool is to identify the
root cause of class loader leaks, but it could also be useful in your case to identify applications
that prevent WebSphere from stopping properly. The tool works well on WebSphere for distributed
platforms, but I guess that on z/OS some features will not be available due to differences
in WebSphere and the JRE.

[1] http://code.google.com/p/arit/

> 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
>            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


Mime
View raw message