ASP and Java Classes

A

Airness

Hello,

First of all, I don't write or even speak good english, so sorry for all the
mistakes of this post.

I tried to use Java classes from ASP. I used javareg to register my classes
and called that classes from ASP with CreateObject. I did a lot of
CreateObject in the whole site. That worked well.
But my web site crashed when the load was increasing, contrary to the old
version which used COM component.

I made tests with three simple pages :
- an ASP script with the com component which was used before,
- an ASP script with my java classes
- a JSP, with my java classes
The first one and the third one ran well, and the second one crashed (And
runs a lot slower than the others scripts)

It seems to prove that the use of the Java classes from ASP are the origin
of my problem : when the site gets loaded ( I mean with many clients on it,
not sure that "gets loaded" will be understood), the 'Requests Executing''s
counter increase to the MAX_THREAD_NUMBER, the 'Requests Queud' then
increases and the site didn't answer anymore.

I put logs on my pages, and it shows that the requests stop on a
CreateObject from my java class.

Did someone know something about a limitation of the number of objects in
the "COM Java bridge", I mean in the 'pseudo JVM' used in my mtx process (I
use WIN NT 4 and IIS 4), or how to configure that 'pseudo JVM' ?

Thanks for your help
Yours Sincerely,

Airness
 
E

Egbert Nierop \(MVP for IIS\)

Airness said:
Hello,

First of all, I don't write or even speak good english, so sorry for all the
mistakes of this post.
Your english is pretty well (not to mention mine :) )?
I tried to use Java classes from ASP. I used javareg to register my classes
and called that classes from ASP with CreateObject. I did a lot of
CreateObject in the whole site. That worked well.
But my web site crashed when the load was increasing, contrary to the old
version which used COM component.

I made tests with three simple pages :
- an ASP script with the com component which was used before,
- an ASP script with my java classes
- a JSP, with my java classes
The first one and the third one ran well, and the second one crashed (And
runs a lot slower than the others scripts)

It seems to prove that the use of the Java classes from ASP are the origin
of my problem : when the site gets loaded ( I mean with many clients on it,
not sure that "gets loaded" will be understood), the 'Requests Executing''s
counter increase to the MAX_THREAD_NUMBER, the 'Requests Queud' then
increases and the site didn't answer anymore.

I put logs on my pages, and it shows that the requests stop on a
CreateObject from my java class.

Did someone know something about a limitation of the number of objects in
the "COM Java bridge", I mean in the 'pseudo JVM' used in my mtx process (I
use WIN NT 4 and IIS 4), or how to configure that 'pseudo JVM' ?

Not really, But I only know that Java is not supported by Microsoft (for
years) so if you want a supported system, go for non-MS-Java systems or use
Microsofts J# (java compatible).
You also might find a solution by not using MTX on NT4, directly use
CreateObject on the java class.
 
S

Sylvain Lafontaine

Essayez avec Server.CreateObject à la place CreateObject seulement, car il
est possible que ce dernier ne fasse une mauvaise gestion des objets en
mémoire. Server.CreateObject est sans doute plus capable de détecter
correctement la libération propice de chaque objet initialisé dans ASP.

Il y a un paquet de raisons possibles à l'arrêt du service IIS, mais la plus
courante est sans doute une fuite de mémoire. Il serait bon de vérifier que
toutes les allocations d'objets dans votre code Java sont bel et bien
libérées et que vous ne stockiez aucun des objets Java dans des variables de
session ou d'application.

Le degré d'isolement des processus dans IIS peut également avoir de
l'importance. De plus, comme Java n'est plus vraiment supporté par MS, je
doute que votre problème ne soit jamais réglé; cependant, cela ne serait pas
une mauvaise idée d'essayer avec Java de .NET, si vous avez accès à un
server avec .NET d'installé.

S. L.
 
A

Airness

Bonjour,

Sylvain Lafontaine said:
Essayez avec Server.CreateObject à la place CreateObject seulement, car il
est possible que ce dernier ne fasse une mauvaise gestion des objets en
mémoire. Server.CreateObject est sans doute plus capable de détecter
correctement la libération propice de chaque objet initialisé dans ASP.

J'ai essayé, le résultat n'est pas meilleur
Il y a un paquet de raisons possibles à l'arrêt du service IIS, mais la plus
courante est sans doute une fuite de mémoire. Il serait bon de vérifier que
toutes les allocations d'objets dans votre code Java sont bel et bien
libérées et que vous ne stockiez aucun des objets Java dans des variables de
session ou d'application.

Pour l'objet Java, je confirme, il est utilisé à grande échelle dans ma
boite qui gère quelques très gros sites français. De même pour le stockage
en session ou en application : j'ai fait le code.. Je me demandais au
contraire si mettre l'objet en session ne pourrait pas améliorer les perfs
mais ce n'est pas le cas
Pas de fuite mémoire de toute façon, j'ai surveillé les différents compteurs
du perfmon .. La seule chose notable est la consommation CPU, mais qui est
globalement la même quand le test utilise de l'ASP avec un composant COM, ou
quand j'ai fait le test avec une JSP...
Le degré d'isolement des processus dans IIS peut également avoir de
l'importance. De plus, comme Java n'est plus vraiment supporté par MS, je
doute que votre problème ne soit jamais réglé; cependant, cela ne serait pas
une mauvaise idée d'essayer avec Java de .NET, si vous avez accès à un
server avec .NET d'installé.

S. L.

Pas de serveur en .NET actuellement .. Nosu tentons l'utilisation d'un autre
pont entre COM et Java, avec une autre JVM ..
Merci pour la réponse en tout cas
Airness
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,774
Messages
2,569,596
Members
45,143
Latest member
DewittMill
Top