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 "Volanis, Alexander" <AV...@rsasecurity.com> on 2002/09/05 18:57:16 UTC

RE: [BUG] NPE with multithreaded client in RC1 (Was: [BUG] Multit hreaded client with multiple Call instances shares se ssions?)

Hi Dims,

I forgot to check the running configuration for this problem. It turns out I
was running with beta 3 Axis JARs. I downloaded RC1 so I desided to test
this with it. I get 2 threads to run successfully which is very good but
once I try 3 or more threads I get this NPE. I guess the session sharing
problem was my mistake for not running with the latest nightly. But the NPE
seems serious to me.

I am using JDK 1.3.1_01 and RC1 of Axis. The NPE seems to happen in the same
place as long as more than 2 threads are running. I can get it every time.

java.lang.NullPointerException
        at java.text.MessageFormat.applyPattern(MessageFormat.java:282)
        at java.text.MessageFormat.<init>(MessageFormat.java:248)
        at java.text.MessageFormat.format(MessageFormat.java:475)
        at org.apache.axis.utils.JavaUtils.getMessage(JavaUtils.java:839)
        at
org.apache.axis.configuration.EngineConfigurationFactoryFinder.newFactory(En
gineConfigurationFactoryFinder.java:179)
        at
org.apache.axis.configuration.EngineConfigurationFactoryFinder.newFactory(En
gineConfigurationFactoryFinder.java:195)
        at org.apache.axis.client.Service.<init>(Service.java:110)
        at
com.rsa.SessionTestServerServiceLocator.<init>(SessionTestServerServiceLocat
or.java:10)
        at SessionTest.run(SessionTest.java:28)

Alex


-----Original Message-----
From: Volanis, Alexander 
Sent: Thursday, September 05, 2002 1:43 AM
To: 'axis-user@xml.apache.org'; 'axis-dev@xml.apache.org'
Subject: [BUG] Multithreaded client with multiple Call instances shares
se ssions?


Hello everyone,

I have a peculiar problem that I think may be a bug. I have attached a
sample service class (SessionTestServer.java), a multithreaded client class
(SessionTest.java) and a deployment WSDD file (deploy.wsdd). The service is
supposed to be deployed as a session scoped service. When the client is
running as a multithreaded client all threads appear to be sharing one
session. Each thread creates its own instance of the Call class via the
WSDL2Java generated Service Locator class. Within each thread a number of
calls to the service method happen in parallel with other threads. I
expected that for each instance of the Call class a separate session would
be maintained by the client engine. Instead I can see that they appear to
share the same session. If I run several separate client processes with one
thread each the problem goes away which indicates that the server class is
not the problem. If I turn off the maintainSession option I can also see
that the problem is eliminated but that defeats the purpose of the session.

Anybody have any insight on this problem? Am I doing something wrong? Am I
mistaken in expecting each instance of the Call class in each thread to
maintain a separate session?

Thank you in advance for any advice you may have.

Alex Volanis

Consulting Engineer
e-mail: avolanis@rsasecurity.com
_______________________________________
RSA SECURITY Inc.
The Most Trusted Name in e-Security
174 Middlessex Tpke, Bedford, MA 01730 USA
http://www.rsasecurity.com