我想知道当我从命令行执行’mvn tomcat:run’时,是否有人可以指示我使JRebel工作的方向。 我可以让JRebel在我的IDE(IntelliJ IDEA)中工作,但是在IDE内部运行感觉有点笨拙。 当我运行测试时,我不喜欢在它旁边运行另一个进程 – 称之为习惯。 不仅如此,我一直在尝试使用JRebel进行一些服务器锁定…而且我不希望IDE因此而挂起。 我一直在手动修复这个过程,并且控制权被交还给IDEA ……但是最好不让它在IDEA中运行。 我试过谷歌搜索,但我还没有找到如何将JRebel与tomcat插件结合使用。 谢谢
我完全能够在两种情况下配置spring boot,这里的问题是哪些更强大并且更推荐,因为我没有在spring boot文档中找到在生产环境中部署它的推荐方法,我对使用嵌入式容器的担忧是: 如果我想将其设置为Windows或Linux服务,那么jar文件是最佳选择吗? 如果我使用jar文件,我将无法重新启动服务器。 也许将来我需要在同一容器中使用更多应用程序。 如果我重新启动机器,我必须再次执行java -jar。 一般的问题是哪个更好地使用jar文件并在生产中将其作为java -jar jarname.jar执行或将包装更改为war将tomcat设置为提供并在空的tomcat中设置生成的war。 我希望你能帮助我。 – -编辑 – – 很多时候,答案取决于,这适用于普通的Web应用程序或restWeb服务。
我一直在使用mvn tomcat7-maven-plugin:run -am -pl :foo成功地在Tomcat中一次只运行一个项目, 如此处所示 。 现在我想让多个模块在同一个端口下运行但不同的上下文。 例如,我想: / => foo.war /bar => bar.war 这是我一直在使用的示例pom.xml代码段: org.apache.tomcat.maven tomcat7-maven-plugin 2.0-SNAPSHOT / 8080 true true ${project.build.directory}/${project.build.finalName}/ ${project.groupId} bar ${project.version} war tomcat apache.snapshots Apache Snapshots http://repository.apache.org/content/groups/snapshots-group/ false true 这是可能的tomcat7-maven-plugin:run插件? 我很难找到正确的语法来让它发挥得很好。 当我运行maven命令来运行它时,它只运行它在项目层次结构中找到的第一个命令。 如果我使用true运行它们,或者显然是从不同的终端运行它们,那么我得到“java.net.BindException:Address in in use:8080”。
我在tomcat 7中遇到问题,这里有一些关于它的信息, 1 – 我有这样的信息: INFO: Reloading Context with name [/WebApp] has started Oct 04, 2013 12:20:50 PM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc SEVERE: The web application [/WebApp] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered. Oct 04, […]
我有两个Tomcat服务器需要维持持久连接以减少SSL握手。 一台服务器(代理)位于DMZ中,而另一台服务器安全地位于另一台防火墙后面。 代理基本上只运行一个简单的servlet,在将请求转发到安全机器之前进行一些健全性检查。 在初始请求中,机器在执行实际工作之前交换证书。 因此,我希望在几分钟的超时时间内保持持久连接。 要与安全服务器通信,代理上的servlet使用HttpsUrlConnection 。 我已经设置了WireShark,我注意到无论我在安全机器上为连接器设置了keepAliveTimeout值,TCP连接在大约5或10秒后关闭。 这个数字似乎与我所读到的是默认超时以及Java如何处理HTTP Keep-Alive。 此链接说明如果服务器发送了Java,则表示Keep-Alive超时,否则它在关闭连接之前使用5秒(直接连接)或10秒(代理连接)。 我想弄清楚的是我如何强制Tomcat发送Keep-Alive标头。 不, Connection: Keep-Alive ,但Keep-Alive: timeout=x 。 我已经尝试过使用Apache HTTP服务器并修改httpd.conf中的keepAliveTimeout会导致Keep-Alive标头更改其超时值。 此外,Java确实遵守此超时。 更新(12/23/11):在运行了几个实验之后,我尝试使用Apache的HttpClient(3.1)而不是HttpsUrlConnection编写一些快速而脏的代码。 看来HttpClient在设置为使用Keep-Alive时,只是等待服务器关闭连接。 我不知道它会等多久。 我正在拍摄以保持HTTP连接活动3到5分钟。
我有几个使用java.util.logging的webapps。 Tomcat 5.5配置为使用Juli记录器,以便每个webapp都有自己的日志文件。 问题是Juli没有最大文件大小和文件数的属性。 使用Juli文件将无限增长,并且只在一天结束时滚动。 此外,还保留了无限数量的日志文件。 您可以在此页面上看到FileHandler属性 – Apache Tomcat 5.5文档 没有限制或计数属性(以下行无效) org.apache.juli.FileHandler.limit=102400 org.apache.juli.FileHandler.count=5 在不更改webapps的情况下,有没有办法为每个应用程序获取日志文件大小的某种类型的边界的唯一日志文件? 更新:我发现的解决方案根本不使用Juli记录器! java.util.logging.FileHandler.limit=102400 java.util.logging.FileHandler.count=5 谢谢, 格雷格
运行我的webapp一段时间后(时间因小时和天而异,具体取决于流量)Tomcat似乎随机关闭了自己。 在这种情况发生之前,日志中没有任何exception(没有例外)只是我的应用程序发出的正常INFO内容。 任何人都可以帮助如何最好地调试这个? Tomcat中有什么东西可以触发AbstractProtocol pause信号吗? 日志: 09-Nov-2011 21:40:19 org.apache.coyote.AbstractProtocol pause INFO: Pausing ProtocolHandler [“http-bio-80”] 09-Nov-2011 21:40:20 org.apache.coyote.AbstractProtocol pause INFO: Pausing ProtocolHandler [“ajp-bio-8009”] 09-Nov-2011 21:40:21 org.apache.catalina.core.StandardService stopInternal INFO: Stopping service Catalina Java版本:1.6.0_25-b06 Tomcat版本:6
我们最近从JDK6u20(Linux,32位和64位)升级到JDK6u23。 从那时起,我们不能再使用工具jstack和jstat从运行进程中获取监控信息。 如果我们切换回JDK6u20,一切正常。 我们正在运行Tomcat 6.根据此论坛post,其他人也有同样的问题: http : //forums.oracle.com/forums/thread.jspa?threadID = 2151967&tstart = 0 运行简单的普通Java进程并使用这些工具。 Jstack说:无法打开套接字文件:目标进程没有响应或未加载HotSpot VM当目标进程没有响应时,可以使用-F选项。 Jstat说:找不到19799 使用Jps根本不显示正在运行的进程,所以我猜这个问题更多是JDK6u23和JDK6u24的一般性质。 它有一个新的热点引擎。 也许某些东西不能与Tomcat和Hotspot v19一起使用。 任何想法? 感谢帮助。 PS当然,我们以同一个用户身份运行它,我们没有改变任何其他内容。 只有JDK。
由于Tomcat可以同时加载多个webapp,并且这些webapp可以分开工作,并且不会互相干扰,并且它们可以在同一个JVM中工作。 所以我对tomcat如何在同一个JVM中处理Object作用域感到困惑。 例如,我在两个不同的Web应用程序中都有一个单例对象,而tomcat将为每个Web应用程序生成两个不同的单例对象。 我一直认为单例对象在同一个JVM中只有一个对象,但在tomcat JVM中可能有两个或更多。 我已经阅读了有关ClassLoader的一些信息,Tomcat有自己的WebAppClassLoader来加载webapps。 那么这意味着这里的对象范围是ClassLoader还是我错了。 有谁知道这个或者可以给我一些关于tomcat工作内存布局的信息?
我收到了以下错误: SEVERE: Servlet.service() for servlet jsp threw exception javax.el.ELException: The identifier [case] is not a valid Java identifier as required by section 1.19 of the EL specification (Identifier ::= Java language identifier). This check can be disabled by setting the system property org.apache.el.parser.SKIP_IDENTIFIER_CHECK to true. 这是由于在tomcat 7默认情况下SKIP IDENTIFIER CHECKfunction是假的(在tomcat 6及以下版本中都是如此)并且我在正则表达式中使用“case”而case是标识符所以它抛出错误。 我找到了以下解决方案: javax.el.ELException:标识符[return]不是有效的Java标识符 但它对我不起作用,因为我不想在我的代码中进行更改。 所以我想要解决方案将tomcat 7配置为SKIP […]