草庐IT

SpringBoot中Tomcat和SpringMVC整合源码分析

全部标签

java - 创建线程部署在 Tomcat 中的 Web 应用程序

我正在开发一个部署在Tomcat中的Web应用程序。我们在客户端使用Spring、Hibernate、GWT)。此应用程序的功能之一是在创建、更新或删除任何实体时向用户发送警报(电子邮件)。(警报可以由用户即时添加,因此涉及一些处理-决定应通过电子邮件通知哪些用户)。理想情况下,警报机制应该是异步的,并且应该影响CRUD操作的性能。我首先想到的是创建一个线程和一个阻塞队列。线程不断轮询阻塞队列以查看它是否有任何事件。但是在Web应用程序中创建线程是许多容器不鼓励的事情。有人可以建议/建议-这是正确的做法吗?或者有更好的方法来做同样的事情。如有任何指点,我们将不胜感激。提前致谢,萨钦

磁盘使用情况的 Java 分析

我现在想分析我的应用程序,它使用JCS进行缓存。我使用了netbeansIDE附带的默认分析器,它证明对内存来说是令人满意的。但是我想分析我的应用程序的磁盘使用情况,因为我的应用程序缓存项目在磁盘中我想验证它的性能。有没有办法使用netbeans附带的分析器或使用任何商业分析器(如JProfiler)来执行此操作。提前致谢 最佳答案 JProfiler有一个文件探测器将向您显示:文件的时间线和它们的I/OActivity所有文件及其I/O统计信息的列表“热点”,即执行大多数读/写操作的文件以及对您的代码的累积回溯遥测总读写吞吐量显示

java - Tomcat 不刷新响应缓冲区

我在下面的Tomcat7上测试了HttpResponse#flushBuffer和PrintWriter#flush,但似乎响应忽略了它们而不是刷新了尽快通过网络发送内容。importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletReques

java - 使用 Tomcat : Providing multiple projects' dependencies? 部署 Eclipse Web 应用程序

在使用Tomcat6和Eclipse部署我的动态Web应用程序时,我无法提供我正在使用的一些第三方库(JAR文件)。请注意,我确实知道如何在Web应用程序项目“直接”依赖于那些JAR的设置中执行此操作。但是,在我的设置中,我有两个Eclipse项目:core是一个类库,比方说,它依赖于a.jar。web是网络应用程序,它依赖于核心。在web的项目设置中,在DeploymentAssembly类别中,我添加了core,所以Eclipse(或Tomcat-我'我不太确定这里的负责人是谁)正在将core.jar放入我的Web应用程序的libs目录中。问题是:当我试用Web应用程序时,当cor

java - 当作为服务器运行时,Eclipse - Tomcat - java.lang.NoClassDefFoundError : javax/servlet/ServletConfig

我整天都在为此奋斗:我有DynamicWebProject。它运作良好。但在某些时候,我决定清理项目中未使用的额外jar。清理后,我遇到了很多错误。所以我回滚了所有更改(我的意思是我重新调整了所有jar)。但我也玩过项目、Eclipse和调试配置的构建路径。不幸的是我不记得这个变化(用Path的东西)。当我在服务器上运行时,tomcat向我显示:`04.12.201216:37:43org.apache.catalina.core.ApplicationContextlogSEVERE:StandardWrapper.Throwablejava.lang.NoClassDefFound

java - Oracle 驱动程序内存泄漏 - Tomcat

我们使用的是tomcat-7.0.33。Spring3.0.1和JPA使用tomcatJNDI数据源。Oracle10g在后端使用ojdbc6.jar(最新)。当我们尝试取消部署应用程序时,某些Oracle类似乎正在泄漏。我在使用较旧的ojdbc14.jar驱动程序时看不到这一点,但我们无法使用这些驱动程序,因为我们正在迁移到需要较新驱动程序的Oracle11g。我猜这是Oracle驱动程序中的错误?我可以做些什么来清理这些资源吗?我试过关闭数据库连接池和其他东西都无济于事......不使用Tomcat的连接池会更好吗?我们宁愿让服务器连接到数据库,但如果需要,我们可以自己做...服务

java - JDBC 驱动程序 JAR 文件应该驻留在具有数据源的 Tomcat 部署中的什么位置?

我有使用Spring、Hibernate、Tomcat7和MySql的JavaWeb应用程序。我使用Datasource进行数据库操作。我不太清楚加载jar文件(Tomcat-jdbc.jar&Mysql-connector.jar)的标准位置是什么?如果我将两个jar都保存在CATALINA_HOME/lib/或webapps/myApp/WEB-INF/lib中,它就会起作用。但是我被告知只使用来自CATALINA_HOME/lib/的Tomcat-jdbc和来自/WEB-INF/lib/的mysql-connector.jar,它给出了一个ClassNotFoundSqlDriv

java - 登录 tomcat catalina.out 的最简单方法

将日志写入tomcat/catalina.out的最简单方法是什么?我已经尝试过System.out.print()并且System.err.print()工作正常。我只是想知道除了sysout和syserr之外是否还有更好的选择? 最佳答案 importjava.util.logging.*Logger.getLogger(YourClass.class.getName()).log(Level.WARNING,e.getMessage(),e);Logger.getLogger(YourClass.class.getName()

java - 当你在部署在 tomcat 中的 war 中有两次相同的类时会发生什么?

如果在tomcat中部署了两次相同的编译类,会发生什么情况?(我知道这不是一个好的做法等等,但幕后发生了什么?)是否有可能产生严重的副作用? 最佳答案 如果您有一个类在WEB-INF/classes中,另一个在jar中,则WEB-INF/classes中的类将具有优先权。如果两个类在一个jar中,那么其中一个将被采用而另一个被忽略。选择哪一个取决于类加载器的实现细节,并且可能因环境而异。因此在开发中可能会选择正确的类,而在生产中选择错误的类会导致难以调试的问题。解决这个问题的唯一方法是从WAR中删除所有重复的类,这样在任何地方都只会

java - 为什么 Tomcat 7x 不需要在 web.xml 中配置 WSServletContextListener 和 WSServlet 来部署 Jax-ws 服务?

我正在使用jaxws-ri-在Tomcat6x和Tomcat7x中部署和测试一个简单的Jax-ws服务2.2.8添加到两个服务器lib目录。Tomcat6x需要WSServletContextListener和WSServlet并在web.xml中配置,而在Tomcat7x中>在没有WSServletContextListener和WSServlet配置的情况下部署Web服务。在Tomcat7中有什么不同使得web.xml配置可选? 最佳答案 如果您使用的是Tomcat7.x和Servlet3.0,监听器com.sun.xml.ws