Why does Tomcat require persistent MBeans
Hello, Just checked that not all of my mbeans are working under Tomcat 7. I exported all of them using /org.springframework.jmx.export.MBeanExporter/. I see exception when calling methods on some mbeans. The exception says /Problem invoking load. javax.management.MBeanException. Persistence not supported for this MBean/. I wonder why is it a strict requirement? I assume this is important because it can change some internal state of the object. Mine MBean is supposed to trigger data loading process, so I don't care about persisting the state. 1) Is there any way around it? 2) Why only part of my mbeans are functional inside Tomcat when they are exported in the same manner without additional configuration? Is there any standard for classes to be a valid MBeans under Tomcat?
Re: Does windows authentication works on Tomcat under Linux.
It will be helpful for those who don't have time to try-and-fail. On 2/25/2013 2:10 PM, Mark Thomas wrote: On 25/02/2013 10:48, André Warnier wrote: Denis wrote: Hello, I want to use Tomcat's Windows Authentication http://tomcat.apache.org/tomcat-7.0-doc/windows-auth-howto.html#Third_party_libraries feature to have a reliable domain user name via HTTPServletRequest.getRemoteUser() within my servlet. Questions: 1) Is Tomcat's Windows authentication supposed to work in my env? * Application Server: apache-tomcat-7.0.21 * JDK version: 1.6.0_26 * OS: Red Hat Enterprise Linux Server release 5.5 (Tikanga) 2) Any additional setup required to be able to access domain username via HTTPServletRequest.getRemoteUser() within my servlet? Hi. I do not know either if the above is supposed to work also under Linux as a platform. It is not very clear in the Tomcat docs, and I have asked a couple of times on the list without getting much of an answer. (Probably because few people know). It should work but I haven't tested it. I suggest opening an enhancement request for the docs to be updated to include a known working Linux config. I should be able to take a look at doing that once I get back from ApacheCon next week. Mark - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: [OT] ClassFormatException: Invalid constant pool reference
Date: Tue, 27 Dec 2011 16:56:41 -0500 From: ch...@christopherschultz.net To: users@tomcat.apache.org Subject: Re: [OT] ClassFormatException: Invalid constant pool reference -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Denis, On 12/27/11 7:53 AM, Denis Ivanov wrote: Hey, I have an Amazon Enterprise Linux (EC2) version 2.6.35.11-83.9.amzn1.i686 (architecture i386) with Java JM version 1.6.0_20-b20 (Vendor Sun Microsystems Inc.) and Apache Tomcat version 7.0.19 with Catalina. I'm trying to deploy GlobziWebApplication.war and it was working a few days ago but now it gives me error 404 when I try to access the web service and logs/catalina.out says Error deploying web application archive GlobziWebApplication.war org.apache.tomcat.util/.bcel.classfile.ClassFormatException:Invalid constant pool reference: 12034. Constant pool size is: 1486 I wouldn't expect a ClassFormatException to return a 404. Are you sure that the two are related? Well if it can't deploy the web application then it can't serve it, thus the 404. Also, the above has a / in the package name which is illegal. Are you sure you copy/pasted that properly? Oops, the / is a mistake. And then it lists a bunch of instances where this occurs, like at org.apache.tomcat.util.bcel.classfile.ConstantPool.getConstant(ConstantPool.java:184). This is called a stack trace, and isn't a bunch of instances where it occurs: it's a specific call trace that describes what the thread was doing at the time the exception was thrown. Can you post the full stack trace? Dec 27, 2011 8:50:26 AM org.apache.catalina.startup.HostConfig checkResources INFO: Undeploying context [/GlobziWebApplication] Dec 27, 2011 8:50:26 AM org.apache.catalina.startup.HostConfig deployWAR INFO: Deploying web application archive GlobziWebApplication.war Dec 27, 2011 8:50:26 AM org.apache.catalina.startup.HostConfig deployWAR SEVERE: Error deploying web application archive GlobziWebApplication.war org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid constant pool reference: 12034. Constant pool size is: 1486 at org.apache.tomcat.util.bcel.classfile.ConstantPool.getConstant(ConstantPool.java:184) at org.apache.tomcat.util.bcel.classfile.ConstantPool.getConstant(ConstantPool.java:203) at org.apache.tomcat.util.bcel.classfile.Attribute.readAttribute(Attribute.java:109) at org.apache.tomcat.util.bcel.classfile.Code.init(Code.java:86) at org.apache.tomcat.util.bcel.classfile.Attribute.readAttribute(Attribute.java:140) at org.apache.tomcat.util.bcel.classfile.FieldOrMethod.init(FieldOrMethod.java:58) at org.apache.tomcat.util.bcel.classfile.Method.init(Method.java:72) at org.apache.tomcat.util.bcel.classfile.ClassParser.readMethods(ClassParser.java:268) at org.apache.tomcat.util.bcel.classfile.ClassParser.parse(ClassParser.java:128) at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:1967) at org.apache.catalina.startup.ContextConfig.processAnnotationsJndi(ContextConfig.java:1914) at org.apache.catalina.startup.ContextConfig.processAnnotationsJndi(ContextConfig.java:1905) at org.apache.catalina.startup.ContextConfig.processAnnotationsJndi(ContextConfig.java:1905) at org.apache.catalina.startup.ContextConfig.processAnnotationsJndi(ContextConfig.java:1905) at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1828) at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1295) at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:896) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:322) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5103) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:812) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:787) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:607) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:932) at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:723) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:470) at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1363) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:294) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119
RE: [OT] ClassFormatException: Invalid constant pool reference
Date: Wed, 28 Dec 2011 13:11:32 + From: ma...@apache.org To: users@tomcat.apache.org Subject: Re: [OT] ClassFormatException: Invalid constant pool reference On 28/12/2011 10:24, Denis Ivanov wrote: Can you post the full stack trace? Dec 27, 2011 8:50:26 AM org.apache.catalina.startup.HostConfig checkResources INFO: Undeploying context [/GlobziWebApplication] Dec 27, 2011 8:50:26 AM org.apache.catalina.startup.HostConfig deployWAR INFO: Deploying web application archive GlobziWebApplication.war Dec 27, 2011 8:50:26 AM org.apache.catalina.startup.HostConfig deployWAR SEVERE: Error deploying web application archive GlobziWebApplication.war org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid constant pool reference: 12034. Constant pool size is: 1486 at org.apache.tomcat.util.bcel.classfile.ConstantPool.getConstant(ConstantPool.java:184) at org.apache.tomcat.util.bcel.classfile.ConstantPool.getConstant(ConstantPool.java:203) at org.apache.tomcat.util.bcel.classfile.Attribute.readAttribute(Attribute.java:109) at org.apache.tomcat.util.bcel.classfile.Code.init(Code.java:86) at org.apache.tomcat.util.bcel.classfile.Attribute.readAttribute(Attribute.java:140) at org.apache.tomcat.util.bcel.classfile.FieldOrMethod.init(FieldOrMethod.java:58) at org.apache.tomcat.util.bcel.classfile.Method.init(Method.java:72) at org.apache.tomcat.util.bcel.classfile.ClassParser.readMethods(ClassParser.java:268) at org.apache.tomcat.util.bcel.classfile.ClassParser.parse(ClassParser.java:128) at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:1967) at org.apache.catalina.startup.ContextConfig.processAnnotationsJndi(ContextConfig.java:1914) at org.apache.catalina.startup.ContextConfig.processAnnotationsJndi(ContextConfig.java:1905) at org.apache.catalina.startup.ContextConfig.processAnnotationsJndi(ContextConfig.java:1905) at org.apache.catalina.startup.ContextConfig.processAnnotationsJndi(ContextConfig.java:1905) at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1828) at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1295) at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:896) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:322) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5103) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:812) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:787) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:607) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:932) at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:723) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:470) at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1363) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:294) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89) at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1233) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1391) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1401) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1380) at java.lang.Thread.run(Thread.java:636) https://issues.apache.org/bugzilla/show_bug.cgi?id=52326 ? Never mind, I just had to upgrade to 7.0.23. Mark - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: ClassFormatException: Invalid constant pool reference
It was working fine before (Tomcat 7.0.23 on my laptop and 7.0.19 on the server). Is there some way to upgrade while preserving the web app configuration? From: p...@pidster.com Date: Tue, 27 Dec 2011 13:49:39 + Subject: Re: ClassFormatException: Invalid constant pool reference To: users@tomcat.apache.org On 27 Dec 2011, at 12:53, Denis Ivanov denis.iva...@live.com wrote: Hey, I have an Amazon Enterprise Linux (EC2) version 2.6.35.11-83.9.amzn1.i686 (architecture i386) with Java JM version 1.6.0_20-b20 (Vendor Sun Microsystems Inc.) and Apache Tomcat version 7.0.19 with Catalina. I'm trying to deploy GlobziWebApplication.war and it was working a few days ago but now it gives me error 404 when I try to access the web service and logs/catalina.out says Error deploying web application archive GlobziWebApplication.war org.apache.tomcat.util/.bcel.classfile.ClassFormatException:Invalid constant pool reference: 12034. Constant pool size is: 1486 And then it lists a bunch of instances where this occurs, like at org.apache.tomcat.util.bcel.classfile.ConstantPool.getConstant(ConstantPool.java:184). What is Invalid constant pool reference? GlobziWebApplication.war was compiled using NetBeans 7.0.1. Help me fix this. Please. Thanks. Are you compiling in netbeans against a different version of Tomcat? Can you use the latest version? p - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
ClassFormatException: Invalid constant pool reference
Hey, I have an Amazon Enterprise Linux (EC2) version 2.6.35.11-83.9.amzn1.i686 (architecture i386) with Java JM version 1.6.0_20-b20 (Vendor Sun Microsystems Inc.) and Apache Tomcat version 7.0.19 with Catalina. I'm trying to deploy GlobziWebApplication.war and it was working a few days ago but now it gives me error 404 when I try to access the web service and logs/catalina.out says Error deploying web application archive GlobziWebApplication.war org.apache.tomcat.util/.bcel.classfile.ClassFormatException:Invalid constant pool reference: 12034. Constant pool size is: 1486 And then it lists a bunch of instances where this occurs, like at org.apache.tomcat.util.bcel.classfile.ConstantPool.getConstant(ConstantPool.java:184). What is Invalid constant pool reference? GlobziWebApplication.war was compiled using NetBeans 7.0.1. Help me fix this. Thanks.
RE: ClassFormatException: Invalid constant pool reference
From: p...@pidster.com Date: Tue, 27 Dec 2011 17:34:16 + Subject: Re: ClassFormatException: Invalid constant pool reference To: users@tomcat.apache.org On 27 Dec 2011, at 14:15, Denis Ivanov denis.iva...@live.com wrote: It was working fine before (Tomcat 7.0.23 on my laptop and 7.0.19 on the server). Is there some way to upgrade while preserving the web app configuration? From: p...@pidster.com Date: Tue, 27 Dec 2011 13:49:39 + Subject: Re: ClassFormatException: Invalid constant pool reference To: users@tomcat.apache.org On 27 Dec 2011, at 12:53, Denis Ivanov denis.iva...@live.com wrote: Hey, I have an Amazon Enterprise Linux (EC2) version 2.6.35.11-83.9.amzn1.i686 (architecture i386) with Java JM version 1.6.0_20-b20 (Vendor Sun Microsystems Inc.) and Apache Tomcat version 7.0.19 with Catalina. I'm trying to deploy GlobziWebApplication.war and it was working a few days ago but now it gives me error 404 when I try to access the web service and logs/catalina.out says Error deploying web application archive GlobziWebApplication.war org.apache.tomcat.util/.bcel.classfile.ClassFormatException:Invalid constant pool reference: 12034. Constant pool size is: 1486 And then it lists a bunch of instances where this occurs, like at org.apache.tomcat.util.bcel.classfile.ConstantPool.getConstant(ConstantPool.java:184). What is Invalid constant pool reference? GlobziWebApplication.war was compiled using NetBeans 7.0.1. Help me fix this. Please. Thanks. Are you compiling in netbeans against a different version of Tomcat? Can you use the latest version? Please post your answers below the questions to maintain the order of the conversation. It was working fine before what? It was working fine a few days ago. I don't know what changed. My laptop has Tomcat 7.0.23 and the server has 7.0.19. Are you compiling the JSPs? JSPs? I'm compiling .java files into a .war. p p - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Embedding tomcat 7 , several connectors
We are using tomcat 6 and org.apache.catalina.startup.Embedded in our server application, but class Embedded was deprecated in tomcat 7 and was replaced by org.apache.catalina.startup.Tomcat. This class has only one connector , but we use 2 different connectors for http and https (different ports) . Embedded doesn't working in 7.0.16 ( internal NullPointerException ) . What to do ?
requests die with a stack overflow
Hello all, I also posted this message to the Struts mailing list, because I'm not sure where the problem is. The version of Tomcat is 6.0.29, and the JVM is 1.6.0_17-b17 running on a Linux server, kernel version 2.6.18. The version of Struts is 1.3.10. Once in a while, the application starts behaving erratically with huge stack traces generated in the log file of the application. When the application starts behaving this way, all requests fail and they all generate those huge stack traces. The log file reaches 1 gigabyte in no time. I've attached one of those stack traces which I compressed with gzip. The trace is 3756 lines long! Any help would be greatly appreciated. -- D. Laroche Pratt Whitney Canada application.log.gz Description: GNU Zip compressed data - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: requests die with a stack overflow
I have no such thing as filters in my configuration. I reproduced the web descriptor file below. All the interactions between the browser and the server are done with Ajax requests that execute Struts actions. I'm using the Dojo toolkit for the JavaScript running in the browser. The application only has one JSP page, welcome.jsp, which just redirects to the one HTML page of the application. Everything else is built dynamically with Dojo dijits and Ajax requests to get data from the server. Thanks for your reply. web descriptor file ?xml version=1.0 encoding=ISO-8859-1? web-app xmlns=http://java.sun.com/xml/ns/j2ee; version=2.4 display-name PI web service /display-name description PI web service /description !-- Standard Action Servlet Configuration (with debugging) -- servlet servlet-nameaction/servlet-name servlet-class ca.pwc.tfc.piservice.PiServiceActionServlet /servlet-class init-param param-nameconfig/param-name param-value/WEB-INF/struts-config.xml/param-value /init-param init-param param-nameconfig-data/param-name param-value/WEB-INF/config.xml/param-value /init-param init-param param-namevalidate/param-name param-valuetrue/param-value /init-param init-param param-namedefault-encoding/param-name param-valueutf-8/param-value /init-param load-on-startup2/load-on-startup /servlet !-- Standard Action Servlet Mapping -- servlet-mapping servlet-nameaction/servlet-name url-pattern*.do/url-pattern /servlet-mapping session-config session-timeout 15 /session-timeout /session-config welcome-file-list welcome-filepages/welcome.jsp/welcome-file /welcome-file-list /web-app 2011/2/17 Konstantin Kolinko knst.koli...@gmail.com 2011/2/17 Denis Laroche dlaroc...@gmail.com: Hello all, I also posted this message to the Struts mailing list, because I'm not sure where the problem is. The version of Tomcat is 6.0.29, and the JVM is 1.6.0_17-b17 running on a Linux server, kernel version 2.6.18. The version of Struts is 1.3.10. Once in a while, the application starts behaving erratically with huge stack traces generated in the log file of the application. When the application starts behaving this way, all requests fail and they all generate those huge stack traces. The log file reaches 1 gigabyte in no time. I've attached one of those stack traces which I compressed with gzip. The trace is 3756 lines long! A filter performs a forward which is then intercepted by the same filter, and so on in a loop. Either fix the condition that triggers the loop, or map the filter to process only incoming requests (see how it mapped in your web.xml, what dispatcher is specified in your filter-mapping). I think that you can use request.setAttribute() and then check if the attribute is present to detect looping. Best regards, Konstantin Kolinko - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: requests die with a stack overflow
That forwarding to itself behavior has to be triggered under special circumstances because the application can work ok for long periods of time. But you're probably pointing me in the right direction because I have a base action class from which all other actions derive and in the base there is code to detect session timeouts (by comparing the requested session id with the current session id) and that code redirects to the home page action when a timeout is detected. That's probably when the looping is triggered somehow. I'll modify that base class and see what happens. Thanks for the reply. -- DL I have a base action class from which all other action classes derive. 2011/2/17 Caldarale, Charles R chuck.caldar...@unisys.com From: Denis Laroche [mailto:dlaroc...@gmail.com] Subject: Re: requests die with a stack overflow I have no such thing as filters in my configuration. No, but you have struts rules configured that are effectively the same thing. Something in your struts config keeps forwarding to itself. - 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 unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Struts application used as a web service (large number of sessions)
Ok thanks, your explanations were very useful. I'll do what you suggested, i.e. not create a session for the Struts actions matching the web service clients. -- DL André Warnier a...@ice-sa.com 2011-02-15 06:02 PM Please respond to Tomcat Users List users@tomcat.apache.org To Tomcat Users List users@tomcat.apache.org cc Subject Re: Struts application used as a web service (large number of sessions) denis.laro...@pwc.ca wrote: Hello everybody, I wrote a Struts application deployed on a Tomcat server that is used as a web service. What I see is that for every request sent by the client applications a new session is created; I guess this is because there's no JSESSIONID cookie sent with the request. Could someone tell me if it's terribly inefficient for the server to have to create a new session for every request? I could reduce the session timeout to the minimum, but the application is also used by interactive users so the session timeout needs to have a reasonable value. HttpSession (HttpRequest.)getSession() : Returns the current session associated with this request, or if the request does not have a session, creates one. HttpSession : http://tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/http/HttpSession.html A session is created when there is a call to getSession(). No call to getSession(), no session. In the big scheme of things, from the above descriptions, I would tend to think that a session object is not something trivial, so creating one when you don't need it is probably indeed quite inefficient. (And then the session has to be stored somewhere, which will involve serialization, I/O etc..; and then some background task still has to periodically go clean up these useless sessions). From your description, it seems as if there are two types of usage of the same application : - a usage by real users, which does require a session - a usage as a web service, which does not require a session (because these are one-off calls, probably) I don't know Struts at all, but is it possible to distinguish the two types of usage, and bypass the getSession() call when the application is used as a web service ? Otherwise, would it be possible to set up two instances of your application ? Such as : /webapp1 : used by interactive users /webapp2 : used by web service clients and remove the getSession() call in the one used as a web service ? Now again, inefficiency is a relative concept. If your server is 50% idle anyway, you do not really want to spend a lot of time bringing it to 60% idle. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Struts application used as a web service (large number of sessions)
Hello everybody, I wrote a Struts application deployed on a Tomcat server that is used as a web service. What I see is that for every request sent by the client applications a new session is created; I guess this is because there's no JSESSIONID cookie sent with the request. Could someone tell me if it's terribly inefficient for the server to have to create a new session for every request? I could reduce the session timeout to the minimum, but the application is also used by interactive users so the session timeout needs to have a reasonable value. Thanks in advance. -- D. Laroche Pratt Whitney Canada --- Ce courriel contient des renseignements confidentiels de PWC et le fait de le recevoir ne constitue pas une autorisation d'en utiliser ou divulguer le contenu. This email contains confidential information of PWC and its receipt does not constitute an authorization to use or disclose its contents. ---
TomCat realm cmd properties
Hello I'm trying to use TomCat realm option and I would like to pass parameter into realm tag. Could I do it? I use next realm tag: Realm className=org.apache.catalina.realm.JNDIRealm .. connectionURL=${connection.url} .. / But when I try to start TomCat I see next ecxeption: javax.naming.NamingException: Cannot parse url: ${connection.url} I use next command to start TomCat: startup.bat -Dconnection.url=ldap://xxx.xxx.xxx:PORT Is it posible to pass the parameter into realm tag? -- View this message in context: http://www.nabble.com/TomCat-realm-cmd-properties-tp20027191p20027191.html Sent from the Tomcat - User mailing list archive at Nabble.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]
Using EJBs deployed in JBoss from Tomcat
I am having issues trying to uses session beans deployed on JBoss 5.0.0CR1 server. I am tryingto access them from a stand alone Tomcat Server 6.0.16. The issue is that I am missing javax.ejb.Handle class. As far as I know it is part of ejb-api.jar. However I am unable to locate such a jar anywhere. Am I supposed to grab a javaee.jar, explode it, remover javax.servlet directory (so that there is no conflict with servlet-api.jar in Tomcat) debuild the jar and use it? Seems a little convoluted to me. If anyone has experience accessing JBoss deployed session EJBs from Tomcat I would really appraciate any pointers. Thank you Denis - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Log4J logging from server not working
I've been stuck with this problem for about a week now. I am trying to get the Log4J working in my servlet. I have tried it on Tomcat 6.0.16 as well as Tomcat 5.5.26. I have followed all the directions in the logging section for both versions. The internal logging works fine in both cases. However, my servlet does not produce any log at all. I must be doing something incorrectly, although I have rechecked everything 100 times over. If anyone can help me I would really appreciate it. Are the instructions for setting up logging complete? Here is the description of my environment: Windows environment (have superuser access). JDK 1.6.0_07 Log4J 1.2.15 Here is also my log4j.properties that lives in WEB-INF/classes log4j.rootLogger=DEBUG, R, stdout # - # # Appenders # # - # log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout # WARNING: the %M specifier which generates the method name # is apparently very slow. log4j.appender.stdout.layout.conversionPattern=%d %-5p [%t] %c{5}.%M: %m%n # New appender # log4j.appender.R=org.apache.log4j.RollingFileAppender # Put the file in the tomcat instance log dir. log4j.appender.R.File=${catalina.home}/logs/sms.log log4j.appender.R.MaxFileSize=10MB log4j.appender.R.MaxBackupIndex=10 log4j.appender.R.layout=org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern=%d %-5p [%t] %c{5}.%M: %m%n - 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: Log4J logging from server not working
Does anybody has any idea what might be causing the problem with Log4J? I've googled for the longest time and there are no leads I found. Denis - Original Message From: Denis Kezerashvili [EMAIL PROTECTED] To: users@tomcat.apache.org Sent: Tuesday, July 29, 2008 9:49:08 AM Subject: Log4J logging from server not working I've been stuck with this problem for about a week now. I am trying to get the Log4J working in my servlet. I have tried it on Tomcat 6.0.16 as well as Tomcat 5.5.26. I have followed all the directions in the logging section for both versions. The internal logging works fine in both cases. However, my servlet does not produce any log at all. I must be doing something incorrectly, although I have rechecked everything 100 times over. If anyone can help me I would really appreciate it. Are the instructions for setting up logging complete? Here is the description of my environment: Windows environment (have superuser access). JDK 1.6.0_07 Log4J 1.2.15 Here is also my log4j.properties that lives in WEB-INF/classes log4j.rootLogger=DEBUG, R, stdout # - # # Appenders # # - # log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout # WARNING: the %M specifier which generates the method name # is apparently very slow. log4j.appender.stdout.layout.conversionPattern=%d %-5p [%t] %c{5}.%M: %m%n # New appender # log4j.appender.R=org.apache.log4j.RollingFileAppender # Put the file in the tomcat instance log dir. log4j.appender.R.File=${catalina.home}/logs/sms.log log4j.appender.R.MaxFileSize=10MB log4j.appender.R.MaxBackupIndex=10 log4j.appender.R.layout=org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern=%d %-5p [%t] %c{5}.%M: %m%n - 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]
Application versioning
I have multiple version of an application and i would like to switch from one to the other in a transparent way. This means that i would like to access it always through the same url ( localhost/myapp ), but pointing to myapp-1.1, or myapp-1.2 etc. etc. Thanks
JAAS Principal propagation from Tomcat to JBoss
I have the following situation (I try to simplify it): 1. I have a standalone Apache Tomcat server (5.5.26), on which is running a web application: - A Welcome jsp page (Welcome.jsp) and 2 Servlets: CalculatorServlet and MyProtectedServlet - The CalculatorSevlet servlet has to access remotly a stateless session bean on a JBoss application server: Properties env = new Properties(); env.put(Context.INITIAL_CONTEXT_FACTORY, org.jnp.interfaces.NamingContextFactory); env.put(Context.URL_PKG_PREFIXES, org.jnp.interfaces); env.put(Context.PROVIDER_URL, localhost:1099); Context c = new InitialContext(env); MyCalculatorRemote calculator = c.lookup (MyCalculatorBean/remote); int result = calculator.sum(a, b); 1. I have a standalone JBoss server (version 4.2.2), on which is running an EJB3 application - A Stateless session bean (MyCalculatorBean), which exposes a sum(nt a, int b) method through the remote interface: @Stateless @SecurityDomain(MyRealm) public class MyCalculatorBean implements MyCalculatorRemote { @RolesAllowed(math) public Integer sum(int a, int b) { return a + b; } } - The Session bean is defined under the jboss security domain called MyRealm, which is defined in the jboss login-config.xml and in fact uses a MySql database for authentication and authorization: application-policy name = MyRealm authentication login-module code = org.jboss.security.auth.spi.DatabaseServerLoginModule flag = required module-option name = debugtrue/module-option module-option name = dsJndiNamejava:/MysqlDS/module-option module-option name = principalsQuerySELECT PASSWORD FROM USERS WHERE EMAIL=?/module-option module-option name = rolesQuerySELECT ROLE, 'Roles' FROM ROLES WHERE EMAIL=?/module-option /login-module /authentication /application-policy - The method sum(int a, int b) of the Session bean can be called only by authenticated users with math role: @RolesAllowed(math) public Integer sum(int a, int b) { return a + b; } Since the Session bean is secured with jboss security mechanism, which is based on JAAS, to access the bean I have to setup JAAS authentication on the web application (Single sign on authentication): - I defined a JAASRealm in the Tomcat server.xml Context path=/MyWebApplication docBase=/MyWebApplication Resource name=jdbc/MyDB auth=Container type= javax.sql.DataSource maxActive=100 maxIdle=30 maxWait=1 username=root password=admin driverClassName= org.gjt.mm.mysql.Driver url=jdbc:mysql://localhost/mydb?autoReconnect=true/ Realm className=org.apache.catalina.realm.JAASRealm appName=MyRealm userClassNames=org.jboss.security.SimplePrincipal roleClassNames=org.jboss.security.SimpleGroup debug=99/ /Context - I defined a login.config file to be used by the JAASRealm; the file defines the login module to be used for jaas authentication and I define to use the JBoss DatabaseServerLoginModule (I imported the jboss security library into the tomcat common/lib folder): MyRealm{ org.jboss.security.auth.spi.DatabaseServerLoginModulesufficient debug=true dsJndiName=java:comp/env/jdbc/MyDB principalsQuery=select password from users where email=? rolesQuery=select role, 'Roles' from roles where email=?; }; - I set up Tomcat to specify the location of the login.config file, changing the catalina.bat script: set JAVA_OPTS=%JAVA_OPTS% - Djava.security.auth.login.config==%CATALINA_HOME%/conf/login.config - I set up the web.xml of my web application to define the login configuration and the security constrains like follows: security-constraint display-nameConstraint/display-name web-resource-collection web-resource-nameProteced Servlet/web-resource-name description/ url-pattern/MyProtectedServlet/url-pattern http-methodGET/http-method http-methodPOST/http-method http-methodHEAD/http-method http-methodPUT/http-method http-methodOPTIONS/http-method http-methodTRACE/http-method http-methodDELETE/http-method /web-resource-collection auth-constraint descriptionAuth/description
Interaction between Standalone Tomcat Web application and Jboss EJB application
I have the following situation (I try to simplify it): 1. I have a standalone Apache Tomcat server (5.5.26), on which is running a web application: - A Welcome jsp page (Welcome.jsp) and 2 Servlets: CalculatorServlet and MyProtectedServlet - The CalculatorSevlet servlet has to access remotly a stateless session bean on a JBoss application server: Properties env = new Properties(); env.put(Context.INITIAL_CONTEXT_FACTORY, org.jnp.interfaces.NamingContextFactory); env.put(Context.URL_PKG_PREFIXES, org.jnp.interfaces); env.put(Context.PROVIDER_URL, localhost:1099); Context c = new InitialContext(env); MyCalculatorRemote calculator = c.lookup (MyCalculatorBean/remote); int result = calculator.sum(a, b); 1. I have a standalone JBoss server (version 4.2.2), on which is running an EJB3 application - A Stateless session bean (MyCalculatorBean), which exposes a sum(nt a, int b) method through the remote interface: @Stateless @SecurityDomain(MyRealm) public class MyCalculatorBean implements MyCalculatorRemote { @RolesAllowed(math) public Integer sum(int a, int b) { return a + b; } } - The Session bean is defined under the jboss security domain called MyRealm, which is defined in the jboss login-config.xml and in fact uses a MySql database for authentication and authorization: application-policy name = MyRealm authentication login-module code = org.jboss.security.auth.spi.DatabaseServerLoginModule flag = required module-option name = debugtrue/module-option module-option name = dsJndiNamejava:/MysqlDS/module-option module-option name = principalsQuerySELECT PASSWORD FROM USERS WHERE EMAIL=?/module-option module-option name = rolesQuerySELECT ROLE, 'Roles' FROM ROLES WHERE EMAIL=?/module-option /login-module /authentication /application-policy - The method sum(int a, int b) of the Session bean can be called only by authenticated users with math role: @RolesAllowed(math) public Integer sum(int a, int b) { return a + b; } Since the Session bean is secured with jboss security mechanism, which is based on JAAS, to access the bean I have to setup JAAS authentication on the web application (Single sign on authentication): - I defined a JAASRealm in the Tomcat server.xml Context path=/MyWebApplication docBase=/MyWebApplication Resource name=jdbc/MyDB auth=Container type= javax.sql.DataSource maxActive=100 maxIdle=30 maxWait=1 username=root password=admin driverClassName= org.gjt.mm.mysql.Driver url=jdbc:mysql://localhost/mydb?autoReconnect=true/ Realm className=org.apache.catalina.realm.JAASRealm appName=MyRealm userClassNames=org.jboss.security.SimplePrincipal roleClassNames=org.jboss.security.SimpleGroup debug=99/ /Context - I defined a login.config file to be used by the JAASRealm; the file defines the login module to be used for jaas authentication and I define to use the JBoss DatabaseServerLoginModule (I imported the jboss security library into the tomcat common/lib folder): MyRealm{ org.jboss.security.auth.spi.DatabaseServerLoginModulesufficient debug=true dsJndiName=java:comp/env/jdbc/MyDB principalsQuery=select password from users where email=? rolesQuery=select role, 'Roles' from roles where email=?; }; - I set up Tomcat to specify the location of the login.config file, changing the catalina.bat script: set JAVA_OPTS=%JAVA_OPTS% - Djava.security.auth.login.config==%CATALINA_HOME%/conf/login.config - I set up the web.xml of my web application to define the login configuration and the security constrains like follows: security-constraint display-nameConstraint/display-name web-resource-collection web-resource-nameProteced Servlet/web-resource-name description/ url-pattern/MyProtectedServlet/url-pattern http-methodGET/http-method http-methodPOST/http-method http-methodHEAD/http-method http-methodPUT/http-method http-methodOPTIONS/http-method http-methodTRACE/http-method http-methodDELETE/http-method /web-resource-collection auth-constraint descriptionAuth/description
RE: Tomcat 5 Memory Leak
home made (the purpose is to explore the running time in inspecting private variables with JNI) -Message d'origine- De : Rodrigo Assunção [mailto:[EMAIL PROTECTED] Envoyé : vendredi 5 janvier 2007 11:41 À : Tomcat Users List Objet : Re: Tomcat 5 Memory Leak Which leak tracker tool are you using? Denis Barthélemy wrote: Hi, Our java based application is running on tomcat 5.0.3 on linux with JRE 1.4.2_08. Since the migration from tomcat 5.0.27 to 5.0.30, a bunch of our application's sessions are not correctly closed and so they stay in live using memory. In using a leak tracker tool, a memory leak has been found in org.apache.tomcat.util.threads.ThreadWithAttributes. I have found some information about this issue dealing with swallowOutput however the application doesn't use it and that doesn't correspond to our exact tomcat version. (http://mail-archives.apache.org/mod_mbox/tomcat-users/200502.mbox/%3CBAY16- [EMAIL PROTECTED])Unfortunately at this time we don't have any more detail about it. Can somebody help? Denis B. Following the stack trace from leak tracker tool : com.one2team.one2web.common.Session2web org.apache.tomcat.util.threads.ThreadWithAttributes org.apache.tomcat.util.threads.ThreadPool$ControlRunnable org.apache.tomcat.util.threads.ThreadPool org.apache.jk.common.ChannelSocket java.util.Hashtable$Entry java.util.Hashtable org.apache.jk.core.WorkerEnv org.apache.jk.server.JkMain org.apache.jk.server.JkCoyoteHandler org.apache.coyote.tomcat5.CoyoteConnector org.apache.coyote.tomcat5.CoyoteRequest org.apache.coyote.Request org.apache.coyote.RequestInfo java.util.ArrayList org.apache.coyote.RequestGroupInfo org.apache.coyote.RequestInfo org.apache.commons.modeler.BaseModelMBean mx4j.server.MX4JMBeanMetaData java.util.HashMap$Entry java.util.HashMap mx4j.server.DefaultMBeanRepository mx4j.server.MX4JMBeanServer org.apache.catalina.core.StandardWrapper org.apache.tomcat.util.http.mapper.Mapper$Wrapper org.apache.tomcat.util.http.mapper.Mapper$Context org.apache.tomcat.util.http.mapper.Mapper java.lang.String - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- *:-.,_,.-:*'``'*:-.,_,.-:*:-.,_,.-:*'``'*:-.,_,.-: Rodrigo Assunção Engenheiro da Computação Accioly S/A Importação e Comércio E-mail: [EMAIL PROTECTED] Fone: (11)3352-8825 - 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]
Tomcat 5 Memory Leak
Hi, Our java based application is running on tomcat 5.0.3 on linux with JRE 1.4.2_08. Since the migration from tomcat 5.0.27 to 5.0.30, a bunch of our application's sessions are not correctly closed and so they stay in live using memory. In using a leak tracker tool, a memory leak has been found in org.apache.tomcat.util.threads.ThreadWithAttributes. I have found some information about this issue dealing with swallowOutput however the application doesn't use it and that doesn't correspond to our exact tomcat version. (http://mail-archives.apache.org/mod_mbox/tomcat-users/200502.mbox/%3CBAY16- [EMAIL PROTECTED]) Unfortunately at this time we don't have any more detail about it. Can somebody help? Denis B. Following the stack trace from leak tracker tool : com.one2team.one2web.common.Session2web org.apache.tomcat.util.threads.ThreadWithAttributes org.apache.tomcat.util.threads.ThreadPool$ControlRunnable org.apache.tomcat.util.threads.ThreadPool org.apache.jk.common.ChannelSocket java.util.Hashtable$Entry java.util.Hashtable org.apache.jk.core.WorkerEnv org.apache.jk.server.JkMain org.apache.jk.server.JkCoyoteHandler org.apache.coyote.tomcat5.CoyoteConnector org.apache.coyote.tomcat5.CoyoteRequest org.apache.coyote.Request org.apache.coyote.RequestInfo java.util.ArrayList org.apache.coyote.RequestGroupInfo org.apache.coyote.RequestInfo org.apache.commons.modeler.BaseModelMBean mx4j.server.MX4JMBeanMetaData java.util.HashMap$Entry java.util.HashMap mx4j.server.DefaultMBeanRepository mx4j.server.MX4JMBeanServer org.apache.catalina.core.StandardWrapper org.apache.tomcat.util.http.mapper.Mapper$Wrapper org.apache.tomcat.util.http.mapper.Mapper$Context org.apache.tomcat.util.http.mapper.Mapper java.lang.String - 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.0.28 with JDK 1.5?
Sunitha Kumar (sunithak) wrote: Hi, Wanted to check if tomcat 5.0.28 would work with JDK 1.5? thnx -sunitha Fine ;) - 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 and SSL
maybe changeit ! Klaus-F. Kaal [EMAIL PROTECTED] ogic.com A users@tomcat.apache.org 12/04/2006 11:54 cc Objet Veuillez répondre Tomcat and SSL à Tomcat Users List [EMAIL PROTECTED] che.org Hi, I am trying to convice TOMCAT to work on SSL. I use openSSL according to the descriptions on page: http://wiki.apache.org/tomcat/HowTo#head-dda58b28679259196562da84ad73d7b35b41c5c2 No, I have a cetificate and try to generate a keystore. My trouble: This steps asks for a password. All my passwords (from the create-certificate process) do not work. Can anybody tell me what password is needed here? Thanks Klaus - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE RE Tomcat and SSL
You should insert you certificate in the cacerts keystore of your jdk. Klaus-F. Kaal [EMAIL PROTECTED] ogic.com A Tomcat Users List 12/04/2006 12:07 users@tomcat.apache.org cc Veuillez répondre Objet à RE Tomcat and SSL Tomcat Users List [EMAIL PROTECTED] che.org Thanks, I now created a keystore for TOMCAT. But still, when I start TOMCAT, I get the message: -- SCHWERWIEGEND: Error starting endpoint java.io.FileNotFoundException: /root/.keystore (No such file or directory) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.init(FileInputStream.java:106) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getStore(JSSESocketFactory.java:279) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeystore(JSSESocketFactory.java:222) at org.apache.tomcat.util.net.jsse.JSSE14SocketFactory.getKeyManagers(JSSE14SocketFactory.java:141) at org.apache.tomcat.util.net.jsse.JSSE14SocketFactory.init(JSSE14SocketFactory.java:109) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.createSocket(JSSESocketFactory.java:88) at org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoint.java:292) at org.apache.tomcat.util.net.PoolTcpEndpoint.startEndpoint(PoolTcpEndpoint.java:312) at org.apache.coyote.http11.Http11BaseProtocol.start(Http11BaseProtocol.java:150) at org.apache.coyote.http11.Http11Protocol.start(Http11Protocol.java:75) at org.apache.catalina.connector.Connector.start(Connector.java:1089) at org.apache.catalina.core.StandardService.start(StandardService.java:459) at org.apache.catalina.core.StandardServer.start(StandardServer.java:709) at org.apache.catalina.startup.Catalina.start(Catalina.java:551) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:275) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) 12.04.2006 12:02:36 org.apache.catalina.startup.Catalina start SCHWERWIEGEND: Catalina.start: LifecycleException: service.getName(): Catalina; Protocol handler start failed: java.io.FileNotFoundException: /root/.keystore (No such fil e or directory) at org.apache.catalina.connector.Connector.start(Connector.java:1096) at org.apache.catalina.core.StandardService.start(StandardService.java:459) at org.apache.catalina.core.StandardServer.start(StandardServer.java:709) at org.apache.catalina.startup.Catalina.start(Catalina.java:551) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:275) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) 12.04.2006 12:02:36 org.apache.catalina.startup.Catalina start --- Do I need to name the keystore, or so? Thanks Klaus - 8 maybe changeit ! Klaus-F. Kaal [EMAIL PROTECTED] ogic.com A users@tomcat.apache.org 12/04/2006 11:54 cc Objet