tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Kujtan" <akuj...@evertz.com>
Subject RE: Speeding up RMI calls
Date Mon, 30 Jul 2012 14:26:37 GMT
> -----Original Message-----
> From: Martin Gainty [mailto:mgainty@hotmail.com]
> Sent: Saturday, July 28, 2012 10:02 AM
> To: Tomcat Users List
> Subject: RE: Speeding up RMI calls
> 
> 
> Andrew
> 
> It *sounds* like you are battling a network latency problem
> Can you identify the target RMI server then do a simple tracert from
> client to RMI Server to determine which intermediate node is causing
> the delay?
> 
> Martin

I thought so too at first, so I moved them to the same machine with the
same results.
Overloading the classloader so that every RMI call did not contain a
list of 300+
"C:\Program Files\Tomcat\webapps\Root\WEB-INF\lib\my.jar;" corrected the
issue though.

-Andrew

> >
> > > > On 09/07/2012 16:55, Andrew Kujtan wrote:
> > > > > Tomcat Version: 7.0.27
> > > > >
> > > > > OS: Windows XP/7
> > > > > I'm fixing an issue we are having with a webapp that does some
> > > > > communication over RMI with a remote  server. Calls that would
> be
> > > > > instant in similar applications not inside the tomcat
container
> > are
> > > > > taking more than 30 seconds when called from tomcat. After
> > > debugging
> > > > > I've found that  when an RMI call is made, the classlist
> > containing
> > > > > all the jars in the webapp lib folders is being serialized
with
> > the
> > > > data.
> > > > > Which wouldn't be a problem normally, except the webapp has
> >300
> > > jars
> > > > > in its lib folder.
> > > >
> > > > In the other similar applications, are there 300+ jars on the
> > > classpath
> > > > too?
> > > >
> > > >
> > > > p
> > >
> > > Yes they are there as well, but the RMI calls don't include them,
> or
> > > any
> > > urls
> > > for that matter.
> > >
> > > >
> > > > > The only solution I have found is to create a custom
> > > > WebAppClassloader
> > > > > that returns a zero length URL array on the getURLs() call. We
> > > don't
> > > > > do any dynamic class loading so breaking that is not a
problem.
> > > > >
> > > > > My question is, is there any other way to resolve this, like a
> > > > > configuration property? If not, are there any problems that I
> am
> > > > going
> > > > > to introduce by overriding this method? Can I override the
> > > > classloader
> > > > > for just this webapp or am I stuck doing it for the entire
> tomcat
> > > > > instance?
> > > > >
> > > > >
> > > > >
> > > > > Thanks,
> > > > >
> > > > > Andrew Kujtan
> >
> > I guess no one has run into this issue before, I've pushed it
through
> > and am just overloading the classloader in the server.xml
> >
> > Hopefully this doesn't break anything.
> >
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> > For additional commands, e-mail: users-help@tomcat.apache.org
> >
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message