草庐IT

java - 生产服务器上的 Tomcat、PermGen 和重新部署

看起来像MemoryError:PermGenspacejava.lang.OutOfMemoryError:PermGenspace是一个常见的问题。您可以增加perm空间的大小,但在100或200次重新部署后它将被填满。跟踪ClassLoader内存泄漏几乎是不可能的。您在生产服务器上使用Tomcat(或另一个简单的servlet容器-Jetty?)的方法是什么?每次部署解决方案后是否重新启动服务器?您是否将一个Tomcat用于多个应用程序?也许我应该在不同的端口(或嵌入式Jetty)上使用多个Jetty服务器,并且每次都取消部署/重新启动/部署? 最佳

java - Tomcat 连接池创建太多连接,卡在 sleep 模式

我使用的是Tomcat6.0.29,带有Tomcat7的连接池和MySQL。测试我的应用程序,它不会重用池中的任何内容,但最终会创建一个新池,最终我无法使用数据库,因为当池的最大Activity大小设置时,池中有数百个hibernate连接到20。引用这里:+----+------+-----------------+--------+---------+------+-------+------------------+|Id|User|Host|db|Command|Time|State|Info|+----+------+-----------------+--------+--

java - Tomcat 连接池创建太多连接,卡在 sleep 模式

我使用的是Tomcat6.0.29,带有Tomcat7的连接池和MySQL。测试我的应用程序,它不会重用池中的任何内容,但最终会创建一个新池,最终我无法使用数据库,因为当池的最大Activity大小设置时,池中有数百个hibernate连接到20。引用这里:+----+------+-----------------+--------+---------+------+-------+------------------+|Id|User|Host|db|Command|Time|State|Info|+----+------+-----------------+--------+--

java - 在 tomcat 实例之间共享 session (不使用粘性 session )

我将拥有3个Tomcat服务器和一个负载均衡器,它可以在不使用“stickysessions”的情况下分派(dispatch)请求。'。我想在服务器之间共享session的数据,我正在考虑将它们保存在数据库中。我想使用memcached作为我的数据库前面的一层,以更快地为请求提供服务并提供给don'tputmydbunderheavyload.我正在考虑提供我的自定义tomcat管理器,该管理器在获取/持久化session数据到数据库之前使用memcached,因为目前我没有看到一种透明的方式(这意味着我必须在如果我切换到另一个应用服务器)。这是一个好的解决方案还是您看到了更好的方法?

java - 在 tomcat 实例之间共享 session (不使用粘性 session )

我将拥有3个Tomcat服务器和一个负载均衡器,它可以在不使用“stickysessions”的情况下分派(dispatch)请求。'。我想在服务器之间共享session的数据,我正在考虑将它们保存在数据库中。我想使用memcached作为我的数据库前面的一层,以更快地为请求提供服务并提供给don'tputmydbunderheavyload.我正在考虑提供我的自定义tomcat管理器,该管理器在获取/持久化session数据到数据库之前使用memcached,因为目前我没有看到一种透明的方式(这意味着我必须在如果我切换到另一个应用服务器)。这是一个好的解决方案还是您看到了更好的方法?

java - 我如何知道我的 Tomcat 是否支持 Servlet 3.0?

我正在使用Tomcat6.33,我想知道如何检查它是否支持Servlet3.0或El2.2? 最佳答案 您可以通过阅读Tomcat文档进行检查-请参阅ApacheTomcatVersionspage...列出了每个主要版本的Tomcat支持的JSP和Servlet规范的版本。(列表中的答案:Tomcat6.x支持Servlet2.5和JSP/EL2.1)如果您想在运行时找出Servlet规范版本,ServletContextAPI有名为getMajorVersion()和getMinorVersion()的方法,它们应该会告诉你。我

java - 我如何知道我的 Tomcat 是否支持 Servlet 3.0?

我正在使用Tomcat6.33,我想知道如何检查它是否支持Servlet3.0或El2.2? 最佳答案 您可以通过阅读Tomcat文档进行检查-请参阅ApacheTomcatVersionspage...列出了每个主要版本的Tomcat支持的JSP和Servlet规范的版本。(列表中的答案:Tomcat6.x支持Servlet2.5和JSP/EL2.1)如果您想在运行时找出Servlet规范版本,ServletContextAPI有名为getMajorVersion()和getMinorVersion()的方法,它们应该会告诉你。我

java - 在 Tomcat 8 中将外部资源添加到类路径

我有一个Tomcat应用程序,它需要引用一些应用程序外部的属性文件。通常,它们存储在本地计算机上的特定位置,例如C:\PROJECT_NAME\conf\。在Tomcat7中,这可以通过在/META-INF/中放置一个context.xml文件来实现,该文件使用VirtualWebappLoader将此位置添加到应用程序类路径中,如下所示:如何在Tomcat8中实现同样的功能? 最佳答案 Tomcat8migrationguide中有一个关于此的部分这将指导您使用resourcesconfiguration特别是,您将创建一个Web

java - 在 Tomcat 8 中将外部资源添加到类路径

我有一个Tomcat应用程序,它需要引用一些应用程序外部的属性文件。通常,它们存储在本地计算机上的特定位置,例如C:\PROJECT_NAME\conf\。在Tomcat7中,这可以通过在/META-INF/中放置一个context.xml文件来实现,该文件使用VirtualWebappLoader将此位置添加到应用程序类路径中,如下所示:如何在Tomcat8中实现同样的功能? 最佳答案 Tomcat8migrationguide中有一个关于此的部分这将指导您使用resourcesconfiguration特别是,您将创建一个Web

java - 启动tomcat时如何传递-D附加参数?

我有一个maven项目,运行命令mvninstall所有项目以及模块编译并成功复制到本地存储库后。但现在我想在tomcat6中运行生成的web应用程序。客户端为tomcat提供了一些参数,如-Dapp.username,-Dapp.username,,一旦项目启动,将在内部使用。但我不知道如何在tomcat6中设置这些附加参数。下面是我的开发环境操作系统=WindowsTomcat=tomcat6.0.27请帮帮我? 最佳答案 对于Tomcat6,您应该将参数添加到startup.sh(Windowsstartup.bat)。对于T