Re: thread deadlock problem

2004-03-21 Thread Antonio Fiol Bonnín
Christian Cryder wrote:

This works perfectly about 99% of the time. What we are observing is that
there are certain situations where we encounter a deadlock scenario (and
that's what prompted my original question). Basically, req2a writes the
redirect back to the client, the client receives the redirect and actually
sends a request back to the server (verified this by using a proxy to
examine what is getting sent)... BUT - if req2a is already in the blocking
code, tomcat simply does not accept req3 until the blocking code times out!
Bad.
 

Are you absolutely sure of that?

Could you please triple-check it? A System.out.println(something) at 
the *very* beginning of the doGet/doPost method would be enough.

Without seeing the code, I'd say there is a missing notifyAll() or 
notify() somewhere, to wake up the thread that is wait()'ing.


Now what's interesting is that tomcat itself is not blocked at this point -
I can send requests from other browsers, and those get handled just fine. So
something seems to be happening where Tomcat cannot accept this particular
request (req3), perhaps because its still trying to keep the physical
connection associated with req2a open(?) (I'm thinking keep-alives here...in
other words, if the browser is using keep-alives, req3 will be coming across
the same physical connection as req2a, so its almost like tomcat thinks it
still can't receive a new request across this connection, although the
browser thinks its fine to go ahead and send it). But after req2a writes the
redirect response to the browser, I close the writer and flush the buffer -
there's nothing else I can do to say hey, I really am done with that
response (even though I'm going to continue running in the background on
the server and writing additional data - the real response, the report - to
a memory structure).
 

Strange... Unlikely... but possible...


One easy solution is just to modify our piped reader/writer so that when the
pipe size gets maxed it simply expands the size of the pipe. This would mean
that we'd never actually have to block, so we'd never hit our deadlock. The
downside is that it now means that in some cases we might be significantly
increasing the size of our memory footprint for the server. Another option,
I suppose, would be to simply pipe the document to disk, rather than storing
it to memory.
 

And you would not make your writer wait, so your process would be 
faster, wouldn't it?

HTH,

Antonio Fiol

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Security

2004-03-21 Thread Adam Hardy
On 03/21/2004 05:53 AM Matt Anderson wrote:
Hi All,
This is the first time I have used this list so this question may have
been asked many times before, however I tried to download previous message
but were unsucessful. My question is, how do you configure the security
manager to disable things like System.exit() and Runtime.exec() and even
some of the java.io.* package functions. I have read the how-to and I am
still a little confused. I would appreciate any guidance on this and any
examples too. Thank you all for taking the time to read this and I look
forward to your response.
Hi Matt,
welcome to the list! Unfortunately it seems like you have posted a 
question that's too vague for anyone to give a direct answer to. Try 
coming back with a specific problem, and you're far more likely to get a 
good response.

Adam
--
struts 1.1 + tomcat 5.0.16 + java 1.4.2
Linux 2.4.20 Debian
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


RE: Security

2004-03-21 Thread Mark Thomas
Matt,

Your best bet is to read the security manager documentation provided as part of
the SDK. It should be located in JAVA_HOME\docs\guide\security\permissions.html
and JAVA_HOME\docs\guide\security\PolicyFiles.html 

I can't remember if these docs are part of the standard download or whether you
need to download the separate docs package.

Bear in mind that tomcat might need some of the permissions you are looking to
restrict. The sample security policy file provided
(TOMCAT_HOME\conf\catalina.policy) provides more details. One option would be to
just restrict the deployed web applications rather than the entire tomcat
installation. Again, see catalina.policy for more information.

Regards,

Mark

 -Original Message-
 From: Matt Anderson [mailto:[EMAIL PROTECTED] 
 Sent: Sunday, March 21, 2004 4:54 AM
 To: [EMAIL PROTECTED]
 Subject: Security
 
 Hi All,
 This is the first time I have used this list so this 
 question may have
 been asked many times before, however I tried to download 
 previous message
 but were unsucessful. My question is, how do you configure 
 the security
 manager to disable things like System.exit() and 
 Runtime.exec() and even
 some of the java.io.* package functions. I have read the 
 how-to and I am
 still a little confused. I would appreciate any guidance on 
 this and any
 examples too. Thank you all for taking the time to read this 
 and I look
 forward to your response.
 
 Kindest Regards,
 Matt Anderson
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



java.lang.OutOfMemoryError

2004-03-21 Thread Marco Pöhler
Hi,

I'm running tomcat 5.0.19  J2SDK1.4.2_03 on a suse linux 8.1. I wrote a
really simple application, just one servlet and a few jsp pages, using
dbcp/jndi. Nevertheless I got an OutOfMemoryError every 2 days and I have to
restart the tomcat to fix the problem. Here is the log entry:

2004-03-21 10:41:04 StandardWrapperValve[mapperServlet]: Servlet.service()
for servlet mapperServlet threw exception
java.lang.OutOfMemoryError

Okay, I've investigated my source code for some kind of memory leak, but
without any success. How can I found what the problem is ? Are there tools
which can help me ?

thanks in advance

Marco Poehler

---
http://www.poehlerpoehler.de



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



method=post but doGet() called

2004-03-21 Thread Uwe Kubosch
Hi all!

I have a form (included below) where I set method=post, but for for a
specific action URL, it  arrived in the doGet method instead of the doPost
method.

I have a seervlet-mapping that pics up _all_ resquests to the context:

url-pattern//url-pattern

The unexpected behaviour comes when there is nothing after the context in
the action URL:

http://localhost:8080/mycontext

This arrives in doGet.

Putting something after the context works:

http://localhost:8080/mycontext/stuff

This arrives in doPost.

Is this correct behaviour?  I am using Opera as browser.  Should this make a
difference?


html
head
titleAccess Denied/title
/head
body
h1 align=centerAccess denied!/h1
div align=center



/div
!-- Begin BOX 'Login'--
table border=2 align=center width=1trtd align=left
div align=left
h3Login/h3
/div

div align=center border=1 width=1
form name=loginForm method=post enctype=multipart/form-data
action=http://localhost:8080/espresso;
input type=hidden name=formObjectID value=-4
input type=hidden name=tabvalue=General
input type=hidden name=defcmd value=Login
table cellspacing=0 cellpadding=0
trtd class=EspressoLoginLogin/tdtdinput class=EspressoLogin
type=text name=EspressoUID value=root size=10/td
trtd class=EspressoLoginPassword/tdtdinput class=EspressoLogin
type=password name=EspressoPWD value= size=10
nonChange='document.loginForm.submit()'/td
trtd colspan=2 align=center nowrapinput class=EspressoLogin
type=submit name=cmd value=Login
/td
/tr/table/formscript type=text/JavaScriptif
(document.loginForm.EspressoUID.value.length == 0)
{document.loginForm.EspressoUID.focus();} else
{document.loginForm.EspressoPWD.focus();}/script
/div/td/tr/table!-- End BOX --
/body
/html


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: java.lang.OutOfMemoryError

2004-03-21 Thread Jacob Kjome
How much information do you put in servlet sessions?  How long do sessions 
last?  How many active user sessions do you have at any given time?  Do you 
start the VM up without providing -Xmx512m or something like that?   If so, 
you are starting a VM with a maximum of 64meg of memory available to 
everything running within it.  That includes the appserver itself plus any 
apps.  It is easy to use more than this, especially if your load is high 
and/or you store lots of info in the sessions.  Keep in mind that a little 
bit of data in the session can go a long way if you have lots of 
users.  Less than 1meg per/user plus, let's say, 64 users with active 
sessions (not necessarily making concurrent requests) would easily use up 
the default memory maximum of the VM.

Jake

At 01:53 PM 3/21/2004 +0100, you wrote:
Hi,

I'm running tomcat 5.0.19  J2SDK1.4.2_03 on a suse linux 8.1. I wrote a
really simple application, just one servlet and a few jsp pages, using
dbcp/jndi. Nevertheless I got an OutOfMemoryError every 2 days and I have to
restart the tomcat to fix the problem. Here is the log entry:
2004-03-21 10:41:04 StandardWrapperValve[mapperServlet]: Servlet.service()
for servlet mapperServlet threw exception
java.lang.OutOfMemoryError
Okay, I've investigated my source code for some kind of memory leak, but
without any success. How can I found what the problem is ? Are there tools
which can help me ?
thanks in advance

Marco Poehler

---
http://www.poehlerpoehler.de


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: java.lang.OutOfMemoryError

2004-03-21 Thread Joerg Baumgaertel
Hi Marco

Give 'The Reference Scanner' a try and make heap snapshots
and check the diff between snapshots.
I just published the tomcat-howto.
You find the Software here http://jb2works.com/
If you need more help, you reach me via mail.

Best regards,
Joerg
Marco Pöhler wrote:
Hi,

I'm running tomcat 5.0.19  J2SDK1.4.2_03 on a suse linux 8.1. I wrote a
really simple application, just one servlet and a few jsp pages, using
dbcp/jndi. Nevertheless I got an OutOfMemoryError every 2 days and I have to
restart the tomcat to fix the problem. Here is the log entry:
2004-03-21 10:41:04 StandardWrapperValve[mapperServlet]: Servlet.service()
for servlet mapperServlet threw exception
java.lang.OutOfMemoryError
Okay, I've investigated my source code for some kind of memory leak, but
without any success. How can I found what the problem is ? Are there tools
which can help me ?
thanks in advance

Marco Poehler

---
http://www.poehlerpoehler.de


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: java.lang.OutOfMemoryError

2004-03-21 Thread Joerg Baumgaertel
Forgot to mention that I have a lot of stuff
about Memory Leaks generally online:
FAQ
http://jb2works.com/memoryleak/index.html
and

Why do we have a Data Cancer
The Top Five to avoid it
http://jb2works.com/memoryleak/topfive.html
Best regards,
Joerg


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Deployment with the manager app (manifest question)

2004-03-21 Thread Carlos Martins
Dear Sir / Madam,

I am testing the deployment of a webapp that needs some java extensions  
(jdbc connectors) which are not available on the server.
I specified the optional packages and their versions in the MANIFEST.MF  
file included in the WAR file as I suppose one has to.
Surprisingly, the manager app does not report any error when I deploy  
the war file... but, of course, the deployed application won't start  
because it does not have all the needed extensions.
I am using tomcat version 5.0.19 and my MANIFEST file contents are as  
follows:


Manifest-Version: 1.2
Name: CMECP/fo
Class-Path: servlet-api.jar activation.jar mail.jar com.mysql.jdbc
Extension-List: activation mail mysqljdbc servlet
activation-Extension-Name: javax.activation
activation-Specification-Version: 1.0
activation-Implementation-Version: 1.0.2
activation-Implementation-Vendor-Id: com.sun
activation-Implementation-URL:  
http://java.sun.com/products/stdext/activation.jar
mail-Extension-Name: javax.mail
mail-Specification-Version: 1.3
mail-Implementation-Version: 1.3.1
mail-Implementation-Vendor-Id: com.sun
mail-Implementation-URL: http://java.sun.com/products/stdext/mail.jar
mysqljdbc-Extension-Name: com.mysql.jdbc
mysqljdbc-Specification-Version: 3.0
mysqljdbc-Implementation-Version: 3.0.10
mysqljdbc-Implementation-Vendor-Id: com.mysql
mysqljdbc-Implementation-URL:  
http://www.mysql.com/products/mysql-connector-java-3.0.10-stable- 
bin.jar
servlet-Extension-Name: javax.servlet
servlet-Specification-Version: 2.4
servlet-Implementation-Version: 2.4.public_draft
servlet-Implementation-Vendor-Id: org.apache
servlet-Implementation-URL:  
http://jakarta.apache.org/products/servlet-api.jar


Do you detect any changes I might do to the MANIFEST.MF file so that  
Tomcat's manager stops it from being deployed?

I thank you in advance for any comments you may send.

Carlos

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


RE: java.lang.OutOfMemoryError

2004-03-21 Thread Neal
I was having a similar problem with a similar configuration but was
having to restart every day.  For some reason the exact same JDK/tomcat
install on my windows dev box performed just fine under stress testing
and reclaimed memory just fine whereas my Linux production box had
serious issues.  I increased the memory from the default 64mb to 128mb
on my linux server and now it is behaving just as the prod server does -
its reclaiming memory in a similar healthy pattern. So, just try
increasing the heap size to 128mb first and see if you're still having
the same issue.  It seems to work some magic.

Cheers.  
Neal

-Original Message-
From: Marco Pöhler [mailto:[EMAIL PROTECTED] 
Sent: Sunday, March 21, 2004 4:54 AM
To: tomcat-user
Subject: java.lang.OutOfMemoryError

Hi,

I'm running tomcat 5.0.19  J2SDK1.4.2_03 on a suse linux 8.1. I wrote a
really simple application, just one servlet and a few jsp pages, using
dbcp/jndi. Nevertheless I got an OutOfMemoryError every 2 days and I
have to
restart the tomcat to fix the problem. Here is the log entry:

2004-03-21 10:41:04 StandardWrapperValve[mapperServlet]:
Servlet.service()
for servlet mapperServlet threw exception
java.lang.OutOfMemoryError

Okay, I've investigated my source code for some kind of memory leak, but
without any success. How can I found what the problem is ? Are there
tools
which can help me ?

thanks in advance

Marco Poehler

---
http://www.poehlerpoehler.de



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Tomcat iis and ntlm

2004-03-21 Thread Warren Black
Hi,
I am trying to pass a users ntlm credentials from iis to tomcat but they
always appears as NULL. I believe there is a mod to tomcat to fix this.

Can anyone point me in the right direction?

regards

Warren


Okana Systems Limited
mailto:[EMAIL PROTECTED]
mobile: +44 (0)7958 706580

This message is intended for the named person only. In the event you receive
this message in error then please notify the sender and delete all copies of
this message. The information contained in the message may be confidential
and therefore you must not distribute the information in any way. Views
contained in this message are those of the sender.




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Tomcat Deployment question

2004-03-21 Thread Kayley Ma
Hi all,

For a deployed WebApp with a applet and a servlet (I already generated a WAR
in JBuilder), where should i put my servlet so that Tomcat knows where to
find it?

Current this is how my system is set up.  Using JBuilder, I created a
WebApplication where I direct  the defaultroot folder to the location of my
applet files. Then within my WebApplication, I created a servlet that the
applet should communicate with. Then a WAR is generated when I build in
JBuilder.  I then deploy this WAR file into Tomcat5 using the TomcatManager.
However, when I select the HTML file, I can see that my applet is running
but it can't communicate with the servlet and I get a java error that saids
filenotfound.

So what is it that I'm doing wrong? Where should I put my servlet.java and
servlet class so that Tomcat can find it?

Thank you!

Kay



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: java.lang.OutOfMemoryError

2004-03-21 Thread Joseph Shraibman
Sounds like the same memory leak problem I've been having.  The problem 
is when new threads are created to handle concurrent connections.

Marco Pöhler wrote:
Hi,

I'm running tomcat 5.0.19  J2SDK1.4.2_03 on a suse linux 8.1. I wrote a
really simple application, just one servlet and a few jsp pages, using
dbcp/jndi. Nevertheless I got an OutOfMemoryError every 2 days and I have to
restart the tomcat to fix the problem. Here is the log entry:
2004-03-21 10:41:04 StandardWrapperValve[mapperServlet]: Servlet.service()
for servlet mapperServlet threw exception
java.lang.OutOfMemoryError
Okay, I've investigated my source code for some kind of memory leak, but
without any success. How can I found what the problem is ? Are there tools
which can help me ?
thanks in advance

Marco Poehler

---
http://www.poehlerpoehler.de


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: method=post but doGet() called

2004-03-21 Thread Bill Barker
When Tomcat sees a request for 'http://localhost:8080/mycontext' it sends
back a response to redirect to 'http://localhost:8080/mycontext/'.  This is
so that relative links to things like images and stylesheets work correctly.
If the browser conformed to the HTTP/1.1 RFC, it would re-request the new
URL with a POST, but I don't know of any browsers that do this.

Uwe Kubosch [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
 Hi all!

 I have a form (included below) where I set method=post, but for for a
 specific action URL, it  arrived in the doGet method instead of the doPost
 method.

 I have a seervlet-mapping that pics up _all_ resquests to the context:

 url-pattern//url-pattern

 The unexpected behaviour comes when there is nothing after the context in
 the action URL:

 http://localhost:8080/mycontext

 This arrives in doGet.

 Putting something after the context works:

 http://localhost:8080/mycontext/stuff

 This arrives in doPost.

 Is this correct behaviour?  I am using Opera as browser.  Should this make
a
 difference?


 html
 head
 titleAccess Denied/title
 /head
 body
 h1 align=centerAccess denied!/h1
 div align=center



 /div
 !-- Begin BOX 'Login'--
 table border=2 align=center width=1trtd align=left
 div align=left
 h3Login/h3
 /div

 div align=center border=1 width=1
 form name=loginForm method=post enctype=multipart/form-data
 action=http://localhost:8080/espresso;
 input type=hidden name=formObjectID value=-4
 input type=hidden name=tabvalue=General
 input type=hidden name=defcmd value=Login
 table cellspacing=0 cellpadding=0
 trtd class=EspressoLoginLogin/tdtdinput class=EspressoLogin
 type=text name=EspressoUID value=root size=10/td
 trtd class=EspressoLoginPassword/tdtdinput
class=EspressoLogin
 type=password name=EspressoPWD value= size=10
 nonChange='document.loginForm.submit()'/td
 trtd colspan=2 align=center nowrapinput class=EspressoLogin
 type=submit name=cmd value=Login
 /td
 /tr/table/formscript type=text/JavaScriptif
 (document.loginForm.EspressoUID.value.length == 0)
 {document.loginForm.EspressoUID.focus();} else
 {document.loginForm.EspressoPWD.focus();}/script
 /div/td/tr/table!-- End BOX --
 /body
 /html




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Programmatically deploying webapps

2004-03-21 Thread Philipp Taprogge
Hi!

I am stuck here :-/
Perhaps anyone could give me a poke in the right direction.
What is want to do is this: I am writing an installer for my web 
application. It is intended to ask the user for hostnames/IP-addresses 
for tomcat and a db-server, edit the context.xml to reflect the 
datasource, do some sql initialisation (so far, so good) and then (now 
that seems tricky) antomatically deploy the (local) war to a remote 
tomcat instance. It seems possible at least with tc5, since the ant 
task and the deployer app seem to do exactly this. How can it be archived?

Thanks in advance

		Phil

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


RE: thread deadlock problem

2004-03-21 Thread Christian Cryder
Hi Antonio,

 Are you absolutely sure of that?
 Could you please triple-check it? A System.out.println(something) at
 the *very* beginning of the doGet/doPost method would be enough.

Yeah. I'm basing it on the timestamps in the log4j log messages (which I've
never yet seen to be wrong). And I've verified it numerous times.

 Strange... Unlikely... but possible...

Yeah, that's what I thought too.

 And you would not make your writer wait, so your process would be
 faster, wouldn't it?

Yes, it would be faster (at least theoretically, although in practice
blocking doesn't occur unless the pipe fills up...so by tuning the size of
your pipe you should be able to come up with something that is just as fast,
in XX% of the cases). The downside of writing the whole thing to memory is
that in this small percentage of scenarios, the entire document gets written
to memory first, and if its a report that is hundreds of pages long, its
possible to run your server out of memory under load.

So the piped approach (if I could get it to work), would be preferable, even
if there's a slight hit on throughput. But if I can't, I can live with the
in-memory version.

Christian
--
Christian Cryder
Internet Architect, ATMReports.com
Project Chair, BarracudaMVC - http://barracudamvc.org
--
Coffee? I could quit anytime, just not today


 -Original Message-
 From: Antonio Fiol Bonnin [mailto:[EMAIL PROTECTED]
 Sent: Sunday, March 21, 2004 3:42 AM
 To: Tomcat Users List
 Subject: Re: thread deadlock problem


 Christian Cryder wrote:

 This works perfectly about 99% of the time. What we are observing is that
 there are certain situations where we encounter a deadlock scenario (and
 that's what prompted my original question). Basically, req2a writes the
 redirect back to the client, the client receives the redirect
 and actually
 sends a request back to the server (verified this by using a proxy to
 examine what is getting sent)... BUT - if req2a is already in
 the blocking
 code, tomcat simply does not accept req3 until the blocking code
 times out!
 Bad.
 
 

 Are you absolutely sure of that?

 Could you please triple-check it? A System.out.println(something) at
 the *very* beginning of the doGet/doPost method would be enough.

 Without seeing the code, I'd say there is a missing notifyAll() or
 notify() somewhere, to wake up the thread that is wait()'ing.


 Now what's interesting is that tomcat itself is not blocked at
 this point -
 I can send requests from other browsers, and those get handled
 just fine. So
 something seems to be happening where Tomcat cannot accept this
 particular
 request (req3), perhaps because its still trying to keep the physical
 connection associated with req2a open(?) (I'm thinking
 keep-alives here...in
 other words, if the browser is using keep-alives, req3 will be
 coming across
 the same physical connection as req2a, so its almost like tomcat
 thinks it
 still can't receive a new request across this connection, although the
 browser thinks its fine to go ahead and send it). But after
 req2a writes the
 redirect response to the browser, I close the writer and flush
 the buffer -
 there's nothing else I can do to say hey, I really am done with that
 response (even though I'm going to continue running in the background on
 the server and writing additional data - the real response, the
 report - to
 a memory structure).
 
 

 Strange... Unlikely... but possible...


 One easy solution is just to modify our piped reader/writer so
 that when the
 pipe size gets maxed it simply expands the size of the pipe.
 This would mean
 that we'd never actually have to block, so we'd never hit our
 deadlock. The
 downside is that it now means that in some cases we might be
 significantly
 increasing the size of our memory footprint for the server.
 Another option,
 I suppose, would be to simply pipe the document to disk, rather
 than storing
 it to memory.
 
 

 And you would not make your writer wait, so your process would be
 faster, wouldn't it?


 HTH,


 Antonio Fiol

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Possible thread crossing

2004-03-21 Thread Denise Mangano
Hi all,
 
I've tried searching archives and bugzilla for this but have come up
empty handed.  I am running Tomcat 4.1.30 on RedHat 9.  My java version
is 1.4.2.
 
One thing I have noticed is that there is only one java thread when I
start tomcat.  On a previous install there had been about 8.  Here is
the output of ps -ef relative to tomcat:
tomcat   13074 1  0 Mar11 ?00:00:32 /usr/local/java/bin/java
-Djava.endorsed.dirs=/usr/local/tomcat/common/endorsed -classpath
/usr/local/java/lib/t
 
Here is my problem:
 
I have a jsp form that accepts user input which is then verified and
sent off for processing.  I have approximately 10 forms set up for 10
different clients.  Each form has a specific serial number hard coded in
it which gets passed to the java bean processing the data- this way we
can easily identify which client the data is being processed for.  What
is happening is that information is getting crossed between clients and
information for client A gets processed under client B's account.  This
only appears to be happening for 4 of the clients - which happen to be
the ones processing the most data.  Researching the problem shows that
my app is sending the wrong serial number.
 
The only thing I can narrow it down to is Tomcat/Java.  Like I said the
serial numbers are hard coded on the jsp pages.  Everytime this jsp page
is submitted it forms its own instance of my java bean which can be
called one or more times.  So I guess my question is - is it possible
that somehow information from one thread is leaking to another thread?  

Thanks in advance.

Denise Mangano 
Complus Data Innovations, Inc. 
914-747-1200 

 


RE: Why can't tomcat find my bean classes?

2004-03-21 Thread Tom K
Tomcat like your bean in a package. 

-Original Message-
From: Roy Smith [mailto:[EMAIL PROTECTED] 
Sent: Saturday, March 20, 2004 4:31 PM
To: [EMAIL PROTECTED]@jakarta.apache.org
Cc: Roy Smith
Subject: Why can't tomcat find my bean classes? 

I'm running jakarta-tomcat-5.0.18 on OSX.

I've got a trivial little JSP file:

jsp:useBean id=doubler class=DoublerBean scope=page
jsp:setProperty name=doubler property=in value=wugga/
/jsp:useBean
html
body
It looks like quot;jsp:getProperty name=doubler
property=out/quot;
/body
/html

and my DoublerBean.java file is pretty simple too:

public class DoublerBean
{
  private String phrase;

  public DoublerBean ()
  {
  // empty
  }

  public void setIn (String phrase)
  {
  this.phrase = phrase;
  }

  public String getOut ()
  {
  return (phrase + ,  + phrase);
  }
}

When I run ant, I get a build/WEB-INF/classes/DoublerBean.class file,
but my jsp application can't seem to find the DoublerBean class.  When
I reload my app through the manager and run it, I get:

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 1 in the jsp file: /foo.jsp

Generated servlet error:
  [javac] Compiling 1 source file

/usr/local/jakarta-tomcat-5.0.18/work/Catalina/localhost/SquawkLog/org/
apache/jsp/foo_jsp.java:40: cannot resolve symbol
symbol  : class DoublerBean
location: class org.apache.jsp.foo_jsp
DoublerBean doubler = null;
^

and a few more similar errors complaining that it can't resolve
DoublerBean.  Other JSP pages I wrote were able to find their required
classes in the same location.  What's different about finding bean
classes?


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.557 / Virus Database: 349 - Release Date: 12/30/2003
 

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.557 / Virus Database: 349 - Release Date: 12/30/2003
 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Possible thread crossing

2004-03-21 Thread Nikola Milutinovic
Denise Mangano wrote:

The only thing I can narrow it down to is Tomcat/Java.  Like I said the
serial numbers are hard coded on the jsp pages.  Everytime this jsp page
is submitted it forms its own instance of my java bean which can be
called one or more times.  So I guess my question is - is it possible
that somehow information from one thread is leaking to another thread?  
So, not only data is leaking, but always the same data. That is possible, but 
sooo unlikely. I'd do two things.

1: setup network sniffer, see the actual data being sent
2: look for some static/instance variables being updated in those JSPs
Nix.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


RE: Horrible memory leak in tomcat 5.0.19 (JMX bug?)

2004-03-21 Thread Ralph Einfeldt
To your question: I don't know.

Having a delay in the jsp (or servlet) isn't enough to
enshure concurrent requests. You have to do something 
on the calling site to enforce this.

If you just call lynx as in your example, lynx will
wait until the response is there. So if you delay the 
jsp, you just delay the return of lynx.

So you have either to run more than one instace of your 
script at the same time or to extend the scrip in a way
that it runs several lynx instances at the same time.


 -Original Message-
 From: Joseph Shraibman [mailto:[EMAIL PROTECTED]
 Sent: Friday, March 19, 2004 7:21 PM
 To: Tomcat Users List
 Subject: Re: Horrible memory leak in tomcat 5.0.19 (JMX bug?)
 
 Why are those message generated by a thread starting up or something? 
 If so I already have a jsp with a built in delay I can use to 
 make sure there are a bunch of requests at the same time
 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



redirecting ajp13 requests from tomcat to tomcat

2004-03-21 Thread Nicki Pearson
Hi,
I am running tomcat 4.1.24 on solaris - with an IIS 5 webserver using
isapi_redirector2.dll.  I have 2 instances of tomcat servlet engine
running on different ports on solaris.  I would like IIS to send all
ajp13 servlet request to tomcat instance1.  I would then like tomcat
instance1 to forward certain requests (based on certain URL pattern) to
tomcat instance2.
 
I can see that I can do this via a servlet or the balancer webapp if I
want to redirect http:, but does anyone know a way I can redirect ajp13?
 
 
BTW - I do not want to reference both tomcat instances in the
workers2.properties file on the IIS webserver - I just want tomcat
instance1 to handle any redirecting required.
 
I hope this question makes sense!
Thanks in advance,
Nicki


**
*   IMPORTANT INFORMATION*
This document should be read only by those persons to whom it is 
addressed and its content is not intended for use by any other 
persons.  If you have received this message in error, please notify 
us immediately.  Please also destroy and delete the message from 
your computer.  Any unauthorised form of reproduction of this message 
is strictly prohibited.

St George Bank Limited AFSL 240997 or its subsidiaries ASSIRT Pty Ltd 
AFSL 240979, Advance Asset Management Limited AFSL 240902, PACT 
Accountants Investment Group Pty Limited AFSL 240693, St George Life 
Limited AFSL 240900, ASGARD Capital Management Limited AFSL 240695 
and Securitor Financial Group Limited AFSL 240687 is not liable for 
the proper and complete transmission of the information contained in 
this communication, nor for any delay in its receipt.
**



Re: http://localhost/ works but http://ip address/ doesn't

2004-03-21 Thread Ted Anagnost
Hello Doug,

 Sitting at you windows box that is running TC you can open IE and access
 http://localhost but if you try to access http://yourMachinesIP it fails.

Right


 From a command prompt ping localhost. Then ping the IP of your machine.

Both return a response.  I'm using the Linksys router BEFSR41 with port
forwarding enabled for port 80.



 Notice that localhost resolves to 127.0.0.?

 Do an ipconfig /all from the command promrt. Confirm the IP of your
machine.

This shows 192.168.1.100 as the IP for my machine.


 Are you running ANY firewall software? Disable it on a temporary basis to
 test.

Not sure how to cleanly disable the Linksys firewall protection.

 Then configure it to allow http port 80 traffic through.

Port forwarding is enabled for port 80 (http).


What else?



 I am not aware of any setting that binds tomcat to an IP like apache can.
 Although you can filter on an IP.

 Doug
 www.parsonstechnical.com


 - Original Message - 
 From: Ted Anagnost [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Sent: Friday, March 19, 2004 3:36 AM
 Subject: http://localhost/ works but http://ip address/ doesn't


 http://localhost/ works but http://ip address/ doesn't. Internet
Explorer

 gives a Cannot find server message.

 I have tomcat 5.0.18 (without apache).

 I can ping my IP externally. I have port forwarding enabled on my router.

 Is there something I need to do to server.xml to enable this to work?

 Thanks



 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]