Session count in tomcat manager
Hi, I am using tomcat 5.5.15 to host 2 applications (2 contexts). I am trying to figure out how to monitor the application statistics using the tomcat manager. I noticed that when I restart the tomcat server the Active Sessions count for one of the applications remains the same as it was before the server was shut down. Does this make sense? I should add that we are using mod_jk to forward requests from apache web server to tomcat. Does it sound like the sessions are hanging around when they actually shouldnt? the other counts are resetting correctly, just the active session that stays the same. Below is the stats from the app I am referring to. The stats are right after start up of tomcat. Is this normal, or do I need to look into this further? Thanks, -Riz. Start time: Thu Oct 12 02:33:55 EDT 2006 Startup time: 4 ms TLD scan time: 0 ms Active sessions: 81 Session count: 0 Max active sessions: 0 Rejected session creations: 0 Expired sessions: 0 Longest session alive time: 0 s Average session alive time: 0 s Processing time: 0 ms JSPs loaded: 0 JSPs reloaded: 0 - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat 5.5.17: context.xml-mysteries
Hi Richard, thanks for removig the tomatoes... Cheers Greg -- what's puzzlin' you, is the nature of my game
tomat5 / sticky sessions / missing route?
Dear listmember, Ive searched the docs and the web and couldnt find an answer to the following: The setup is like 2 apaches are connecting to 2 tomcats crosswise, apache1 to tomcat1/tomcat2 and apache2 to tomcat1/tomcat2 by using workers.java_home=/usr/bin/java ps=/ worker.list=lb,jkstatus worker.lb.type=lb worker.lb.sticky_session=true worker.jkstatus.type=status worker.tomcatlb1.type=ajp13 worker.tomcatlb1.host=172.26.19.16 worker.tomcatlb1.port=8009 worker.tomcatlb1.lbfactor=10 worker.tomcatlb1.socket_timeout=120 worker.tomcatlb1.connection_pool_size=50 worker.tomcatlb1.type=ajp13 worker.tomcatlb2.type=ajp13 worker.tomcatlb2.host=172.26.19.17 worker.tomcatlb2.port=8009 worker.tomcatlb2.lbfactor=10 worker.tomcatlb2.socket_timeout=120 worker.tomcatlb2.connection_pool_size=50 worker.lb.balance_workers=tomcatlb1,tomcatlb2 which is working so far. Sticky connection is absolutely neccessary due to application design. (not able to take any influence here) This setup exists twice. One environment keeps directing the user within one session to one tomcat like it should, the other one does not. Looking at mod_jk debug output at the not working one, I can see, that for every request mod_jk generates a new session id: [Thu Oct 12 09:59:11 2006] [11822:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (514): total sessionid is DA9D99BE9ECB77C69A3B799FC122F670 [Thu Oct 12 09:59:11 2006] [11822:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (524): searching worker for partial sessionid DA9D99BE9ECB77C69A3B799FC122F670 [Thu Oct 12 09:59:11 2006] [11822:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (564): found best worker (tomcatlb1) using by request method [Thu Oct 12 09:59:15 2006] [11820:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (514): total sessionid is DFAFEE609A2DFEF179D5D6B1CCF030A3 [Thu Oct 12 09:59:15 2006] [11820:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (524): searching worker for partial sessionid DFAFEE609A2DFEF179D5D6B1CCF030A3 [Thu Oct 12 09:59:15 2006] [11820:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (564): found best worker (tomcatlb2) using by request method These are simple reloads within one session. I noticed one more thing: This is debug output from the working environment: [Thu Oct 12 10:11:50 2006] [0517:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (514): total sessionid is 0EC77EB2BBA412F4C40F6033B9AD16C4.tomcatlb1 [Thu Oct 12 10:11:50 2006] [0517:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (524): searching worker for partial sessionid 0EC77EB2BBA412F4C40F6033B9AD16C4.tomcatlb1 [Thu Oct 12 10:11:50 2006] [0517:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (532): searching worker for session route tomcatlb1 [Thu Oct 12 10:11:50 2006] [0517:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (541): found worker tomcatlb1 for route tomcatlb1 and partial sessionid 0EC77EB2BBA412F4C40F6033B9AD16C4.tomcatlb1 This from the not working one: [Thu Oct 12 10:16:26 2006] [12189:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (514): total sessionid is ADE09C3AD588F82F34E0B7C23E5F01D7 [Thu Oct 12 10:16:26 2006] [12189:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (524): searching worker for partial sessionid ADE09C3AD588F82F34E0B7C23E5F01D7 Note the difference in the generated session ids: DFAFEE609A2DFEF179D5D6B1CCF030A3 vs. 0EC77EB2BBA412F4C40F6033B9AD16C4.tomcatlb1 ie. on the not working environment theres the .worker missing. But why? The two environments are identical in terms of tomcat/mod_jk version. Thanks alot in advance!! Regards, Daniel - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: JDBC Pool exhaustion
Hello, One of our connections wasn't properly closed, as you said. You fixed the problem and now everything is running fine. Thanks to all the people who answered for your help! Guillaume de Vinzelles DSI/PFS Neuf Cegetel Altran Technologies [EMAIL PROTECTED] 01 70 18 21 64 -Message d'origine- De : Richard DeGrande [mailto:[EMAIL PROTECTED] Envoyé : mercredi 11 octobre 2006 17:58 À : Tomcat Users List Objet : Re: JDBC Pool exhaustion Martin, Isn't dbcp connection pooling ?? I think I am missing something, I am not clear on why you are advocating a separate pooling mechanism. Can you elaborate on this a little ? thanks rick Martin Gainty [EMAIL PROTECTED] 10/11/2006 9:15 AM If you have 1000 connections then you would be well advised to use connection pooling more specifically you need to separate the activities of settingup a connection from getting the connection you also need to separate the activities of freeing the connection from connection teardown connection setup and teardown are expensive operations and should be used judiciously continous connection setup and teardown will not only bog down the app but slow the DB as it furiously tries to keep up with these resource requests A vert good primer for setting up connection pools is available at http://www.webdevelopersjournal.com/columns/connection_pool.html A word on SEH for non oo single threaded environments you may swallow the exception if you have deemed the execution of the statement as optional If the statement is required then I would always raise a meaningful exception and not swallow it If you have a OO env such as Java you should raise the exception and handle it by the outermost handler in a structured way (definition of SEH) as an aside I usually pass error_code and description Feel free to Contact me offline for particulars of how to implement, M- - Original Message - From: Christopher Schultz [EMAIL PROTECTED] To: Tomcat Users List users@tomcat.apache.org Sent: Wednesday, October 11, 2006 10:54 AM Subject: Re: JDBC Pool exhaustion - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
context.xml problem
Hi I have problem with my context.xml, please tell me what I have done wrong Context path=/${telco.name} crossContext=true docBase=${project.home}/build/${telco.name} reloadable=false Logger className=org.apache.catalina.logger.FileLogger prefix=localhost_context_${telco.name}_log. suffix=.txt directory=${project.home}/logs timestamp=true/ Valve className=org.apache.catalina.valves.AccessLogValve prefix=localhost_access_${telco.name}_log. suffix=.txt directory=${project.home}/logs pattern=common/ Parameter name=companyName value=Ricochet Technologies Sdn Bhd override=false/ !--== Database Settings ==-- Resource name=jdbc/malaysia auth=Container type=javax.sql.DataSource/ ResourceParams name=jdbc/malaysia parameter namefactory/name valueorg.apache.commons.dbcp.BasicDataSourceFactory/value /parameter parameter nameurl/name valuejdbc:mysql://**/comium/value /parameter parameter namemaxActive/name value0/value /parameter parameter namemaxIdle/name value0/value /parameter parameter namemaxWait/name value-1/value /parameter parameter nameusername/name value**/value /parameter parameter namepassword/name value**/value /parameter parameter namedriverClassName/name valuecom.mysql.jdbc.Driver/value /parameter parameter nameremoveAbandoned/name valuetrue/value /parameter parameter nameremoveAbandonedTimeout/name value10/value /parameter /ResourceParams /Context I m using tomcat embedded, version 5 i think and get [java] INFO: Processing Context configuration file URL file:/home/chin/comium/connector/mt/comium_mt/conf/Catalina/localhost/context.xml [java] Oct 12, 2006 4:34:48 PM org.apache.catalina.core.StandardContextlistenerStart [java] SEVERE: Skipped installing application listeners due to previous error(s) [java] Oct 12, 2006 4:34:48 PM org.apache.catalina.core.StandardContextstart [java] SEVERE: Error listenerStart [java] Oct 12, 2006 4:34:48 PM org.apache.catalina.core.StandardContextstart [java] SEVERE: Context startup failed due to previous errors -- -Andre- PCs are like air conditioner, if you open Windows, they don't work
RE: tomat5 / sticky sessions / missing route?
Hi Daniel, I recently setup some similar architecture and documentation for tomcat mod-jk integration with proper sticky sessions is very poor. I am not that familiar with the jk logs but do know I had to do the following to get sticky sessions to work: Think your problem may be with only one jvmRoute configured correctly? i.e. On your host 172.26.19.16 edit tomcats server.xml, add/update the jvmRoute attribute to be the name of the worker pointing at this tomcat, e.g. Engine name=Catalina jvmRoute=tomcatlb1 On host 172.26.19.17, set it as : Engine name=Catalina jvmRoute=tomcatlb2 From what I have tested so far the user will get directed to the correct tomcat regardless of apache they use (as long as the same cookie is send to both apache's, hardware loadbalancer, dns loadbalaning etc...) I have an outstanding problem with tomcat redirects using the full URL of the internal server IP rather than the domainname in the URL. I'd be interested in hearing what configuration you have for this. Thanks A -Original Message- From: Daniel Eckstein [mailto:[EMAIL PROTECTED] Sent: 12 October 2006 09:38 To: users@tomcat.apache.org Subject: tomat5 / sticky sessions / missing route? Dear listmember, Ive searched the docs and the web and couldnt find an answer to the following: The setup is like 2 apaches are connecting to 2 tomcats crosswise, apache1 to tomcat1/tomcat2 and apache2 to tomcat1/tomcat2 by using workers.java_home=/usr/bin/java ps=/ worker.list=lb,jkstatus worker.lb.type=lb worker.lb.sticky_session=true worker.jkstatus.type=status worker.tomcatlb1.type=ajp13 worker.tomcatlb1.host=172.26.19.16 worker.tomcatlb1.port=8009 worker.tomcatlb1.lbfactor=10 worker.tomcatlb1.socket_timeout=120 worker.tomcatlb1.connection_pool_size=50 worker.tomcatlb1.type=ajp13 worker.tomcatlb2.type=ajp13 worker.tomcatlb2.host=172.26.19.17 worker.tomcatlb2.port=8009 worker.tomcatlb2.lbfactor=10 worker.tomcatlb2.socket_timeout=120 worker.tomcatlb2.connection_pool_size=50 worker.lb.balance_workers=tomcatlb1,tomcatlb2 which is working so far. Sticky connection is absolutely neccessary due to application design. (not able to take any influence here) This setup exists twice. One environment keeps directing the user within one session to one tomcat like it should, the other one does not. Looking at mod_jk debug output at the not working one, I can see, that for every request mod_jk generates a new session id: [Thu Oct 12 09:59:11 2006] [11822:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (514): total sessionid is DA9D99BE9ECB77C69A3B799FC122F670 [Thu Oct 12 09:59:11 2006] [11822:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (524): searching worker for partial sessionid DA9D99BE9ECB77C69A3B799FC122F670 [Thu Oct 12 09:59:11 2006] [11822:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (564): found best worker (tomcatlb1) using by request method [Thu Oct 12 09:59:15 2006] [11820:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (514): total sessionid is DFAFEE609A2DFEF179D5D6B1CCF030A3 [Thu Oct 12 09:59:15 2006] [11820:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (524): searching worker for partial sessionid DFAFEE609A2DFEF179D5D6B1CCF030A3 [Thu Oct 12 09:59:15 2006] [11820:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (564): found best worker (tomcatlb2) using by request method These are simple reloads within one session. I noticed one more thing: This is debug output from the working environment: [Thu Oct 12 10:11:50 2006] [0517:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (514): total sessionid is 0EC77EB2BBA412F4C40F6033B9AD16C4.tomcatlb1 [Thu Oct 12 10:11:50 2006] [0517:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (524): searching worker for partial sessionid 0EC77EB2BBA412F4C40F6033B9AD16C4.tomcatlb1 [Thu Oct 12 10:11:50 2006] [0517:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (532): searching worker for session route tomcatlb1 [Thu Oct 12 10:11:50 2006] [0517:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (541): found worker tomcatlb1 for route tomcatlb1 and partial sessionid 0EC77EB2BBA412F4C40F6033B9AD16C4.tomcatlb1 This from the not working one: [Thu Oct 12 10:16:26 2006] [12189:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (514): total sessionid is ADE09C3AD588F82F34E0B7C23E5F01D7 [Thu Oct 12 10:16:26 2006] [12189:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (524): searching worker for partial sessionid ADE09C3AD588F82F34E0B7C23E5F01D7 Note the difference in the generated session ids: DFAFEE609A2DFEF179D5D6B1CCF030A3 vs. 0EC77EB2BBA412F4C40F6033B9AD16C4.tomcatlb1 ie. on the not working environment theres the .worker missing. But why? The two environments are identical in terms of tomcat/mod_jk version. Thanks alot in advance!! Regards, Daniel - To start a new topic, e-mail:
Re: Tomcat Embedded and Server.xml
Hi Miguel, I m using tomcat embedded but i still use server.xml too -Andre- On 10/10/06, Miguel Correia Ricardo [EMAIL PROTECTED] wrote: Hello, I'm having a doubt that is bugging me. And I need to solve it also. Everywhere I look, it says that by using Tomcat Embedded I don't need the server.xml configuration file. Ok, I can understand why... But, what about the Connector ports, how do I know at advance wich one are busy or not... I want to be able to use Tomcat Embedded and still use the server.xml configuration file, for the most various reasons, one of them is to define the Connector ports. Is there any class in the tomcat *.jars that will help me achieve it easily? Or I have to follow the same thing that Catalina is doing, that is, creating a Digest object, set the Sax rules, and so on... Hope you can help. And thanks in advance. My best regards, Miguel Correia Ricardo - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- -Andre- PCs are like air conditioner, if you open Windows, they don't work
Re: tomat5 / sticky sessions / missing route?
Hi, thanks for the reply. Ive tested with jvmRoute and it does work now! Thanks alot! It seems that the string you configure for jvmRoute is appended to the sessionid by tomcat once he sends it back to apache. I have an outstanding problem with tomcat redirects using the full URL of the internal server IP rather than the domainname in the URL. I'd be interested in hearing what configuration you have for this. Could you please provide some more detail for what is getting redirected to where? Regards, Daniel Ashley Hayes schrieb: Hi Daniel, I recently setup some similar architecture and documentation for tomcat mod-jk integration with proper sticky sessions is very poor. I am not that familiar with the jk logs but do know I had to do the following to get sticky sessions to work: Think your problem may be with only one jvmRoute configured correctly? i.e. On your host 172.26.19.16 edit tomcats server.xml, add/update the jvmRoute attribute to be the name of the worker pointing at this tomcat, e.g. Engine name=Catalina jvmRoute=tomcatlb1 On host 172.26.19.17, set it as : Engine name=Catalina jvmRoute=tomcatlb2 From what I have tested so far the user will get directed to the correct tomcat regardless of apache they use (as long as the same cookie is send to both apache's, hardware loadbalancer, dns loadbalaning etc...) Thanks A -Original Message- From: Daniel Eckstein [mailto:[EMAIL PROTECTED] Sent: 12 October 2006 09:38 To: users@tomcat.apache.org Subject: tomat5 / sticky sessions / missing route? Dear listmember, Ive searched the docs and the web and couldnt find an answer to the following: The setup is like 2 apaches are connecting to 2 tomcats crosswise, apache1 to tomcat1/tomcat2 and apache2 to tomcat1/tomcat2 by using workers.java_home=/usr/bin/java ps=/ worker.list=lb,jkstatus worker.lb.type=lb worker.lb.sticky_session=true worker.jkstatus.type=status worker.tomcatlb1.type=ajp13 worker.tomcatlb1.host=172.26.19.16 worker.tomcatlb1.port=8009 worker.tomcatlb1.lbfactor=10 worker.tomcatlb1.socket_timeout=120 worker.tomcatlb1.connection_pool_size=50 worker.tomcatlb1.type=ajp13 worker.tomcatlb2.type=ajp13 worker.tomcatlb2.host=172.26.19.17 worker.tomcatlb2.port=8009 worker.tomcatlb2.lbfactor=10 worker.tomcatlb2.socket_timeout=120 worker.tomcatlb2.connection_pool_size=50 worker.lb.balance_workers=tomcatlb1,tomcatlb2 which is working so far. Sticky connection is absolutely neccessary due to application design. (not able to take any influence here) This setup exists twice. One environment keeps directing the user within one session to one tomcat like it should, the other one does not. Looking at mod_jk debug output at the not working one, I can see, that for every request mod_jk generates a new session id: [Thu Oct 12 09:59:11 2006] [11822:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (514): total sessionid is DA9D99BE9ECB77C69A3B799FC122F670 [Thu Oct 12 09:59:11 2006] [11822:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (524): searching worker for partial sessionid DA9D99BE9ECB77C69A3B799FC122F670 [Thu Oct 12 09:59:11 2006] [11822:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (564): found best worker (tomcatlb1) using by request method [Thu Oct 12 09:59:15 2006] [11820:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (514): total sessionid is DFAFEE609A2DFEF179D5D6B1CCF030A3 [Thu Oct 12 09:59:15 2006] [11820:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (524): searching worker for partial sessionid DFAFEE609A2DFEF179D5D6B1CCF030A3 [Thu Oct 12 09:59:15 2006] [11820:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (564): found best worker (tomcatlb2) using by request method These are simple reloads within one session. I noticed one more thing: This is debug output from the working environment: [Thu Oct 12 10:11:50 2006] [0517:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (514): total sessionid is 0EC77EB2BBA412F4C40F6033B9AD16C4.tomcatlb1 [Thu Oct 12 10:11:50 2006] [0517:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (524): searching worker for partial sessionid 0EC77EB2BBA412F4C40F6033B9AD16C4.tomcatlb1 [Thu Oct 12 10:11:50 2006] [0517:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (532): searching worker for session route tomcatlb1 [Thu Oct 12 10:11:50 2006] [0517:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (541): found worker tomcatlb1 for route tomcatlb1 and partial sessionid 0EC77EB2BBA412F4C40F6033B9AD16C4.tomcatlb1 This from the not working one: [Thu Oct 12 10:16:26 2006] [12189:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (514): total sessionid is ADE09C3AD588F82F34E0B7C23E5F01D7 [Thu Oct 12 10:16:26 2006] [12189:42688] [debug] get_most_suitable_worker::jk_lb_worker.c (524): searching worker for partial sessionid ADE09C3AD588F82F34E0B7C23E5F01D7 Note the difference in the generated session ids:
Re: JDBC Pool exhaustion
Mikolaj Rydzewski wrote: But, reading the config for the second time I can not find any references to dbcp classes! Just DataSource interface and jdbc driver class name. So - does this configuration uses connection pooling (how could it be?) I'll answer to my question ;-) Quoting DBCP wiki: Saying what class will actually create instances of the above, i.e. give the factory. This is actually not necessary if you want 'org.apache.commons.dbcp.BasicDataSourceFactory' as that is the default factory used by Tomcat whenever 'javax.sql.DataSource' objects should be created. -- Mikolaj Rydzewski [EMAIL PROTECTED] smime.p7s Description: S/MIME Cryptographic Signature
Re: JDBC Pool exhaustion
Under the covers, tomcat does use DBCP , but refractors the package name to avoid collisions with the real DBCP package. --David Mikolaj Rydzewski wrote: Christopher Schultz wrote: From your DataSource configuration, it looks like you are using the Oracle driver directly. Does that have built-in pooling? The original problem is solved, but I'm a little confused now. Posted configuration was exactly the same like the examples on Tomcat website: http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html They say, that this configuration uses connection pooling (jakarta dbcp). But, reading the config for the second time I can not find any references to dbcp classes! Just DataSource interface and jdbc driver class name. So - does this configuration uses connection pooling (how could it be?) or are there wrong examples on Tomcat website? I'd vote for the second option - DBCP wiki shows different configurations for Tomcat: http://wiki.apache.org/jakarta-commons/DBCP - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat using MS SQL2000 Named Instance
Dan: It may be related to which JDBC driver you're using. I've never had much success using the Microsoft SQL JDBC driver to connect to a named instance by using the instance name. I've only been able to connect by finding out which port the instance is using, and specifying that in the connection URL. I have had success using the JTDS driver - it's an open source, pure Java (type 4) JDBC 3.0 driver for Microsoft SQL Server (and Sybase), which has worked just fine when I use the instance name in the URL. You can find it at: http://jtds.sourceforge.net Good luck! Thanks, Johnny Dan Decker [EMAIL PROTECTED] 10/11/2006 07:27 PM Please respond to Tomcat Users List users@tomcat.apache.org To users@tomcat.apache.org cc Subject Tomcat using MS SQL2000 Named Instance I am trying to get Tomcat to connect to a MS SQL2000 Named instance rather than the default instance. Using the following it connects to the database TWO on the default server KEYSTONE with no problems. jdbc:sqlserver://KEYSTONE;databaseName=TWO When I try to access the MS SQL2000 named instance KEYSTONE\GP90 it still connects to the default jdbc:sqlserver://KEYSTONE;instanceName=GP90;databaseName=TWO Dan Decker
RE: stopping jk connector threads
Forgot to mention that we're running Tomcat 5.5.4 on Solaris 8 with iPlanet 6 as the webserver thanks! _ From: Enrique Arce Sent: Tuesday, October 10, 2006 2:41 PM To: 'users@tomcat.apache.org' Subject: stopping jk connector threads Is there a way to stop hung jk connector threads with out restarting Tomcat? I can see threads that are hanging from the Tomcat manager server status page, but I can't kill them, only a server restart clears them. Is there a better way? Thanks, Enrique
RE: Tomcat using MS SQL2000 Named Instance
Try this: jdbc:microsoft:sqlserver://KEYSTONE\\GP90:1433;SelectMethod=cursor;DatabaseN ame=TWO Note the double backslash before the instance name. Struggled with this briefly myself recently -- the answer was in the PDF help file for the JDBC driver. Karen Koch -Original Message- From: Dan Decker [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 11, 2006 6:28 PM To: users@tomcat.apache.org Subject: Tomcat using MS SQL2000 Named Instance I am trying to get Tomcat to connect to a MS SQL2000 Named instance rather than the default instance. Using the following it connects to the database TWO on the default server KEYSTONE with no problems. jdbc:sqlserver://KEYSTONE;databaseName=TWO When I try to access the MS SQL2000 named instance KEYSTONE\GP90 it still connects to the default jdbc:sqlserver://KEYSTONE;instanceName=GP90;databaseName=TWO Dan Decker - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Higher level context
Hi all, I'm trying to create some kind of customized Manager for my web apps but I can't find out how to. When I use ServletContext I get only the openned sessions for the current app. How can I get an higher level context than ServletContext in a way that gives me all web apps running on Tomcat, like Manager? Tks Jose Roberto Garcia Brazil - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: jvm thread dump
Thanks Chris. You have been very helpful. I will implement your recommendations and see what happens. Quick question, when you look at a thread dump, how do you tell which threads are idle? Also, any inputs on my other postings regarding the session count and catalina.out logging? http://mail-archives.apache.org/mod_mbox/tomcat-users/200610.mbox/[EMAIL PROTECTED] http://mail-archives.apache.org/mod_mbox/tomcat-users/200610.mbox/[EMAIL PROTECTED] Thanks again, -Riz. Christopher Schultz wrote: Riz, here is the thread dump from when the app hung. Any insights? Well, a quick run-through of the thread dump suggests that your DBCP was definitely stalled for some reason. I counted about 70 idle threads, about 30 threads waiting on database connections, and maybe 15 doing other things (handling requests, accepting socket connections, running Telnet (wtf?) and a few threads doing SMTP. There were also a few Quartz threads running, which I assume were performing some kind of batch operations or something. Most of them were either idle of sending email messages. Maybe one of two were hung in the DBCP wait like the others. Note that not all of your threads were hung while trying to authenticate. That probably means that some of your users had authenticated before your connection pool dried up, and were trying to do other things. I'm guessing that you have a connection leak, somewhere. Do you always use Spring to manage your connections, or do you sometimes get a connection using the DBCP directly? I'm asking because it's more likely that you have a connection leak in /your/ code than there is a connection leak in Spring (no offense ;). Check for the places where you handle JDBC connections yourself and make sure that you are following all the rules: 1. Make sure you close your statements, result sets, and connection objects in a finally block. 2. Make sure that you surround everything from #1 in try/catch blocks and LOG ALL EXCEPTIONS. Here are some helpful suggestions above and beyond the above rules: 1. Make sure that you catch all possible exceptions (potentially re-throwing them) and rollback if you are inside a transaction. 2. Turn on abandoned connection logging in development (and production if you can afford it). There's nothing better than empirical evidence to help you solve problems. The performance hit you take by turning on this debugging information is well worth it compared to server downtime due to connection pool exhaustion. 3. Set your connection pool size in development to a fixed size of 1 (yes, that's ONE). This will help you find connection leakages ASAP, since the first time it happens, you're screwed right away. If you have only one place in your code where connections are leaked, it may take a long time to exhaust a connection pool containing 50 connections. If you drop it down to 1, you'll know right away ;) Lastly, you should ask on the Spring list if there are any known connection leaks in your version of Spring (you are not likely to get a warm response to that question, but it needs to be asked), but only after you have audited your own code. -chris - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
uninstalling the manager
I'd like to get rid of the manager webapp, but it isn't clear where it's located. What's the best way to delete it? Thanks! Daniel
Re: uninstalling the manager
Simple version = delete manager.xml in conf/Catalina/localhost. manager itself is located in server/webapps --David Daniel Blumenthal wrote: I'd like to get rid of the manager webapp, but it isn't clear where it's located. What's the best way to delete it? Thanks! Daniel - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: jvm thread dump
Riz, Quick question, when you look at a thread dump, how do you tell which threads are idle? Idle threads are ones that are not handling any requests. That seems kind of self-explanatory, but you have to understand what those threads are doing when they are not doing anything else: they are waiting for a request to come in in order to service it. Tomcat uses a thread pool to service requests. When they aren't doing anything, they have to actually be waiting. They are blocked waiting for a notification that there's something to do. This is what they look like when they are in that state: http-443-Processor26 daemon prio=1 tid=0xb2affd98 nid=0x2515 in Object.wait() [0x06289000..0x06289f40] at java.lang.Object.wait(Native Method) - waiting on 0x54ef76c0 (a org.apache.tomcat.util.threads.ThreadPool$ControlRunnable) at java.lang.Object.wait(Object.java:474) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:656) - locked 0x54ef76c0 (a org.apache.tomcat.util.threads.ThreadPool$ControlRunnable) at java.lang.Thread.run(Thread.java:595) There are 3 things to note: 1) The status of the thread is in Object.wait(). Compare this to other threads whose state is runnable. This means that the thread has called Object.wait and is waiting for another thread to call Object.notify on whatever object is being wait()ed. 2) The object being wait()ed on is org.apache.tomcat.util.threads.ThreadPool$ControlRunnable and the method being run is run in that same object. You can see that they are the same object because the thread dump says waiting on 0x54ef76c0 and then, further down, it says locked 0x54ef76c0. That means that the code is in a synchronized block and waiting on that very same object. 3. Everything is tied up in Tomcat's ThreadPool code. That means that the thread is waiting to be taken out of the pool to service a request. Also, any inputs on my other postings regarding the session count and catalina.out logging? http://mail-archives.apache.org/mod_mbox/tomcat-users/200610.mbox/[EMAIL PROTECTED] You can't roll catalina.out. I read that thread, and the response you got that said don't log to stdout was right: just don't do it. Since you are using log4j already, have log4j log to a different log file that /does/ roll. You shoudln't have any System.out or System.err usage in your webapp. http://mail-archives.apache.org/mod_mbox/tomcat-users/200610.mbox/[EMAIL PROTECTED] I'll answer this one separately. Look for a followup post. -chris signature.asc Description: OpenPGP digital signature
RE: Tomcat using MS SQL2000 Named Instance
Dan, Have you tried using the server name of Keystone and specifying the unique port number the named instance is listening on? I believe that should work. I think that would be something like this: jdbc:sqlserver://KEYSTONE:;databaseName=TWO ...where you replace with the port number. ~Peter -Original Message- From: Dan Decker [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 11, 2006 4:28 PM To: users@tomcat.apache.org Subject: Tomcat using MS SQL2000 Named Instance I am trying to get Tomcat to connect to a MS SQL2000 Named instance rather than the default instance. Using the following it connects to the database TWO on the default server KEYSTONE with no problems. jdbc:sqlserver://KEYSTONE;databaseName=TWO When I try to access the MS SQL2000 named instance KEYSTONE\GP90 it still connects to the default jdbc:sqlserver://KEYSTONE;instanceName=GP90;databaseName=TWO Dan Decker - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
v5.5.x default context support outside of server.xml
I've tried unsuccessfully to deploy my webapp as the default context for my host using a context defined outside of the server.xml (individual files (with a .xml extension) in the $CATALINA_HOME/conf/[enginename]/[hostname]/ directory) as strongly recommended in http://tomcat.apache.org/tomcat-5.5-doc/config/context.html*. I searched the mailing list archives and found a thread on this subject that ended without any resolution. There seems to be some conflict between different sections of the context config documentation** that leads me to believe it's not possible to specify a default virtual host's context with an empty string path attribute for a context. Is this true? If not, please let me know what I'm missing. Thanks, Jon * Please note that for tomcat 5, unlike tomcat 4.x, it is NOT recommended to place Context elements directly in the server.xml file. Instead, put them in the META-INF/context.xml directory of your WAR file or the conf directory as described above. ** a Context that has an empty PATH attribute will become the default web application for the virtual host. and The value of this field [path] must not be set except when statically defining a Context in server.xml, as it will be infered from the filenames used for either the .xml context file or the docBase. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Session count in tomcat manager
Riz, I noticed that when I restart the tomcat server the Active Sessions count for one of the applications remains the same as it was before the server was shut down. Does this make sense? When you shut down Tomcat, I believe the default is to write session information out to a saved-sessions file. When you start Tomcat back up, it reads this file so that any active sessions can be maintained across the restart. It is intended to be a nice feature so you don't forcibly log people out of your application in the event of a restart. You are probably not experiencing this same phenomenon in your /other/ application for one of three reasons: 1. You don't use sessions. 2. Your sessions contain objects that are non-serializable. 3. Objects in your session are serializable, but you lack the correct methods in those classes to read the object from storage. Tomcat uses basic Java serialization to write the sessions to the session-save file. If you have a non-serializable objects, they cannot be serialized. When reading the objects back into memory, it's still possible that a session object's class is inappropriate for de-serialization. For example, I have a User class that fails this all the time: java.io.InvalidClassException: mypackage.User; no valid constructor It I have a look at my class, I see this definition: public class User extends AbstractIdentifiable implements Serializable My class implements Serializable, and extends from: public abstract class AbstractIdentifiable implements Identifiable My Identifiable interface does not extend anything, and AbstractIdentifiable does not implement Serializable. Since I don't have any special serialization code in User, my User class is not serializable, either, since its parent class is not serializable. I get exceptions when I start my application, and the sessions die because they couldn't be read from the session store. Session persistence seems to be enabled by default, which is odd. I removed the declaration for Manager className=...PersistentManager from my Context definition, and the sessions were still persisted. I was able to turn it off completely using this configuration: Manager className=org.apache.catalina.session.PersistentManager debug=99 saveOnRestart=false maxActiveSessions=-1 minIdleSwap=-1 maxIdleSwap=-1 maxIdleBackup=-1 Store className=org.apache.catalina.session.FileStore/ /Manager I should note that I'm using Tomcat 4.1.31, so if you are using a different version, things might be slightly different. I should add that we are using mod_jk to forward requests from apache web server to tomcat. mod_jk is irrelevant, here. Hope that helps. -chris signature.asc Description: OpenPGP digital signature
RE: v5.5.x default context support outside of server.xml
From: Jon Wilmoth [mailto:[EMAIL PROTECTED] Subject: v5.5.x default context support outside of server.xml There seems to be some conflict between different sections of the context config documentation that leads me to believe it's not possible to specify a default virtual host's context with an empty string path attribute for a context. The doc is a bit obtuse in this area, since it wasn't fully revised from previous levels. To specify the default app, you must first delete the existing webapps/ROOT directory, then install your app in webapps/ROOT (or webapps/ROOT.war) or put your Context element in conf/[engine]/[host]/ROOT.xml. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
run php jsp on the same server
Hi, is there a way to configure tomecat to run also like php on port 80, or let them run together on the same virtual server? best
RE: Session count in tomcat manager
From: Christopher Schultz [mailto:[EMAIL PROTECTED] Subject: Re: Session count in tomcat manager When you shut down Tomcat, I believe the default is to write session information out to a saved-sessions file. When you start Tomcat back up, it reads this file so that any active sessions can be maintained across the restart. That is correct. By default, the sessions are stored in SESSIONS.ser files in subdirectories of the work directory. Session persistence seems to be enabled by default, which is odd. I removed the declaration for Manager className=...PersistentManager from my Context definition, and the sessions were still persisted. The proper way to disable session persistence is to set the pathname attribute of Manager to an empty string. You can disable persistence globally by changing it in conf/context.xml, unless overridden by individual app's Context settings. See the description of pathname at: http://tomcat.apache.org/tomcat-5.5-doc/config/manager.html - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Tomcat using MS SQL2000 Named Instance
It does not work when I use \\GP90. I tried the following and it works on the default instance. jdbc:sqlserver://KEYSTONE:1433;databaseName=TWO To determine if it is using the port #, I changed the port to 1430 and it no longer worked for the default instance. This tells me it is looking at the port #. Does the 2nd SQL2000 instance use a different port#? If so could I change the port # to the one the 2nd instance uses and would it work? How do you determine what port the 2nd instance is using? Thanks Dan Decker Microsoft Dynamics GP Developer www.Business-Computers.com (303)499-2039 -Original Message- From: Karen Koch [mailto:[EMAIL PROTECTED] Sent: Thursday, October 12, 2006 8:29 AM To: 'Tomcat Users List' Cc: [EMAIL PROTECTED] Subject: RE: Tomcat using MS SQL2000 Named Instance Try this: jdbc:microsoft:sqlserver://KEYSTONE\\GP90:1433;SelectMethod=cursor;Datab aseN ame=TWO Note the double backslash before the instance name. Struggled with this briefly myself recently -- the answer was in the PDF help file for the JDBC driver. Karen Koch -Original Message- From: Dan Decker [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 11, 2006 6:28 PM To: users@tomcat.apache.org Subject: Tomcat using MS SQL2000 Named Instance I am trying to get Tomcat to connect to a MS SQL2000 Named instance rather than the default instance. Using the following it connects to the database TWO on the default server KEYSTONE with no problems. jdbc:sqlserver://KEYSTONE;databaseName=TWO When I try to access the MS SQL2000 named instance KEYSTONE\GP90 it still connects to the default jdbc:sqlserver://KEYSTONE;instanceName=GP90;databaseName=TWO Dan Decker - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Tomcat using MS SQL2000 Named Instance
Peter - Thanks. I want to try it. I do not know how to find the port number the named instance is listening on. Do you know how to find what its number is? Dan Decker Microsoft Dynamics GP Developer www.Business-Computers.com (303)499-2039 -Original Message- From: Peter Ries [mailto:[EMAIL PROTECTED] Sent: Thursday, October 12, 2006 9:44 AM To: users@tomcat.apache.org Subject: RE: Tomcat using MS SQL2000 Named Instance Dan, Have you tried using the server name of Keystone and specifying the unique port number the named instance is listening on? I believe that should work. I think that would be something like this: jdbc:sqlserver://KEYSTONE:;databaseName=TWO ...where you replace with the port number. ~Peter -Original Message- From: Dan Decker [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 11, 2006 4:28 PM To: users@tomcat.apache.org Subject: Tomcat using MS SQL2000 Named Instance I am trying to get Tomcat to connect to a MS SQL2000 Named instance rather than the default instance. Using the following it connects to the database TWO on the default server KEYSTONE with no problems. jdbc:sqlserver://KEYSTONE;databaseName=TWO When I try to access the MS SQL2000 named instance KEYSTONE\GP90 it still connects to the default jdbc:sqlserver://KEYSTONE;instanceName=GP90;databaseName=TWO Dan Decker - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: jvm thread dump
Chris, I cant thank you enough for all your help. If only there was a rating system on this forum! ;) thing is, I am not using ant System.out commands in my app. I have log4j set up in the app which is logging to a different log file that rolls nightly. But I am seeing the same log messages (info level from the application) being dumped into catalina.out, so these are definitely not System.out logs. any idea how to turn off logging these log4j messages to catalina.out? I do have a log4j.properties file in CATALINA_HOME/common/classes (attached for your reference). Other than that, I do not know how the log messages are ending up in catalina.out thanks, -Riz. # # Configures Log4j as the Tomcat system logger # # # Configure the logger to output info level messages into a rolling log file. # #log4j.rootLogger=INFO, R # # To continue using the catalina.out file (which grows forever), # comment out the above line and uncomment the next. # log4j.rootLogger=ERROR, A1 # # Configuration for standard output (catalina.out). # log4j.appender.A1=org.apache.log4j.ConsoleAppender log4j.appender.A1.layout=org.apache.log4j.PatternLayout # # Print the date in ISO 8601 format # log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n # # Configuration for a rolling log file (tomcat.log). # log4j.appender.R=org.apache.log4j.DailyRollingFileAppender log4j.appender.R.DatePattern='.'-MM-dd # # Edit the next line to point to your logs directory. # The last part of the name is the log file name. # log4j.appender.R.File=/usr/local/tomcat/logs/tomcat.log log4j.appender.R.layout=org.apache.log4j.PatternLayout # # Print the date in ISO 8601 format # log4j.appender.R.layout.ConversionPattern=%d [%t] %-5p %c - %m%n # # Application logging options # #log4j.logger.org.apache=DEBUG #log4j.logger.org.apache=INFO #log4j.logger.org.apache.struts=DEBUG #log4j.logger.org.apache.struts=INFO You can't roll catalina.out. I read that thread, and the response you got that said don't log to stdout was right: just don't do it. Since you are using log4j already, have log4j log to a different log file that /does/ roll. You shoudln't have any System.out or System.err usage in your webapp. http://mail-archives.apache.org/mod_mbox/tomcat-users/200610.mbox/[EMAIL PROTECTED] I'll answer this one separately. Look for a followup post. -chris - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: v5.5.x default context support outside of server.xml
Thanks. I renamed my stand-alone context definition conf/[engine]/[host]/ROOT.xml and it worked. FYI...I've asked the developer list about the possibility of respecting the empty string path attribute value regardless of where the context is defined and/or update the documentation to capture this specific naming requirement for specifying the defining the host's default context (aka webapp). - Original Message From: Caldarale, Charles R [EMAIL PROTECTED] To: Tomcat Users List users@tomcat.apache.org Sent: Thursday, October 12, 2006 9:06:00 AM Subject: RE: v5.5.x default context support outside of server.xml From: Jon Wilmoth [mailto:[EMAIL PROTECTED] Subject: v5.5.x default context support outside of server.xml There seems to be some conflict between different sections of the context config documentation that leads me to believe it's not possible to specify a default virtual host's context with an empty string path attribute for a context. The doc is a bit obtuse in this area, since it wasn't fully revised from previous levels. To specify the default app, you must first delete the existing webapps/ROOT directory, then install your app in webapps/ROOT (or webapps/ROOT.war) or put your Context element in conf/[engine]/[host]/ROOT.xml. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: jvm thread dump
Riz, But I am seeing the same log messages (info level from the application) being dumped into catalina.out, so these are definitely not System.out logs. You must have an appender that is using stdout or stderr as its destination. Check out your log4j configuration. I do have a log4j.properties file in CATALINA_HOME/common/classes (attached for your reference). Umm... here's your problem. It's even documented in the config file! # # Configuration for standard output (catalina.out). # log4j.appender.A1=org.apache.log4j.ConsoleAppender log4j.appender.A1.layout=org.apache.log4j.PatternLayout It looks like you are setting up the R appender but never using it: # # Configure the logger to output info level messages into a rolling log file. # #log4j.rootLogger=INFO, R # # To continue using the catalina.out file (which grows forever), # comment out the above line and uncomment the next. # log4j.rootLogger=ERROR, A1 You have your preferred rootLogger config commented-out, and another one (using stdout) enabled. You should really real the documentation on log4j... this one was really simple ;) -chris signature.asc Description: OpenPGP digital signature
RE: jvm thread dump
From: Rizwan Merchant [mailto:[EMAIL PROTECTED] Subject: Re: jvm thread dump # # Configure the logger to output info level messages into a rolling log file. # #log4j.rootLogger=INFO, R # # To continue using the catalina.out file (which grows forever), # comment out the above line and uncomment the next. # log4j.rootLogger=ERROR, A1 Looks like if you followed the comments on the above lines, your problem would be resolved. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: v5.5.x default context support outside of server.xml
It also worked for me: - putting context.xml to webpass/YOUR_WEPAPP/META-INF - pack your web-app as ROOT.war - deploy it Tomcat will copy your context.xml from META-INF to conf/[engine]/[host]/ROOT.xml Cheers Greg PS.: tomcat 5.5.17 -- what's puzzlin' you, is the nature of my game
Re: [***Probable Spam***] RE: Tomcat using MS SQL2000 Named Instance
Dan: Try this: http://support.microsoft.com/kb/313225 Good luck, Johnny Dan Decker [EMAIL PROTECTED] 10/12/2006 12:57 PM Please respond to Tomcat Users List users@tomcat.apache.org To 'Tomcat Users List' users@tomcat.apache.org cc [EMAIL PROTECTED] Subject [***Probable Spam***] RE: Tomcat using MS SQL2000 Named Instance Peter - Thanks. I want to try it. I do not know how to find the port number the named instance is listening on. Do you know how to find what its number is? Dan Decker Microsoft Dynamics GP Developer www.Business-Computers.com (303)499-2039 -Original Message- From: Peter Ries [mailto:[EMAIL PROTECTED] Sent: Thursday, October 12, 2006 9:44 AM To: users@tomcat.apache.org Subject: RE: Tomcat using MS SQL2000 Named Instance Dan, Have you tried using the server name of Keystone and specifying the unique port number the named instance is listening on? I believe that should work. I think that would be something like this: jdbc:sqlserver://KEYSTONE:;databaseName=TWO ...where you replace with the port number. ~Peter -Original Message- From: Dan Decker [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 11, 2006 4:28 PM To: users@tomcat.apache.org Subject: Tomcat using MS SQL2000 Named Instance I am trying to get Tomcat to connect to a MS SQL2000 Named instance rather than the default instance. Using the following it connects to the database TWO on the default server KEYSTONE with no problems. jdbc:sqlserver://KEYSTONE;databaseName=TWO When I try to access the MS SQL2000 named instance KEYSTONE\GP90 it still connects to the default jdbc:sqlserver://KEYSTONE;instanceName=GP90;databaseName=TWO Dan Decker - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Tomcat using MS SQL2000 Named Instance
Odd -- works for me using the double backslash just fine... You do seem to missing microsoft: in the beginning of the connection string, not sure if that's a typo or not. Mine began jdbc:microsoft:sqlserver: etc. Did not have to mess with the port numbers (this was one of the things that I tried along the way). -Original Message- From: Dan Decker [mailto:[EMAIL PROTECTED] Sent: Thursday, October 12, 2006 11:50 AM To: 'Karen Koch'; 'Tomcat Users List' Subject: RE: Tomcat using MS SQL2000 Named Instance It does not work when I use \\GP90. I tried the following and it works on the default instance. jdbc:sqlserver://KEYSTONE:1433;databaseName=TWO To determine if it is using the port #, I changed the port to 1430 and it no longer worked for the default instance. This tells me it is looking at the port #. Does the 2nd SQL2000 instance use a different port#? If so could I change the port # to the one the 2nd instance uses and would it work? How do you determine what port the 2nd instance is using? Thanks Dan Decker Microsoft Dynamics GP Developer www.Business-Computers.com (303)499-2039 -Original Message- From: Karen Koch [mailto:[EMAIL PROTECTED] Sent: Thursday, October 12, 2006 8:29 AM To: 'Tomcat Users List' Cc: [EMAIL PROTECTED] Subject: RE: Tomcat using MS SQL2000 Named Instance Try this: jdbc:microsoft:sqlserver://KEYSTONE\\GP90:1433;SelectMethod=cursor;Datab aseN ame=TWO Note the double backslash before the instance name. Struggled with this briefly myself recently -- the answer was in the PDF help file for the JDBC driver. Karen Koch -Original Message- From: Dan Decker [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 11, 2006 6:28 PM To: users@tomcat.apache.org Subject: Tomcat using MS SQL2000 Named Instance I am trying to get Tomcat to connect to a MS SQL2000 Named instance rather than the default instance. Using the following it connects to the database TWO on the default server KEYSTONE with no problems. jdbc:sqlserver://KEYSTONE;databaseName=TWO When I try to access the MS SQL2000 named instance KEYSTONE\GP90 it still connects to the default jdbc:sqlserver://KEYSTONE;instanceName=GP90;databaseName=TWO Dan Decker - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: JspC precompilation dilemma
Never mind -- solved this by leaving the JSP java files in the build directory after processing them in chunks with the forked java processes, and then calling JSPC one more time using the taskdef. Previously completed steps are not repeated, so essentially, the taskdef invocation just sees that all of the .JSP .java files are up to date and merely generates and merges the servlet mappings into web.xml. -Original Message- From: Karen Koch [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 11, 2006 5:11 PM To: users@tomcat.apache.org Subject: JspC precompilation dilemma I am using JspC to precompile a large number of JSPs (1000ish). I want to take advantage of the servlet-mapping generation/merge into web.xml that is available using the taskdef classname=org.apache.jasper.JspC name=jasper2 syntax; however, I have been unsuccessful in my efforts to fork a new JVM (since there is apparently no exposed command-line argument for this). I consistently run out of memory using this method, despite ample available memory and Jvm tunings. I have solved the out of memory errors by instead using a straight java call, which allows me to fork a new JVM. I break up the overall number of JSPs into smaller batches, and as each batch is completed, memory is appropriately reclaimed. However, though I still can generate the servlet-mappings I need for the web.xml, I am not aware of a way to automatically merge the result into the webapp's web.xml file. Have others found a way to have your cake (fork a new JVM for JSP precompilation) and eat it too (automatically merge the generated servlet mappings into the webapp's web.xml)? Thanks in advance for any advice. Karen Koch - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Large File (100MB+) Upload Issue
Hello, We are experiencing a problem uploading large files through our web portal. We seem to have problems once the file gets to be 10-20MB. The file I am currently trying is 100MB. When the user submits via the web form, the file appears to upload to a Tomcat temp file. This upload completes (I know because I was doing a watch on the directory) but then something fails and the Java code (in the action class) which is supposed to execute doesn't. What is happening between the time Tomcat finishes uploading the temp file and the execute method is called? Is there some validation being done in Tomcat or Apache that prevents files of a certain size from uploading? Or maybe is there some timeout setting that would affect this? Also this could possibly be a system setting? I know that the code and struts configuration is *not* the problem. I have tested the code in a dev environment and it works fine, even for a 1.7GB file. But obviously the settings for the webserver and system are different for production, though I'm not sure where to look. Here's what we are using: Linux Struts 1.1 Apache 1.3.33 Tomcat 5.0 Regards, Lindsey
RE: Large File (100MB+) Upload Issue
I know I had some issues like this once that related to ssl. My dev server worked fine but when I got under https it timedout. Man I can't remember what config we changed, but you can try the disabletimeoutonupload setting in server.xml for either your 80 or 443 connector. Otherwise google on ssl, https, tomcat and upload and see if that gets you anything. Sorry its not definitive but it's worth a look. -Original Message- From: Stryjewski Lindsey [mailto:[EMAIL PROTECTED] Sent: Thursday, October 12, 2006 1:28 PM To: users@tomcat.apache.org Subject: Large File (100MB+) Upload Issue Hello, We are experiencing a problem uploading large files through our web portal. We seem to have problems once the file gets to be 10-20MB. The file I am currently trying is 100MB. When the user submits via the web form, the file appears to upload to a Tomcat temp file. This upload completes (I know because I was doing a watch on the directory) but then something fails and the Java code (in the action class) which is supposed to execute doesn't. What is happening between the time Tomcat finishes uploading the temp file and the execute method is called? Is there some validation being done in Tomcat or Apache that prevents files of a certain size from uploading? Or maybe is there some timeout setting that would affect this? Also this could possibly be a system setting? I know that the code and struts configuration is *not* the problem. I have tested the code in a dev environment and it works fine, even for a 1.7GB file. But obviously the settings for the webserver and system are different for production, though I'm not sure where to look. Here's what we are using: Linux Struts 1.1 Apache 1.3.33 Tomcat 5.0 Regards, Lindsey ** This e-mail is the property of Enron Corp. and/or its relevant affiliate and may contain confidential and privileged material for the sole use of the intended recipient (s). Any review, use, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender or reply to Enron Corp. at [EMAIL PROTECTED] and delete all copies of the message. This e-mail (and any attachments hereto) are not intended to be an offer (or an acceptance) and do not create or evidence a binding and enforceable contract between Enron Corp. (or any of its affiliates) and the intended recipient or any other party, and may not be relied on by anyone as the basis of a contract by estoppel or otherwise. Thank you. ** - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Large File (100MB+) Upload Issue
Let me run through it one more time and try to identify some specific problems then i will get back to you. Strut is similar to JSF i believe so we could be in the same boat Regards
Re: Large File (100MB+) Upload Issue
go to your server.xml for your non-SSL HTTP/1.1 Connector on port 8080 connector in server.xml set disableUploadTimeout=false HTH Martin -- This e-mail communication and any attachments may contain confidential and privileged information for the use of the designated recipients named above. If you are not the intended recipient, you are hereby notified that you have received this communication in error and that any review, disclosure, dissemination, distribution or copying of it or its contents - Original Message - From: Nail, Evan Burke [EMAIL PROTECTED] To: Tomcat Users List users@tomcat.apache.org Sent: Thursday, October 12, 2006 2:34 PM Subject: RE: Large File (100MB+) Upload Issue I know I had some issues like this once that related to ssl. My dev server worked fine but when I got under https it timedout. Man I can't remember what config we changed, but you can try the disabletimeoutonupload setting in server.xml for either your 80 or 443 connector. Otherwise google on ssl, https, tomcat and upload and see if that gets you anything. Sorry its not definitive but it's worth a look. -Original Message- From: Stryjewski Lindsey [mailto:[EMAIL PROTECTED] Sent: Thursday, October 12, 2006 1:28 PM To: users@tomcat.apache.org Subject: Large File (100MB+) Upload Issue Hello, We are experiencing a problem uploading large files through our web portal. We seem to have problems once the file gets to be 10-20MB. The file I am currently trying is 100MB. When the user submits via the web form, the file appears to upload to a Tomcat temp file. This upload completes (I know because I was doing a watch on the directory) but then something fails and the Java code (in the action class) which is supposed to execute doesn't. What is happening between the time Tomcat finishes uploading the temp file and the execute method is called? Is there some validation being done in Tomcat or Apache that prevents files of a certain size from uploading? Or maybe is there some timeout setting that would affect this? Also this could possibly be a system setting? I know that the code and struts configuration is *not* the problem. I have tested the code in a dev environment and it works fine, even for a 1.7GB file. But obviously the settings for the webserver and system are different for production, though I'm not sure where to look. Here's what we are using: Linux Struts 1.1 Apache 1.3.33 Tomcat 5.0 Regards, Lindsey ** This e-mail is the property of Enron Corp. and/or its relevant affiliate and may contain confidential and privileged material for the sole use of the intended recipient (s). Any review, use, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender or reply to Enron Corp. at [EMAIL PROTECTED] and delete all copies of the message. This e-mail (and any attachments hereto) are not intended to be an offer (or an acceptance) and do not create or evidence a binding and enforceable contract between Enron Corp. (or any of its affiliates) and the intended recipient or any other party, and may not be relied on by anyone as the basis of a contract by estoppel or otherwise. Thank you. ** - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Problem with HttpSessionListener
Juan- Session information is scoped only to the current web application (ServletContext), so information stored in one context will not be directly visible in another. the proper way to access your webapps info is getServletContext() to get the context first..once you have YOUR webapps context use setAttribute() to set the property use getAttribute to retrieve the value of the property Martin-- This e-mail communication and any attachments may contain confidential and privileged information for the use of the designated recipients named above. If you are not the intended recipient, you are hereby notified that you have received this communication in error and that any review, disclosure, dissemination, distribution or copying of it or its contents - Original Message - From: Juanjo Cuadrado To: Tomcat Users List ; Martin Gainty Sent: Wednesday, October 11, 2006 10:00 AM Subject: Re: Problem with HttpSessionListener I'm going to try to explain it better, if my English allows me. I have this classe: ... public class HttpTestListener implements HttpSessionListener { public void sessionCreated(HttpSessionEvent e){ e.getSession().setAttribute(test, new String(testValue); } ... In my web.xml I have put the follow: ... listener listener-classcom.test.HttpTestListener/listener-class /listener ... And, finally, in a servlet I try to recover the value of test: ... String test = (String)request.getSession().getAttribute(test); ... After this, the value of de variable test is null What have I to do if I want to recover the value of test? 2006/10/11, Martin Gainty [EMAIL PROTECTED]: message was cutoff which object are you attempting to recover? Servlet? SessionListener? Session? SessionAttribute? also you will not set any object in Session thru getAttribute as this is an accessor method and not a mutator Martin -- This e-mail communication and any attachments may contain confidential and privileged information for the use of the designated recipients named above. If you are not the intended recipient, you are hereby notified that you have received this communication in error and that any review, disclosure, dissemination, distribution or copying of it or its contents - Original Message - From: Juanjo Cuadrado [EMAIL PROTECTED] To: users@tomcat.apache.org Sent: Wednesday, October 11, 2006 8:09 AM Subject: Problem with HttpSessionListener Hi, I'm trying to create a listener in my application. I have created a listener class that implements HttpSessionLister and I have put the element listener in my web.xml. My listener class only sets a object in the session (getSession().getAttribute(k, kk)), but when I try to recover this object from a class (a servlet), not exist in session. Any idea? P.D. I'm using NetBeans 5.0 and its envebed Tomcat 5.5.9
RE: Problem with HttpSessionListener
From: Martin Gainty [mailto:[EMAIL PROTECTED] Subject: Re: Problem with HttpSessionListener Session information is scoped only to the current web application (ServletContext), so information stored in one context will not be directly visible in another. No one was asking for cross-application scoping. the proper way to access your webapps info is getServletContext() to get the context first..once you have YOUR webapps context use setAttribute() to set the property use getAttribute to retrieve the value of the property More irrelevancy. The OP is trying to update session attributes, not context attributes. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Large File (100MB+) Upload Issue
From: Martin Gainty [mailto:[EMAIL PROTECTED] Subject: Re: Large File (100MB+) Upload Issue go to your server.xml for your non-SSL HTTP/1.1 Connector on port 8080 connector in server.xml set disableUploadTimeout=false Doing so forces the connector to use a massaged connectionTimeout value for uploads (default 1 minute) rather than the standard upload timeout, which is 5 minutes. This certainly won't help the situation. Regardless, changing the upload timeout handling is irrelevant, since the OP stated that the upload completed, but the post-processing did not. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Large File (100MB+) Upload Issue
Might want to take a look at http://tomcat.apache.org/tomcat-5.5-doc/config/http.html. Specifically setting the maxPostSize attribute of your connector in server.xml. As you can see from the docs, the default is about 2MB. --David -Original Message- From: Stryjewski Lindsey [mailto:[EMAIL PROTECTED] Sent: Thursday, October 12, 2006 1:28 PM To: users@tomcat.apache.org Subject: Large File (100MB+) Upload Issue Hello, We are experiencing a problem uploading large files through our web portal. We seem to have problems once the file gets to be 10-20MB. The file I am currently trying is 100MB. When the user submits via the web form, the file appears to upload to a Tomcat temp file. This upload completes (I know because I was doing a watch on the directory) but then something fails and the Java code (in the action class) which is supposed to execute doesn't. What is happening between the time Tomcat finishes uploading the temp file and the execute method is called? Is there some validation being done in Tomcat or Apache that prevents files of a certain size from uploading? Or maybe is there some timeout setting that would affect this? Also this could possibly be a system setting? I know that the code and struts configuration is *not* the problem. I have tested the code in a dev environment and it works fine, even for a 1.7GB file. But obviously the settings for the webserver and system are different for production, though I'm not sure where to look. Here's what we are using: Linux Struts 1.1 Apache 1.3.33 Tomcat 5.0 Regards, Lindsey ** This e-mail is the property of Enron Corp. and/or its relevant affiliate and may contain confidential and privileged material for the sole use of the intended recipient (s). Any review, use, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender or reply to Enron Corp. at [EMAIL PROTECTED] and delete all copies of the message. This e-mail (and any attachments hereto) are not intended to be an offer (or an acceptance) and do not create or evidence a binding and enforceable contract between Enron Corp. (or any of its affiliates) and the intended recipient or any other party, and may not be relied on by anyone as the basis of a contract by estoppel or otherwise. Thank you. ** - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Large File (100MB+) Upload Issue
Just to clarify, the upload completed insofar as the temp file (named upload_#.tmp) finished... The action class is then supposed to call the appropriate method which writes the file to the appropriate storage directory, but this never happens. Regards, Lindsey -Original Message- From: Caldarale, Charles R [mailto:[EMAIL PROTECTED] Sent: Thursday, October 12, 2006 3:18 PM To: Tomcat Users List Subject: RE: Large File (100MB+) Upload Issue From: Martin Gainty [mailto:[EMAIL PROTECTED] Subject: Re: Large File (100MB+) Upload Issue go to your server.xml for your non-SSL HTTP/1.1 Connector on port 8080 connector in server.xml set disableUploadTimeout=false Doing so forces the connector to use a massaged connectionTimeout value for uploads (default 1 minute) rather than the standard upload timeout, which is 5 minutes. This certainly won't help the situation. Regardless, changing the upload timeout handling is irrelevant, since the OP stated that the upload completed, but the post-processing did not. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Large File (100MB+) Upload Issue
If this were the issue, why would a 22MB file (which I just tested) work just fine? Regards, Lindsey -Original Message- From: David Smith [mailto:[EMAIL PROTECTED] Sent: Thursday, October 12, 2006 3:20 PM To: Tomcat Users List Subject: Re: Large File (100MB+) Upload Issue Might want to take a look at http://tomcat.apache.org/tomcat-5.5-doc/config/http.html. Specifically setting the maxPostSize attribute of your connector in server.xml. As you can see from the docs, the default is about 2MB. --David -Original Message- From: Stryjewski Lindsey [mailto:[EMAIL PROTECTED] Sent: Thursday, October 12, 2006 1:28 PM To: users@tomcat.apache.org Subject: Large File (100MB+) Upload Issue Hello, We are experiencing a problem uploading large files through our web portal. We seem to have problems once the file gets to be 10-20MB. The file I am currently trying is 100MB. When the user submits via the web form, the file appears to upload to a Tomcat temp file. This upload completes (I know because I was doing a watch on the directory) but then something fails and the Java code (in the action class) which is supposed to execute doesn't. What is happening between the time Tomcat finishes uploading the temp file and the execute method is called? Is there some validation being done in Tomcat or Apache that prevents files of a certain size from uploading? Or maybe is there some timeout setting that would affect this? Also this could possibly be a system setting? I know that the code and struts configuration is *not* the problem. I have tested the code in a dev environment and it works fine, even for a 1.7GB file. But obviously the settings for the webserver and system are different for production, though I'm not sure where to look. Here's what we are using: Linux Struts 1.1 Apache 1.3.33 Tomcat 5.0 Regards, Lindsey ** This e-mail is the property of Enron Corp. and/or its relevant affiliate and may contain confidential and privileged material for the sole use of the intended recipient (s). Any review, use, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender or reply to Enron Corp. at [EMAIL PROTECTED] and delete all copies of the message. This e-mail (and any attachments hereto) are not intended to be an offer (or an acceptance) and do not create or evidence a binding and enforceable contract between Enron Corp. (or any of its affiliates) and the intended recipient or any other party, and may not be relied on by anyone as the basis of a contract by estoppel or otherwise. Thank you. ** - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Large File (100MB+) Upload Issue
From: Stryjewski Lindsey [mailto:[EMAIL PROTECTED] Subject: RE: Large File (100MB+) Upload Issue If this were the issue, why would a 22MB file (which I just tested) work just fine? If the maxPostSize is being exceeded, there should be a log entry indicating such. Have you checked the server.xml on the production system to see what it does have configured for each connector? You could do a file compare of your development vs. production .xml files in the conf directory to see if any differences there might be causing the problem. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JNI native libraries and Tomcat reloading web-apps
Hi Eric, I have a JNI application also and I followed the advise from the Tomcat documentation, where they suggest that the class that loads the dll's or so's libraries are placed either in the shared/classes directory or the common/classes directory. I do it in the shared/classes directory. It is not exactly what I would like, but it works. Hope that helps, --Luis R. On 10/11/06, Eric Johanson [EMAIL PROTECTED] wrote: Hello, I have a question using native JNI shared objects within a servlet running under Tomcat 5.5. Our servlet code depends on some shared .dll files (for windows, and .so files for Linux). so we have classes that have code such as: public class Abc { public native static boolean nativeF0(int a,String b); /* ... other native method declarations ... */ static { System.loadLibrary(objectfile); } } Obviously the idea is that the shared object objectfile.dll is loaded whenever the native methods are accessed. However, Tomcat seems to create a new Java class-loader whenever a web-app is reloaded via using the Tomcat manager web-app. Because of the new class-loader, the static { System.loadLibrary(...); } method is re-executed and the 2nd call to loadLIbrary yields an JRE error java.lang.UnsatisfiedLinkError: Native Library objectfile.dll already loaded in another classloader followed by a JRE crash. The workaround is to completely stop and restart the entire Tomcat server every time I modify my web-app. But this is cumbersome and makes our web-app harder to deploy and patch. Catching and ignoring the UnsatisfiedLinkError solves nothing because the classes loaded in the 2nd class-loader can't find the native methods. Can someone please give me some advice as to how to do one of the following: a. Unload my original objectfile.dll when my web-app is stopped so when it is restarted it loads normally in the new class-loader b. Connect the native libraries from the first class-loader to the second class-loader after the web-app is reloaded c. Other possibilities to work around this? Thank you, Eric Johanson
RE: Large File (100MB+) Upload Issue
The .xml files on production are significantly more complex... Something would not necessarily jump out at me immediately, which is why I was wondering if anyone else had this experience :) I've been going through them manually though, just in case I get lucky. I should mention too that nothing at all is getting logged to catalina.out. So is the general consensus that this is indeed an issue with Tomcat, and not Apache or a system setting? Regards, Lindsey -Original Message- From: Caldarale, Charles R [mailto:[EMAIL PROTECTED] Sent: Thursday, October 12, 2006 3:34 PM To: Tomcat Users List Subject: RE: Large File (100MB+) Upload Issue From: Stryjewski Lindsey [mailto:[EMAIL PROTECTED] Subject: RE: Large File (100MB+) Upload Issue If this were the issue, why would a 22MB file (which I just tested) work just fine? If the maxPostSize is being exceeded, there should be a log entry indicating such. Have you checked the server.xml on the production system to see what it does have configured for each connector? You could do a file compare of your development vs. production .xml files in the conf directory to see if any differences there might be causing the problem. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Large File (100MB+) Upload Issue
Honestly I don't know. I'm not there. Just offering a plausable expanation -- sometime I get lucky and hit the nail on the head. To be fair, your original post stated failures were being observed with uploads of 10-20MB while a 1.7MB worked. You might want to take a look at your logs though. If they don't show the problem, increase logging temporarily. --David Stryjewski Lindsey wrote: If this were the issue, why would a 22MB file (which I just tested) work just fine? Regards, Lindsey -Original Message- From: David Smith [mailto:[EMAIL PROTECTED] Sent: Thursday, October 12, 2006 3:20 PM To: Tomcat Users List Subject: Re: Large File (100MB+) Upload Issue Might want to take a look at http://tomcat.apache.org/tomcat-5.5-doc/config/http.html. Specifically setting the maxPostSize attribute of your connector in server.xml. As you can see from the docs, the default is about 2MB. --David -Original Message- From: Stryjewski Lindsey [mailto:[EMAIL PROTECTED] Sent: Thursday, October 12, 2006 1:28 PM To: users@tomcat.apache.org Subject: Large File (100MB+) Upload Issue Hello, We are experiencing a problem uploading large files through our web portal. We seem to have problems once the file gets to be 10-20MB. The file I am currently trying is 100MB. When the user submits via the web form, the file appears to upload to a Tomcat temp file. This upload completes (I know because I was doing a watch on the directory) but then something fails and the Java code (in the action class) which is supposed to execute doesn't. What is happening between the time Tomcat finishes uploading the temp file and the execute method is called? Is there some validation being done in Tomcat or Apache that prevents files of a certain size from uploading? Or maybe is there some timeout setting that would affect this? Also this could possibly be a system setting? I know that the code and struts configuration is *not* the problem. I have tested the code in a dev environment and it works fine, even for a 1.7GB file. But obviously the settings for the webserver and system are different for production, though I'm not sure where to look. Here's what we are using: Linux Struts 1.1 Apache 1.3.33 Tomcat 5.0 Regards, Lindsey ** This e-mail is the property of Enron Corp. and/or its relevant affiliate and may contain confidential and privileged material for the sole use of the intended recipient (s). Any review, use, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender or reply to Enron Corp. at [EMAIL PROTECTED] and delete all copies of the message. This e-mail (and any attachments hereto) are not intended to be an offer (or an acceptance) and do not create or evidence a binding and enforceable contract between Enron Corp. (or any of its affiliates) and the intended recipient or any other party, and may not be relied on by anyone as the basis of a contract by estoppel or otherwise. Thank you. ** - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Large File (100MB+) Upload Issue
No, I said that failures were observed on production with uploads of 10-20MB (and apparently I was off by a few MB, I apologize), and that a 1.7GB upload worked on development. I was using this as data to support my thought that the code was not the issue. And besides, I was only asking to get an idea of what your thought process was. I will try to increase logging... Right now they show nothing. Regards, Lindsey -Original Message- From: David Smith [mailto:[EMAIL PROTECTED] Sent: Thursday, October 12, 2006 3:46 PM To: Tomcat Users List Subject: Re: Large File (100MB+) Upload Issue Honestly I don't know. I'm not there. Just offering a plausable expanation -- sometime I get lucky and hit the nail on the head. To be fair, your original post stated failures were being observed with uploads of 10-20MB while a 1.7MB worked. You might want to take a look at your logs though. If they don't show the problem, increase logging temporarily. --David Stryjewski Lindsey wrote: If this were the issue, why would a 22MB file (which I just tested) work just fine? Regards, Lindsey -Original Message- From: David Smith [mailto:[EMAIL PROTECTED] Sent: Thursday, October 12, 2006 3:20 PM To: Tomcat Users List Subject: Re: Large File (100MB+) Upload Issue Might want to take a look at http://tomcat.apache.org/tomcat-5.5-doc/config/http.html. Specifically setting the maxPostSize attribute of your connector in server.xml. As you can see from the docs, the default is about 2MB. --David -Original Message- From: Stryjewski Lindsey [mailto:[EMAIL PROTECTED] Sent: Thursday, October 12, 2006 1:28 PM To: users@tomcat.apache.org Subject: Large File (100MB+) Upload Issue Hello, We are experiencing a problem uploading large files through our web portal. We seem to have problems once the file gets to be 10-20MB. The file I am currently trying is 100MB. When the user submits via the web form, the file appears to upload to a Tomcat temp file. This upload completes (I know because I was doing a watch on the directory) but then something fails and the Java code (in the action class) which is supposed to execute doesn't. What is happening between the time Tomcat finishes uploading the temp file and the execute method is called? Is there some validation being done in Tomcat or Apache that prevents files of a certain size from uploading? Or maybe is there some timeout setting that would affect this? Also this could possibly be a system setting? I know that the code and struts configuration is *not* the problem. I have tested the code in a dev environment and it works fine, even for a 1.7GB file. But obviously the settings for the webserver and system are different for production, though I'm not sure where to look. Here's what we are using: Linux Struts 1.1 Apache 1.3.33 Tomcat 5.0 Regards, Lindsey ** This e-mail is the property of Enron Corp. and/or its relevant affiliate and may contain confidential and privileged material for the sole use of the intended recipient (s). Any review, use, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender or reply to Enron Corp. at [EMAIL PROTECTED] and delete all copies of the message. This e-mail (and any attachments hereto) are not intended to be an offer (or an acceptance) and do not create or evidence a binding and enforceable contract between Enron Corp. (or any of its affiliates) and the intended recipient or any other party, and may not be relied on by anyone as the basis of a contract by estoppel or otherwise. Thank you. ** - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Large File (100MB+) Upload Issue
From: Stryjewski Lindsey [mailto:[EMAIL PROTECTED] Subject: RE: Large File (100MB+) Upload Issue So is the general consensus that this is indeed an issue with Tomcat, and not Apache or a system setting? I don't think anything's ruled out yet. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Question about hot deployment on Tomcat
I am reading the hot deployment on Tomcat here, http://tomcat.apache.org/tomcat-5.5-doc/deployer-howto.html#Deploying%20on%20a%20running%20Tomcat%20server And I have a few questions about the update case: 1. It said 'the Host will attempt to deploy and update web applications dynamically, as needed'. What happens if the Host fails to update the web application? 2. What happens when there are sessions running the code of the old webapp at the time of updating the new one? Will the update fail? Or the host will defer the update automatically untill the session running the old webapp is done. 3.If I have the following cases, will the Host trigger a re-deployment: - new html/images files in WAR file - new class files in WAR file - some class files but new methods Thank you for any help. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
tomcat 5.5.20 build failing
Greetings: I am attempting to build tomcat 5.5.20 from source. I am zlinux version of SuSE 9.3 an IBM mainframe. I have downloaded and installed the SDK 5.0 I have downloaded and installed apache-ant-1.6.0-77.1 I first encountered a missing file, see BUGZILLA bug number at the following: http://issues.apache.org/bugzilla/show_bug.cgi?id=40741 I fixed the build file as requested and then attempted to complete the process and encountered the following problem: == build-prepare: tomcat-util.jar: [echo] - Java-utils - [echo] -- puretls.present = ${puretls.present} [echo] -- jsse.present = true /usr/share/java/jsse-1.0.3/lib/jsse.jar [echo] -- commons-logging = true [echo] -- jmx = true /usr/share/java/mx4j-3.0.1/lib/mx4j.jar [echo] -- modeler = true /usr/share/java/commons-modeler-1.1/commons-modeler.jar [echo] -- skip.digester = ${skip.digester} [echo] -- JDK14 = true [echo] -- JDK15 = ${jdk1.5.present} [javac] Compiling 92 source files to /srv/apps/tomcat-5.5.20/build/build/classes [javac] /srv/apps/tomcat-5.5.20/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE13SocketFactory.java:76: package com.sun.net.ssl.internal.ssl does not exist [javac] Security.addProvider (new com.sun.net.ssl.internal.ssl.Provider()); [javac] ^ [javac] /srv/apps/tomcat-5.5.20/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE13SocketFactory.java:94: package com.sun.net.ssl does not exist [javac] com.sun.net.ssl.KeyManagerFactory kmf = [javac]^ [javac] /srv/apps/tomcat-5.5.20/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE13SocketFactory.java:95: package com.sun.net.ssl does not exist [javac] com.sun.net.ssl.KeyManagerFactory.getInstance(algorithm); [javac]^ [javac] /srv/apps/tomcat-5.5.20/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE13SocketFactory.java:105: package com.sun.net.ssl does not exist [javac] com.sun.net.ssl.TrustManager[] tm = null; [javac]^ [javac] /srv/apps/tomcat-5.5.20/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE13SocketFactory.java:112: package com.sun.net.ssl does not exist [javac] com.sun.net.ssl.TrustManagerFactory tmf = [javac]^ [javac] /srv/apps/tomcat-5.5.20/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE13SocketFactory.java:113: package com.sun.net.ssl does not exist [javac] com.sun.net.ssl.TrustManagerFactory.getInstance(SunX509); [javac]^ [javac] /srv/apps/tomcat-5.5.20/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE13SocketFactory.java:119: package com.sun.net.ssl does not exist [javac] com.sun.net.ssl.SSLContext context = [javac]^ [javac] /srv/apps/tomcat-5.5.20/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE13SocketFactory.java:120: package com.sun.net.ssl does not exist [javac] com.sun.net.ssl.SSLContext.getInstance(protocol); [javac]^ [javac] Note: Some input files use or override a deprecated API. [javac] Note: Recompile with -deprecation for details. [javac] 8 errors BUILD FAILED /srv/apps/tomcat-5.5.20/build.xml:49: Following error occured while executing this line /srv/apps/tomcat-5.5.20/build/build.xml:583: Following error occured while executing this line /srv/apps/tomcat-5.5.20/build/build.xml:187: Following error occured while executing this line /srv/apps/tomcat-5.5.20/connectors/util/build.xml:75: Compile failed; see the compiler error output for details. Total time: 9 minutes 10 seconds balweb15:/srv/apps/tomcat-5.5.20 # Now it appears that the JSSE13SocketFactory.java package is attempting to include some files that do not exist on my system. Should these files be part of the download done by the ant build. Where can I get the missing files to complete the build process? Again many thanks in advance. Best regards. Roger Hendrix Information Services Baldor Electric Co. 5711 R. S. Boreham, Jr. St. 72908 External Web: http://www.baldor.com - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: tomcat 5.5.20 build failing
From: Roger Hendrix at Baldor-IS [mailto:[EMAIL PROTECTED] Subject: tomcat 5.5.20 build failing I am attempting to build tomcat 5.5.20 from source. Why bother? Tomcat is pure Java (other than the optional APR connector), so you can use the distributed binaries on any platform. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
CPU level is not coming back to a normal level
Prod Box is: - Debian kernel 2.6 - Bi-Xeon 3.2 Ghz - 1 GB Ram - Apache 2.0 - prefork - maxclients = 256 - keealive = false - around 300 request/sec - Tomcat 5.0 - mod_jk 1.2.18 - 512 Mb allocated. - JDK 1.5 MySQL is on another separate box. Web app is an ad server serving all requests through servlets giving mainly HTML and gif. At normal charge, around 50 threads are created on tomcat and around 40 are working, others are waiting (. CPUs are around 20% each mainly for Tomcat. We are developing a new servlet which goal is to generate a png file from XHTML using Flying Saucer xhtmlrenderer. This one is using AWT for the XHTML and CSS rendering. When I'm testing the new servlet on my dev box, all is ok. When i'm running the same servlet on the prod box, Tomcat is reaching almost 2 x 100% CPUs for about 4 to 7 seconds. During this time, many threads are created (to the max, around 256 - see maxclients config). All Apache sockets are busy and slowing down. After that, sockets are released and Tomcat is working well again after few seconds. BUT !! CPUs stay around 2 x 40%. When I dump JVM Tomcat, around 140 threads are still remaining. 40 are working and around 100 are waiting in the thread pool. My questions are: - why CPUs stay busy whereas the same threads number are working in both case ? - is it possible that's because the notifyall() on these 100 extra threads ? - if yes, how can I ask Tomcat to kill these non working threads ? - if no ... any idea ? Thanks for your help. -- Pascal Alberty http://pascal.albertyorban.be - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: CPU level is not coming back to a normal level
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Pascal Alberty Subject: CPU level is not coming back to a normal level When I'm testing the new servlet on my dev box, all is ok. When i'm running the same servlet on the prod box, Tomcat is reaching almost 2 x 100% CPUs for about 4 to 7 seconds. Does this period coincide with garbage collection? (Although 4 - 7 seconds is rather long for a GC.) Have you tried using a profiler to see where the threads are spending their time? how can I ask Tomcat to kill these non working threads ? What do you have maxSpareThreads for each of your connectors set to? Look here for the HTTP connector doc: http://tomcat.apache.org/tomcat-5.5-doc/config/http.html or here for AJP: http://tomcat.apache.org/tomcat-5.5-doc/config/ajp.html - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: CPU level is not coming back to a normal level
On 10/12/06, Caldarale, Charles R [EMAIL PROTECTED] wrote: From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Pascal Alberty Subject: CPU level is not coming back to a normal level When I'm testing the new servlet on my dev box, all is ok. When i'm running the same servlet on the prod box, Tomcat is reaching almost 2 x 100% CPUs for about 4 to 7 seconds. Does this period coincide with garbage collection? (Although 4 - 7 seconds is rather long for a GC.) Have you tried using a profiler to see where the threads are spending their time? First, thanks for your quick answer. I have set up GC information. While XHTML rendering, there is one Full GC which spent 0.2 sec. All other GC operations are taking less then 0.01 sec which seems normal. When dumping the JVM through a kill -3, I can see threads working on sockets talking to apache. how can I ask Tomcat to kill these non working threads ? What do you have maxSpareThreads for each of your connectors set to? Look here for the HTTP connector doc: http://tomcat.apache.org/tomcat-5.5-doc/config/http.html I'm not using this one or here for AJP: http://tomcat.apache.org/tomcat-5.5-doc/config/ajp.html maxProcessors is 256 (same as Apache maxclients) maxSpareThreads is not set because it's a tomcat-5.5 parameter and i'm using tomcat 5.0 Thanks again -- Pascal Alberty http://pascal.albertyorban.be - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: tomcat 5.5.20 build failing
Roger Hendrix at Baldor-IS wrote: I am attempting to build tomcat 5.5.20 from source. I am zlinux version of SuSE 9.3 an IBM mainframe. I have downloaded and installed the SDK 5.0 What SDK? Sun's? Which version exactly? Regards mks - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: uninstalling the manager
Curiously, I deleted everything in tomcat/webapps other than my own apps, restarted the server, and manager was still there. I'm guessing that the compiled version of the files are still hanging around. Removing manager.xml seems to do the trick. -Original Message- From: David Smith [mailto:[EMAIL PROTECTED] Sent: Thursday, October 12, 2006 11:24 AM To: Tomcat Users List Subject: Re: uninstalling the manager Simple version = delete manager.xml in conf/Catalina/localhost. manager itself is located in server/webapps --David Daniel Blumenthal wrote: I'd like to get rid of the manager webapp, but it isn't clear where it's located. What's the best way to delete it? Thanks! Daniel - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: uninstalling the manager
From: Daniel Blumenthal [mailto:[EMAIL PROTECTED] Subject: RE: uninstalling the manager Curiously, I deleted everything in tomcat/webapps other than my own apps -Original Message- From: David Smith [mailto:[EMAIL PROTECTED] Subject: Re: uninstalling the manager manager itself is located in server/webapps Try reading what David wrote again - manager is in tomcat/server/webapps, not tomcat/webapps. Changing the extension of tomcat/conf/[engine]/[host]/manager.xml to something other than .xml rather than just deleting the file might be more appropriate if you ever want to reenable the app. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Apache2.x + Apache Tomcat5.x + mod_jk + virtual host on windows XP
hi list, I have both apache and tomcat working on my windows desktop. I have also configured mod_jk successfully ( I could access the jsp-examples from http://localhost/jsp-examples). I would like to configure virtual host on apache so that i can also develop other applications in the same web server. I configured mod_jk connector so that whenever there are requests for jsp and servlet pages the requests are forwarded to tomcat server. I have the following doubts and problems: 1. Where do i place the jsp and servlet pages i create in tomcat server. Do I have to create corresponding virtual host directory in tomcat server as we do in apache web server?. 2. How do I configure workers properties, server.xml, virtual host and the corresponding jkmount. please can anyone give the steps involved in doing these?. please help me I'm a tomcat newbie. thanks in advance. che - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]