Re: 1 jakarta server + multiple ip's
Virtual hosting is done based on the host: header send by browser to the server, as part of the request, based on HTTP/1.1 protocol. Le Mardi 2 Août 2005 13:36, [EMAIL PROTECTED] a écrit : Hello, I'm configuring a tomcat-server and the server has multiple ip's. I would like to setup virtual hosts based on the ip-address. I wouldn't like running multiple servers. situation: one networkdevice (eth0) has 2 ip's. I would like to setup virtual hosts based on the ip's. What I've done: I have setup aliases for the possible dns-names of the second virtual host (the possible names for one of the ip's). I have also added the ip itself to the aliases link. However, I don't know how tomcat filter based on these names. The ip-alias seems to work, so I'm wondering what tomcat is comparing it with. I suppose Tomcat requests the dns-name that corresponds to that id. So, I'm wondering if this setup filters on ip? thanks, Michel - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- David Delbecq Royal Meteorological Institute of Belgium - Is there life after /sbin/halt -p? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Silent runtime replace of a class
This is tricky. Concerning jsp, you can simply replace old jsp with new one, they'll get recompiled. But what do you mean by replacing a class without affecting user work? This is practically impossible to do, because you can't change the class of an existing instance, all you can do is load new instances with the new .class. Howevr that mean datas saved in sessions and the new class will indeed be different (so things like (MyClass)session.get(someKey), will fail because someKey is of the old type. If what you want is redeploy a war without restarting tomcat, no problem, tomcat doens only restart the redeployed webapp. Le Mardi 5 Juillet 2005 14:21, Gal Robert a écrit : Hi, we have a new user requriement: to be able to modifiy the application without affecting user work. Is there any way to achieve this under tomcat? Currently we're building war file. Is there any way to replace a class (maybe jsp class) runtime, without restarting the tomcat? any information is welcome thanks. robert - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- David Delbecq Royal Meteorological Institute of Belgium - Is there life after /sbin/halt -p? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: No more than 500 threads on Windows 2003?
Maybe you could switch the jvm to green threads ? Le Vendredi 1 Juillet 2005 09:57, Michael Kleinhenz a écrit : maybe. I can't confirm, because it fails so fast, I can't take a look in the manager app to see the exact number of threads when it begins hanging. I experienced the problem with Tomcat 5.0.28+JDK1.4.2 and Tomcat 5.5.9+JDK1.5.0 while my (somewhat slower) notebook can do 800+ threads with Debian and 5.0.28+1.4.2 without problems. Seems to me like a Windows problem, but I can't find anything in the docs nor via Google.. ;-( Windows sucks.. -- Michael delbd schrieb: Just by curiosity, does it have something like '511 Threads is ok but 512 fails?' :D Le Jeudi 30 Juin 2005 15:09, Michael Kleinhenz a écrit : Hi, I'm currently integrating a SOAP-based middleware on Tomcat (5.5.9) with Sun JDK 1.5.0_02 and get into problems when using maxThreads with a value greater than 500. Tomcat locks up completely without getting back to normal operations after a while. No exception or error is reported in the logs, it just stops. All connections are refused after the lockup. Tomcat has enough memory (1GB) assigned with the JVM options. If I use maxThreads=500, the server runs fine, but 500 is not enough for my project ;-( I tried to increase the stack size, but this doesn't help.. The connector is defined as: Connector port= maxHttpHeaderSize=8192 maxThreads=500 minSpareThreads=50 maxSpareThreads=150 enableLookups=false redirectPort=8443 acceptCount=200 connectionTimeout=2 disableUploadTimeout=true/ If I change 500 to 700 or more, Tomcat locks up. Is this a Windows problem?? Hardware is not an issue, I think.. (dual Xeon 3,4GHz, 4GB).. Thanks, Michael -- David Delbecq Royal Meteorological Institute of Belgium - Is there life after /sbin/halt -p? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: No more than 500 threads on Windows 2003?
I may be wrong, but as far as my knowledge goes on green threads, this is just a matter of dedactivating native system thread to use an internal threading / sheduling system in the jvm. I see no reason why this wouldn't exist on windows version of jvm. Le Vendredi 1 Juillet 2005 10:39, Michael Kleinhenz a écrit : as far as I know, the concept of green and native threads only applies to Unix systems...? -- Michael On Fri, Jul 01, 2005 at 10:44:38AM +0200, delbd wrote: Maybe you could switch the jvm to green threads ? Le Vendredi 1 Juillet 2005 09:57, Michael Kleinhenz a écrit : maybe. I can't confirm, because it fails so fast, I can't take a look in the manager app to see the exact number of threads when it begins hanging. I experienced the problem with Tomcat 5.0.28+JDK1.4.2 and Tomcat 5.5.9+JDK1.5.0 while my (somewhat slower) notebook can do 800+ threads with Debian and 5.0.28+1.4.2 without problems. Seems to me like a Windows problem, but I can't find anything in the docs nor via Google.. ;-( Windows sucks.. -- Michael delbd schrieb: Just by curiosity, does it have something like '511 Threads is ok but 512 fails?' :D Le Jeudi 30 Juin 2005 15:09, Michael Kleinhenz a écrit : Hi, I'm currently integrating a SOAP-based middleware on Tomcat (5.5.9) with Sun JDK 1.5.0_02 and get into problems when using maxThreads with a value greater than 500. Tomcat locks up completely without getting back to normal operations after a while. No exception or error is reported in the logs, it just stops. All connections are refused after the lockup. Tomcat has enough memory (1GB) assigned with the JVM options. If I use maxThreads=500, the server runs fine, but 500 is not enough for my project ;-( I tried to increase the stack size, but this doesn't help.. The connector is defined as: Connector port= maxHttpHeaderSize=8192 maxThreads=500 minSpareThreads=50 maxSpareThreads=150 enableLookups=false redirectPort=8443 acceptCount=200 connectionTimeout=2 disableUploadTimeout=true/ If I change 500 to 700 or more, Tomcat locks up. Is this a Windows problem?? Hardware is not an issue, I think.. (dual Xeon 3,4GHz, 4GB).. Thanks, Michael -- David Delbecq Royal Meteorological Institute of Belgium - Is there life after /sbin/halt -p? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- David Delbecq Royal Meteorological Institute of Belgium - Is there life after /sbin/halt -p? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: No more than 500 threads on Windows 2003?
Just by curiosity, does it have something like '511 Threads is ok but 512 fails?' :D Le Jeudi 30 Juin 2005 15:09, Michael Kleinhenz a écrit : Hi, I'm currently integrating a SOAP-based middleware on Tomcat (5.5.9) with Sun JDK 1.5.0_02 and get into problems when using maxThreads with a value greater than 500. Tomcat locks up completely without getting back to normal operations after a while. No exception or error is reported in the logs, it just stops. All connections are refused after the lockup. Tomcat has enough memory (1GB) assigned with the JVM options. If I use maxThreads=500, the server runs fine, but 500 is not enough for my project ;-( I tried to increase the stack size, but this doesn't help.. The connector is defined as: Connector port= maxHttpHeaderSize=8192 maxThreads=500 minSpareThreads=50 maxSpareThreads=150 enableLookups=false redirectPort=8443 acceptCount=200 connectionTimeout=2 disableUploadTimeout=true/ If I change 500 to 700 or more, Tomcat locks up. Is this a Windows problem?? Hardware is not an issue, I think.. (dual Xeon 3,4GHz, 4GB).. Thanks, Michael -- David Delbecq Royal Meteorological Institute of Belgium - Is there life after /sbin/halt -p? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: http session lost between struts action
Don't know if it is related, but a note on an issue in session tracking we got here (an how we soluced it) We got the following scenario: 1) someone get a link to a struts form in an email 2) He get to the page by clicking on link 3) The page is in a 'secure' area, meaning he gets a popup from browser for the basic-auth 4) User login in and see the form (This is the first time tomcat send a webpage in this session) 5) User fills the form and submit 6) in the Action, request.getUserPrincipal() returns null Diagnostic: session is lost at the second request (that is when tomcat will check if cookies is supported) Reason: it seems tomcat does not parse the ;JSESSIONID= par of url when the form is multipart (for file uploads) Solution: have to user go to an intermediate redirect page before *and* have the browser with cookies enabled Le Lundi 27 Juin 2005 15:56, angelina zh a écrit : Jack, I dont understand why you keep saying there is nothing worng. The session got established at the log in page and kept valid in the security re-diredct pages till the welcome page. Then session got lost. Why there is nothing wrong with it? The session id did not get lost, just the http session lost. Regards, Angelina Dakota Jack [EMAIL PROTECTED] wrote: There is nothing wrong. You don't have a new session in your browser. On 6/23/05, angelina zh wrote: Hi, Can anyone please help me on this session lost issue? Here is the problem I am getting: -- If I open a IE 6.0 browser and log into the web site we are developing, I get into a welcome page with a few of link options. In the login action class, we set some attributes into the session. If I click on any of the links, I got null pointer exception in next action class when we try to get attributes from the session. I tried to use Eclipse to debug, noticed that the session of the request after the welcome page became to null. --If I keep that browser open and go to the log in page again. After I log in, I get into the welcome page and if I click any of the links now, the session of the request is not null and I can go to any links without any problem. The null pointer did not occur in the following action class. --If I close the browser then open browser again, I get NullPointerException again if I repeat those steps. What might be wrong? Thanks so much in advance. Angelina - Yahoo! Sports Rekindle the Rivalries. Sign up for Fantasy Football -- David Delbecq Royal Meteorological Institute of Belgium - Is there life after /sbin/halt -p? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Unable to get Console in Solaris
Like for other unixes: tail -f logs/catalina.out Le Lundi 27 Juin 2005 17:07, Sharath Srivatsa a écrit : Hi, I have loaded Apache Tomcat 4.1 on Solaris machine. After I use the startup.sh script,Iam not getting the console. Can anyone tell me hoe do i get the console. Thank You Sharath __ -- David Delbecq Royal Meteorological Institute of Belgium - Is there life after /sbin/halt -p? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
security role 'any'?
Hello, In a security-contraint section of my web.xml, i'll like to state that any authentified user is allowed to access, no matter his role. I search the net and found suggestion about using auth-constraint role-name*/role-name /auth-constraint or auth-constraint role-nameany/role-name /auth-constraint but none seems to work, i am authentified but i get an access denied. Do you have any suggestion? -- David Delbecq Royal Meteorological Institute of Belgium - Is there life after /sbin/halt -p? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat memory question
I think struts would not support gracefully to be put in common/lib Le Mardi 14 Juin 2005 11:46, Charl Gerber a écrit : The webapps are small: the actuall jars are about 2MB. Traffic is relative lowkey, a few thousand hits per day AT MOST (more likely less). Each .war at the moment has its own struts and jstl jars. Would it help if I move them to the common/lib directory? I put them seperately at first because I wanted each webapp to log to its own log files. If I move them to the common/lib, how will this affect logging of classes shared by webapps? --- Dale, Matt [EMAIL PROTECTED] wrote: Both active sessions and the number of webapps will fill up your heap. Within 64MB I think you will struggle to run 15-20 webapps but without knowing the exact size of them all and the amount of hits you expect I couldn't say for sure. Ta Matt -Original Message- From: Charl Gerber [mailto:[EMAIL PROTECTED] Sent: 14 June 2005 10:33 To: tomcat-user@jakarta.apache.org Subject: Tomcat memory question My tomcat instance is now running 10 webapps and will most likely get more, in the region of 15. My service provider configures my server with 64MB heap space. Question is, what affects the memory usage? Purely the number of hits (ie active sessions) or the number of webapps as well? Should my server run ok with 64MB heap memory for say 15 or maybe even 20 webapps? The apps itself are rather small. Thanks. Charl - 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] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- David Delbecq Royal Meteorological Institute of Belgium - Is there life after /sbin/halt -p? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Q] when to share jars
The best place to search for this info is in the library website. You found the problem of log4j by trail / error? if you had read the log4j doc, it's written explicitly, do not put log4j in the shared lib of your container or you won't be able to have a different config per webapp. For struts, it's written in doc you can't put 2 different mappings for the struts servlet, so it would also behave badly when put as shared library. But what you can do is put some libraries struts depends on in shared/lib and struts itself in each webapp. As a rule of thumb, ask your self if the library you are using requires any configuration or permanent state. If it does, ask yourself if you can afford this configuration to be shared by all web applications. If any of the answers is no, then you can't put them in shared/lib Le Mardi 14 Juin 2005 11:57, Charl Gerber a écrit : When do you share jars (struts, log4j, jstl, etc) for webapps in the common/lib directory and when does each app need its own copy of the jars? Log4j we've found by trail and error is better to have a jar per webapp, as the loggers seems to overwrite each other, but which commonly used jars (struts, jstl) can be shared? Thanks Charl - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- David Delbecq Royal Meteorological Institute of Belgium - Is there life after /sbin/halt -p? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat memory question
As you may never know where the Error occured, it may be some tools of the webapp are left in an unconsistent state (transactions not closed, inconsistent session, jsp not compiled and so on). So restarting is probably needed. Le Mardi 14 Juin 2005 11:49, Charl Gerber a écrit : If Tomcat does run out of memory, what will happen? Will a user just temporarily not be able to access the apps until another session becomes available, or will it crash and I have to restart? Will 128MB be fine? --- Dale, Matt [EMAIL PROTECTED] wrote: Both active sessions and the number of webapps will fill up your heap. Within 64MB I think you will struggle to run 15-20 webapps but without knowing the exact size of them all and the amount of hits you expect I couldn't say for sure. Ta Matt -Original Message- From: Charl Gerber [mailto:[EMAIL PROTECTED] Sent: 14 June 2005 10:33 To: tomcat-user@jakarta.apache.org Subject: Tomcat memory question My tomcat instance is now running 10 webapps and will most likely get more, in the region of 15. My service provider configures my server with 64MB heap space. Question is, what affects the memory usage? Purely the number of hits (ie active sessions) or the number of webapps as well? Should my server run ok with 64MB heap memory for say 15 or maybe even 20 webapps? The apps itself are rather small. Thanks. Charl - 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] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- David Delbecq Royal Meteorological Institute of Belgium - Is there life after /sbin/halt -p? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Q] when to share jars
Then put those libs in WEB-INF/lib too Le Mardi 14 Juin 2005 14:31, teknokrat a écrit : Charl Gerber wrote: When do you share jars (struts, log4j, jstl, etc) for webapps in the common/lib directory and when does each app need its own copy of the jars? Log4j we've found by trail and error is better to have a jar per webapp, as the loggers seems to overwrite each other, but which commonly used jars (struts, jstl) can be shared? Thanks Charl What if you have libraries in shared/lib that use log4j? If you place log4j in WEB-INF/lib and shared/lib you get errors. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- David Delbecq Royal Meteorological Institute of Belgium - Is there life after /sbin/halt -p? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: high cpu usage during xslt processing (resending)
Dunno for windows, but CPU usage for tomcat on linux is always 100% of available CPU time when serving any kind of request. This is the case for any application (tomcat or other) because this is the way process management is done in the OS (any application get 100% CPU when requesting it if the application is the only one to request CPU). Of course if i run 2 applications and ask them both do do calculations at the same time, they will each use 50% CPU (100% each if you have multiprocessor). If i change the priority of one of those applications if might get something like 20% for one and 80% for the other one. So the question is not how much cpu time is used (if i use 100% that means it uses all available cpu, which is good because it use everything it can to server the request as fat as possible), but the question might rather be to know if serving 15 xsl pages simultaneously on tomcat is significantly slower than serving the same 15 pages on jrun Anyway if all you want is have tomcat not slow down other service you might have, just lower it's process priority (using windows tools provided and i don't know about) Le Jeudi 9 Juin 2005 09:51, kamal r a écrit : (Resending as earlier mail had bounced) Recently we have migrated our application from jrun3.1 to tomcat 4.1.31 running on windows 2000 advanced server. It uses saxon 6.5.3 for xslt processing and the cpu usage is almost 100% even for 15 concurrent users. So in order to do a simple load test on the xslt part alone, I wrote a test jsp and the cpu usage is almost 100% for 15 concurrent users for a xsl file 106kb in size. XSLTTest.jsp TransformerFactory factory = TransformerFactory.newInstance(); StreamSource source = new StreamSource(new FileInputStream(test.xsl)); Templates pss = factory.newTemplates(source); Transformer transformer = pss.newTransformer(); ByteArrayInputStream temp = new ByteArrayInputStream(xml/xml.getBytes()); source = new StreamSource(temp); StreamResult result = new StreamResult(response.getOutputStream()); transformer.transform(source, result); The cpu usage is at 60% for the same jsp page on the jrun 3.1 server. Can anybody provide me with pointers to reduce cpu usage or has anyone who has faced a similar scenario. Please let me know if I need to provide more inputs as this is my first mail to the list. Thanks Kamal Send instant messages to your online friends http://uk.messenger.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- David Delbecq Royal Meteorological Institute of Belgium - Is there life after /sbin/halt -p? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Importing user-defined class in a JSP page
Supposing your class looks like the following: package com.mycompany.mywebapp public class MyClass { } then you need the following import directive %@ page import=com.mycompany.mywebapp.MyClass% or %@ page import=com.mycompany.mywebapp.*% Please note, i see you have your error at line 85, don't forget your %@ page import=... % directives must be at the top of the jps, not in the code Also, compiled class must be either in WEB-INF/classes/com/mycompany/mywebapp/MyClass.class or in a .jar file located in WEB-IF/lib/*.jar Le Jeudi 9 Juin 2005 15:50, [EMAIL PROTECTED] a écrit : I'm new to programming in JSP/Tomcat. I am kinda held back with the following simple situation. I have database connection class that I'm trying to import in my jsp file with no success so far (ChangePassword). I am compiling with JDK1.4.2.08. My JSP page is in $CATALINA_HOME/webapps/mywebapp/ I do have a web.xml file that is correctly configured with passwords and values to allow the application to connect to the user directory. This is the stack trace of the error: org.apache.jasper.JasperException: Unable to compile class for JSP An error occurred at line: 85 in the jsp file: /changepw.jsp Generated servlet error: Invalid argument to operation ++/-- org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHa ndler.java:84) org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.ja va:328) org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:39 7) org.apache.jasper.compiler.Compiler.compile(Compiler.java:288) org.apache.jasper.compiler.Compiler.compile(Compiler.java:267) org.apache.jasper.compiler.Compiler.compile(Compiler.java:255) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.ja va:556) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.ja va:293) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) Any ideas how to import a user-defined class in JSP, I mean where to place the class file and is there anyother environment variable to set? I read somewhere that if you are using jdk 1.4 and above, you need to have package name for classes. It said to Put your webappname class in a package, compile it and then import it like the following in your JSP file: %@ page import=packagename.WebAppName% Again, I am new to all of this so could you possibly help me with the issue as well as helping me to understand the potential fix as outlined above? I would really appreciate any help you can provide. Thanks This message is for the designated recipient only and may contain privileged, proprietary, or otherwise private information. If you have received it in error, please notify the sender immediately and delete the original. Any other use of the email by you is prohibited. -- David Delbecq Royal Meteorological Institute of Belgium - Is there life after /sbin/halt -p? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: adding new virtual hosts without restart?
If you add virtual hosts using the tomcat admin interface and hit the commit button on top after all changes, you do not have to issue a bin/shutdown.sh and a bin/startup.sh. However, the catalina engine is restarted and so are all webapps in it. Le Mercredi 8 Juin 2005 14:39, Thomas Corte a écrit : Hello, I understand that it is possible to (re-)deploy new contexts/web applications in Tomcat 5.5.9 without a complete server restart. I wonder whether the same might be possible for new virtual hosts, i.e. adding new virtual hosts/IP addresses to a running Tomcat server. From the documentation, I get the impression that this is *not* possible, which means that I'd have to stop and start tomcat to do this. Is there a way to do it without restart? -- David Delbecq Royal Meteorological Institute of Belgium - Is there life after /sbin/halt -p? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Realm implemenation, passing additionnal informations to webapplication
Hello, I had to write my own realm implementation to authenticate users. Now am faced with a problem, this realm contains additionnal datas on the user, like email, fullname, office telephone number. I'd like to pass this informations to the webapplication, however am not sure how to do this. I thought to create a decorator class around a Principal to store this information and do a typecasting in webapp to access additionnal informations. But the realm implementation is stored in server/lib/myrealm.jar and am not sure classes in server/lib/*.jar are visible to the webapplication. Any recommendation? -- David Delbecq Royal Meteorological Institute of Belgium - Is there life after /sbin/halt -p? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Realm implemenation, passing additionnal informations to webapplication
Thanks for quick answer Peter. Le Lundi 6 Juin 2005 11:43, Peter Crowther a écrit : From: delbd [mailto:[EMAIL PROTECTED] I thought to create a decorator class around a Principal to store this information and do a typecasting in webapp to access additionnal informations. Or implement your own Principal - either would work I think. But the realm implementation is stored in server/lib/myrealm.jar and am not sure classes in server/lib/*.jar are visible to the webapplication. Any recommendation? We've dealt with this in another project by splitting the implementation into two jars: myrealm-impl.jar and myrealm-api.jar. The API jar contains the classes required by server and webapp (which should just be the interface definitions if it's factored correctly), and goes into common/lib. The other jar contains the implementation and goes in server/lib. It worked for us; watch out for classloader issues if you mention any class in the API that is in the implementation jar, as the webapp won't be able to load those classes. - Peter -- Peter Crowther, Director, Melandra Limited John Dalton House, 121 Deansgate, Manchester M3 2AB t: +44 (0)161 828 8736 f: +44 (0)161 832 5683 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- David Delbecq Royal Meteorological Institute of Belgium - Is there life after /sbin/halt -p? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Realm implemenation, passing additionnal informations to webapplication
Does the realm have access to the session? Because informations i need in webapp is taken from where the realms does it's authentification. I my case, the realm access a NIS to check user passwoard, and informations such as fullname, phone and email, are alos in this nis. I do not want the webapp to also access directly the nis. Le Lundi 6 Juin 2005 12:48, QM a écrit : On Mon, Jun 06, 2005 at 11:36:11AM +0200, delbd wrote: : I had to write my own realm implementation to authenticate users. : Now am faced with a problem, this realm contains additionnal datas on the : user, like email, fullname, office telephone number. : I'd like to pass this informations to the webapplication, however am not : sure how to do this. Let's take a step back: is the extra info used to authenticate the user? or is it used by the webapp itself, after the user has logged in? In the latter case, you can store a user-specific object in the session after the user logs in. Many people write a ServletFilter that checks for said object and, if it doesn't exist, creates/populates it. (Of course, the filter should only be mapped to protected areas; it is otherwise of limited value ;) -QM -- David Delbecq Royal Meteorological Institute of Belgium - Is there life after /sbin/halt -p? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: WebappClassLoader - don't understand what's happening
This indeed should not happen as this would break sun specs. I would be quite surprised it it was at all possible :/ How did you conclude the webappclassloader is sharing the class between webapps in your case? Are you sure you are not mistakenly using a shared class? Not only does every webapp has his very own webappclassloader, but if you reload the webapp (using the manager/html interface) this should also create a new webclassloader and reload all classes (did you check it was the case?). Am also using tomcat 5.5.7 here, with jdk 1.4.2_05-b04 and we didn't notice such a problem. We can deploy several webapps, all using a library in WEB-INF/lib which is crating singletons. All webapp has it's own sets of singletons. Could it be that you are in fact doing such scenario? - create an object of class A in webapp1 using webappclassloader1 - push this object to some library shared between webapplications - retrieve the object from shared library in webapp2 (as this is via a shared library, it's possibile to do and you and up manipulating in webapp2 an object who's classloader is webappclassloader1) - in webapp2, calls something like a.createB() to get an object of class B and be surprised that the class of B was created using webappclassloader1 Le Jeudi 2 Juin 2005 10:59, Herrmann, Sascha (GE Healthcare) a écrit : We are facing a problem with Tomcats WebappClassLoader. We deploy several of our own applications on one Tomcat server. It seems that the WebappClassLoaderS are not isolated but share classes instead. Why would that be? Judging from the (well, outdated) classloader documentation, this should never happen. If an application tries to use a class, and the class is in a jar in its WEB_INF\lib directory, then the class should be loaded by the application's very own WebappClassLoader. It should not be available to other WebappClassLoaderS, isn't that correct? I quote: All unpacked classes and resources in the /WEB-INF/classes directory of your web application archive, plus classes and resources in JAR files under the /WEB-INF/lib directory of your web application archive, are made visible to the containing web application, **but to no others**. Instead of sharing the class, the second WebappClassLoader should load the class again, shouldn't it? So why does a WebappClassLoader here re-use a class already loaded by the WebappClassLoader of another application? We're running 5.5.7 on JDK 142_08. Thanks in advance! Sascha Herrmann Engineering (Java) GE Healthcare Technologies - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- David Delbecq Royal Meteorological Institute of Belgium - Is there life after /sbin/halt -p? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: WebappClassLoader - don't understand what's happening
) Sascha -Original Message- From: delbd [mailto:[EMAIL PROTECTED] Sent: Thursday, June 02, 2005 12:33 PM To: Tomcat Users List Subject: Re: WebappClassLoader - don't understand what's happening This indeed should not happen as this would break sun specs. I would be quite surprised it it was at all possible :/ How did you conclude the webappclassloader is sharing the class between webapps in your case? Are you sure you are not mistakenly using a shared class? Not only does every webapp has his very own webappclassloader, but if you reload the webapp (using the manager/html interface) this should also create a new webclassloader and reload all classes (did you check it was the case?). Am also using tomcat 5.5.7 here, with jdk 1.4.2_05-b04 and we didn't notice such a problem. We can deploy several webapps, all using a library in WEB-INF/lib which is crating singletons. All webapp has it's own sets of singletons. Could it be that you are in fact doing such scenario? - create an object of class A in webapp1 using webappclassloader1 - push this object to some library shared between webapplications - retrieve the object from shared library in webapp2 (as this is via a shared library, it's possibile to do and you and up manipulating in webapp2 an object who's classloader is webappclassloader1) - in webapp2, calls something like a.createB() to get an object of class B and be surprised that the class of B was created using webappclassloader1 Le Jeudi 2 Juin 2005 10:59, Herrmann, Sascha (GE Healthcare) a écrit : We are facing a problem with Tomcats WebappClassLoader. We deploy several of our own applications on one Tomcat server. It seems that the WebappClassLoaderS are not isolated but share classes instead. Why would that be? Judging from the (well, outdated) classloader documentation, this should never happen. If an application tries to use a class, and the class is in a jar in its WEB_INF\lib directory, then the class should be loaded by the application's very own WebappClassLoader. It should not be available to other WebappClassLoaderS, isn't that correct? I quote: All unpacked classes and resources in the /WEB-INF/classes directory of your web application archive, plus classes and resources in JAR files under the /WEB-INF/lib directory of your web application archive, are made visible to the containing web application, **but to no others**. Instead of sharing the class, the second WebappClassLoader should load the class again, shouldn't it? So why does a WebappClassLoader here re-use a class already loaded by the WebappClassLoader of another application? We're running 5.5.7 on JDK 142_08. Thanks in advance! Sascha Herrmann Engineering (Java) GE Healthcare Technologies - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- David Delbecq Royal Meteorological Institute of Belgium - Is there life after /sbin/halt -p? - 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] -- David Delbecq Royal Meteorological Institute of Belgium - Is there life after /sbin/halt -p? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Réf. : Re: ClassNotFoundException in thread
is there a static initialisation code in com.nexans.statistic.client.model.send.intranet.handler.CreateFileProcedure ? or static properties whose values are taken from other methods? If anything in the static initialisation of class com.nexans.statistic.client.model.send.intranet.handler.CreateFileProcedure throws an Exception, the class wil be considered as non-existent. (which is quite normal, sometinh that could not be create does not exist) Le Jeudi 2 Juin 2005 15:58, [EMAIL PROTECTED] a écrit : Everything was fin until I migrated. Now the jobs run OK but they fire a ClassNotFoundException as shwon : You double checked that com.nexans.statistic.client.model.send.intranet.handler.CreateFileProcedur e is there in the jar and is in the right folder ?. Restarted Tomcat ?. Also try with a fresh copy of the jar. Anto, the class is there, both in the jar or in the classes directory (when I removed the jar of course). The package is well spelled, and java at the command line returns me a no main function error when I try to run it from the WEB-INF dir. Tomcat was restarted (both the server and the webapp) many times during this. I guess the problem is elsewhere :) Cyril - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- David Delbecq Royal Meteorological Institute of Belgium - Is there life after /sbin/halt -p? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: WebappClassLoader - don't understand what's happening
Le Jeudi 2 Juin 2005 14:50, Herrmann, Sascha (GE Healthcare) a écrit : Any library having static methods like SomeLibraryClass.setXYZ(xyz); SomeLibraryClass.getXYZ(xyz); Wow, wow, wow . You mean any class that has static methods gets shared?? Any class that calls static methods? Could you explain that a bit further, please? No, i mean a shared class which has static methods could potentially serves as a bridge for objects between web applications :) I forgot the 'shared' in the sentence 'Any shared library having static methods', sorry ;) so i doubt usefull informations comes from it. It works for all the other methods I put this code in. It seems that Tomcat assigns the CL to thread when it's fetched from the pool. Possible, might have a sense in terms of security. It's definitely the case. We have a static log variable in the classes. It holds the log4j logger reference. All the debug output from the class goes into the log file of the application that started first (the one that loaded the class). Even the output when I use the app that was started second. That's how I noticed in the first place. is log4j a shared lib? if this is the case, might explain why all logs are in one common file (see log4j explanations for details, it's stated log4j should be put in WEB-INF/lib and nowhere else to prevent problems in J2EE environnement). In your case, this simply mean the config is shared, like is the log4j libraries. Don't mis this point: static Logger Logger.getLogger(SomeClass.class), does not mean the logger is 'the one for the class' but this mean the Logger is 'the one having the name some.package.SomeClass' this difference is subtle but has lots of implications when several different classes with excaclty the same name and package are using a common Log4j library. Are you familiar with the classloading stuff? did lose my mind in the maze of classloading several time. I was wondering ... when the WebappClassLoader doesn't find the class in its path, and then delegates the loading to the shared classloader ... and when then the shared classloader loads the class who resolves the dependecies of this loaded class? Does the WebappClassLoader get a shot first, or is it still the shared classloader? when the shared class loader loads a class in the delegation model, it assigns itself to the class.getClassLoader(). That is any other class further loaded by object of the first class will be loaded using the shared classloader. This is the excpected behaviour. So in your question, the answer is no the WebappClassLoader is not given a chance to resolve as shared classloader does not know it's childrens What if the shared classloader loads a class, and then cannot resolve a referenced class (because it's in one of the app's WEB-INF\lib directories) the sharedclassloader is unable to load anything in WEB-INF/lib, because it doesn't know about it. So in your case, it will ask it's parent (probably the JVM classLoader) which will throw a ClassNotFoundException ... how does he determine which child WebappClassLoader he is to use? And who is registered in the JVM then as initiating classloader? The delegation model goes down - top (from the calling class' classloader to the root classloader), it nevers goes back down later. A class instanciated by the shared classloader, is *never* able to load any class from a WEB-INF/lib using Class.forName() I am asking because we have classes in our shared\lib directory. Those classes use a factory pattern to instantiate classes (that can be in the WEB-INF\lib dirs). Now, I wonder how these classes are loaded, that the factory class in shared\lib needs? Sorry but if factories are in shared/lib, they are unable to load anything from WEB-INF/lib with one exception, if they are passed as argument the classloader of the WEB-INF/lib to use, they can use it to instanciate the class. But this is not a suggested way to write factories. However, a better behaviour would anyway be to put those factories in WEB-INF/lib insteed of shared/lib Or am I thinking in the wrong direction? Does the WebappClassLoader always try first? Damn, I wish I would know this classloading stuff better. We all learned the way they work the hardway ;) and yes you are thinking in the wrong direction, you think the delegation model is a 2 way path. This is not, it's a no return path. Do you have an idea why I cannot get logging output from the WebappClassLoaderS? see messages above. ;) Sascha -Original Message- From: delbd [mailto:[EMAIL PROTECTED] Sent: Thursday, June 02, 2005 2:32 PM To: Tomcat Users List Subject: Re: WebappClassLoader - don't understand what's happening Le Jeudi 2 Juin 2005 13:49, Herrmann, Sascha (GE Healthcare) a écrit : Thanks for your reply. It could be. How is a class pushed to a shared library? Any library having static methods like
Re: Where are the results of a System.out.println command ?
In general prefer the use of a logging system in your code (commons-logging or log4j for example). Concerning System.out, i guess for linux it's the same as for Mac, the System.out is redirected to the log file (logs/catalina.out by default) Le Lundi 30 Mai 2005 10:39, Jean-Luc Douville a écrit : I am running a servlet under Mac Os X Tomcat jakarta-tomcat-5.0.28. That servlet has a System.out.println(userAgent ** : +userAgent); command. On my PC i found the result of the same command (and other) in the DOS window that logs the tomcat's processes (serving the same servlet). On the Mac i can't find any log ... I send the requests to the servlet with a browser, the parameters are in the URL (GET method). Thanks. -- Jean-Luc Douville GRAVIR/iMAGIS,INRIA,ave de l'Europe, Montbonnot 38334 Saint Ismier Cedex Tel: (+33) 4.76.61.54.28 -- Fax: (+33) 4.76.61.54.40 - - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- David Delbecq Royal Meteorological Institute of Belgium - Is there life after /sbin/halt -p? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JSP compiled files created with different users
tomcat does not switch user, it runs as the user who ran bin/startup.sh So tomcat will indeed attempt to write file as the user who ran it. Don't forget only way for an application to switch user at runtime is to have it setuid root, which is not the case of tomcat. Le Lundi 30 Mai 2005 13:49, Yves-Marie Brault a écrit : Hi, I'm working on a Mandrake 10.1. I launch Tomcat 5.5.9 with an user called gama to which belong all files in the Tomcat home directory and has been granted 777 rights on it. However, when I launch my webapp, Tomcat writes some files in the TOMCAT_HOME/work/ directory with the user root and have only 444 rights on these files, which causes FileNotFound errors. Is there a mean for Tomcat to compile and write all files with the same user that have launched it? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- David Delbecq Royal Meteorological Institute of Belgium - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Apache Integration
If my memory is good, tomcat is also able to act as a proxy. why not have apache forward to tomcat5 which forwards when needed to tomcat 4 (looks crazy engouh?:) Le Lundi 30 Mai 2005 14:28, [EMAIL PROTECTED] a écrit : Well, things got a bit more complicated lately. Now, my bos wants me to connect both Tomcat 4 and Tomcat 5 to the httpd server. If I use mod_jk, I have to specify the path to a tomcat installation in the workers.properties in the Apache2/conf/httpd.conf file. So, there's no way to connect both and relay to the right server using the appropriate folder alias. Is there any other connector which could support two tomcat installation ? I've read about mod_jk, mod_jk2 but I remember seeing a third connector module. Does anyone ever succeeded in installing such a configuration ?? Luc Boudreau Université du Québec Canada -- David Delbecq Royal Meteorological Institute of Belgium - Is there life after /sbin/halt -p? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Are we required to move to Tomcat 5.5 in order to move to JDK 1.5
Exception about class file format would be encountered only if tomcat would be run on a jvm 1.4 and you deploy a war containing 1.5 compiled classes. If you run tomcat with jvm 1.5 it should be able to load classes from a war containing 1.5 compiled classes. The main problem which could arise is if tomcat 5.0.x uses a java class or method which disappeared on jvm1.5. Just give it a try :) Le Jeudi 26 Mai 2005 11:28, Tim Diggins a écrit : I'm not an expert, but I believe (from experience previous googling) that tomcat 5.0.x will respond with an exception (IncorrectClassFileFormat or something) when it encounters class files compiled with jdk1.5, and that thus yes you need 5.5. There are some recent threads about migrating from 5.0 to 5.5, in particular I recall discussion of change of default logging library. -- Tim Raverkar, Sachin (Sachin) wrote: Hi all, We are currently using Tomcat-5.0.28 and JDK 1.4.2_03. We need to move onto JDK 1.5. We would build our war file using JDK 1.5. Can we continue to use Tomcat-5.0.28 with JDK 1.5? Do you see any problem? Are there any known issues? Since Tomcat 5.5 is designed to run on J2SE 5.0 [JDK 1.5] and later, are we required to move to Tomcat 5.5 in order to move to JDK 1.5? - Sachin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- David Delbecq Royal Meteorological Institute of Belgium - Is there life after /sbin/halt -p? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
JNDI Realm with HP-UX passwords (DES crypt use to generate passwords)
Hi, i tried for 2 days to get this running but i always get errors. I did map a NIS (yellow page) password file to a JNDI Realm. This part wen quite well as far as i could tell. To authenticate users i need the realm to check against the encrypted password which are, according to HP-UX doc, encrypted with a DES algorithm. So i provided DES as messagedigest. And guess what? There is no such messageDigest. any idea what i should use? -- David Delbecq Royal Meteorological Institute of Belgium - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Fwd: RE: Illegal IMail List Server Command! Re: No such list! s
Just for info, here is answer from [EMAIL PROTECTED] about those polluting emails. Message received about 18 hours ago. -- Message transmis -- Subject: RE: Illegal IMail List Server Command! Re: No such list! s Date: Lundi 16 Mai 2005 14:59 From: New Atlanta List Admin [EMAIL PROTECTED] To: 'David Delbecq' [EMAIL PROTECTED] Cc: 'Gregg Orangio' [EMAIL PROTECTED] We're investigating, but the problem doesn't seem to be originating from our end. This message is sent by our list server in response to messages it receives. So someone is sending us messages, and we're trying to figure out who so we can filter them out. -Original Message- From: David Delbecq [mailto:[EMAIL PROTECTED] Sent: Monday, May 16, 2005 5:24 AM To: [EMAIL PROTECTED] Subject: Re: Illegal IMail List Server Command! Re: No such list! s Hello. Since yesterday your server is polluting the tomcat-user@jakarta.apache.org mailing list (one message every 3 minutes) and so is polluting my mailbox as a subscriber. Could you fix this? Thanks. Le Lundi 16 Mai 2005 11:19, List Server a écrit : New Atlanta List Server General Help File - Lists hosted by this server are: bluedragon-interest jturbo-interest servletexec-interest bluedragon-customers jturbo-customers servletexec-customers bluedragon-announce newatlanta-announce Use one of these list names where you see list name in the command syntax below. All list server commands must be addressed to: [EMAIL PROTECTED] Commands must be placed on the first line of the message body and may not be preceded by blanks, whitespace, or other characters. Valid Commands are: To subscribe to a list: subscribe list name your full name For example: subscribe servletexec-interest John Smith If you don't include your name in the subscribe command you'll receive an Invalid Syntax error message from the list server. To unsubscribe from a list: unsubscribe list name To receive help send after subscribing to a list: help list name If you have any questions or need additional help, send email to: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- David Delbecq Royal Meteorological Institute of Belgium --- -- David Delbecq Royal Meteorological Institute of Belgium - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Combining several Realms together
Hello everyone, Can somebody enlight me on the faisability of this in tomcat configuration - Have user list and user password checked against a JNDI Realm (this is a nis mapped jndi realm) - Have user roles checked against another Realm (eg: database realm) Why this strange thing? We have a list of user/password/group exported as NIS yellow pages. We want to use this list as this is the passwords users are using to check their email and so we know each user already has a password. However, our J2EE application uses a lot of roles, but access to unix groups we have is readonly. If i want to add a user to a role , or create a new role, i have to go thru a lengthly process of asking one of the unix admin to create them and as those group are used a lot thru several server, he has to chekc the implcation of adding such groups. This is quite cumbersome when one day we need to create 7 roles and put about 15 users in each. Anyway, creating lots of new groups on our unix server is not a possiblity so me need to store them somewhere else while still getting user list / password from unix/nis. Any suggestion? -- David Delbecq Royal Meteorological Institute of Belgium - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]