Tag: tomcat

如何在Java中修复“请求的数组大小超过VM限制”错误?

是否有一个日志选项可以让tomcat记录错误的查询而不是抛出这个? SEVERE:java.lang.OutOfMemoryError:请求的数组大小超过VM限制 (尝试将日志级别设置为FULL,但仅捕获上述内容) 这还不足以进一步调试 或者,如果可以通过调整以下内容来分配更多内存来修复此问题? -Xms1024M -Xmx4096M -XX:MaxPermSize = 256M 更新 -Xms6G -Xmx6G -XX:MaxPermSize = 1G -XX:PermSize = 512M (以上看起来效果更好,继续监控)

Tomcat:在数据库中存储会话

我正在寻找一种避免内存会话复制/群集的方法,并将会话存储在数据库中。 此时使用Tomcat的JDBCStore是无用的,因为它只在数据库中存储非活动会话以保存服务器内存。 有什么建议么? 非常感谢Fabian

Tomcat Valve设置

我认为我遇到了一些配置问题。 我需要保护我的实际tomcat应用程序中的文件夹不受某个IP范围的访问。 我以为这是服务器故障 ,所以我在那里发布了问题。 现在我不确定这是SO还是SF呢…… 尽管如此,我还是继续尝试自己去做,并认为我需要设置它 org.apache.catalina.valves.RemoteAddrValve 对于我的那个文件夹。 可悲的是,我无法得到我需要的地方。 web.xml,server.xml? 试过两次,成功无效。 任何人都可以帮我解决这个问题。 TIA ķ

Spring的SecurityContextHolder.getContext()。getAuthentication()在HTTPS / SSL中使用RedirectView后返回null

我有一个典型的Spring MVC在Tomcat上运行。 将系统切换为在HTTPS上运行后(一切都在普通HTTP下运行正常),登录停止工作。 原因是Spring的SecurityContextHolder.getContext().getAuthentication()对象在使用RedirectView后变为null 。 我已经搜索了答案,我发现了唯一一个在viewResolver bean设置中将属性redirectHttp10Compatible设置为false的viewResolver 。 这没有用。 我还检查了整个重定向,我的会话ID保持不变,连接仍然是安全的,即http和https之间的变化(反之亦然)不是问题(至少就我所知)。 可能是什么问题呢?

在Tomcat ClassPath中包含外部jar

在Tomcat中,我想在Web应用程序中使用jar。 jar文件将存在于Tomcat目录之外。 要在jarcat类路径中包含jar文件,我修改了TomcatHome / conf / catalina.properties以包含我的jar文件的绝对路径,如: shared.loader=D:\jaa\MyJarFile.jar 根据链接中的建议, http://www.mulesoft.com/tomcat-classpath 但它抛出错误, java.lang.NoClassDefFoundError 我也尝试过, shared.loader=D:\jaa\*.jar shared.loader=file:\\D:\jaa\MyJarFile.jar 他们似乎都没有工作:( 如果我尝试将jar放在tomcat / lib中,它似乎工作。 但我不允许这样做。 请帮助我解决这个问题,因为我已经在下周实施了..

尝试在Tomcat中将LDAP配置为JNDI资源

我有一个ldap服务器,我用它来validationtomcat Web应用程序中的用户。 我正在使用JNDIRealm,它在上下文文件中配置,这很好用。 我还需要在ldap中搜索用户信息。 我已经想出了如何使用“jndi方法”做到这一点,并且我通过使用哈希表创建自己的jndi上下文使其在tomcat之外正常工作。 但是,我不想在代码中配置jndi属性,而是想在Realm配置旁边的上下文文件中创建一个JNDI Rsource。 我想我会做这样的事情: 但是tomcat告诉我资源无法创建或者当我尝试用这样的东西初始化时: Context initctx = new InitialContext(); DirContext ctx = (DirContext) initctx.lookup(“java:comp/env/ldap”); Tomcat告诉我“无法创建资源实例”。 我还在我的web.xml文件中添加了正确的resource-ref,所以我不认为这是问题所在。 由于LDAP与JNDI方法一起使用,我假设它应该能够配置为资源,对吧? 我错过了什么?

TOMCAT_OPTS,环境变量和System.getEnv()

我使用tomcat,我想在我的java代码中获取一个环境变量。 要设置环境变量,我使用此bash命令: export TOMCAT_OPTS=-Dmy.var=foo 之后我开始tomcat ./startup.sh (in bin folder of tomcat) 在我的java代码中,我尝试获取此变量: System.getEnv(“my.var”) 但它返回NULL。 我怎样才能做到这一点 ? 我确切地说,如果我使用maven启动tomcat并使用eclipse环境选项卡,则找到该变量! 但我需要在生产模式下像上面一样启动tomcat。 编辑:当直接使用导出MY_VAR时,它在本地运行但不在我的服务器上运行…

TomEE启动但Netbeans给出“启动失败”错误

我正在使用NetBeans 8.0.2(也是在最新的每晚构建中尝试过)并尝试在端口8084上启动TomEE Plume服务器(也尝试在不同的端口上)。 服务器启动并正常工作,但NetBeans认为它没有启动,等待大约2分钟后(“等待Tomcat”)抛出一个错误窗口“Tomcat无法启动”或类似的东西。 有类似于我的问题,区别在于我完全没有错误,只有“Tomcat无法启动”窗口,因此我甚至无法将日志放在此处,因为它没有任何用处。 此外,可用的解决方案对我不起作用。 我相信NetBeans和TomEE之间存在一些通信问题,我几乎可以肯定问题出现在NetBeans中,因为TomEE运行良好并且应该启动它,localhost:8084虽然NetBeans认为它无法启动,但却给了我Tomcat页面。 由于某些原因,TomEE在启动后没有向NetBeans发送确认信息的可能性很小,但我真的不知道如何检查它。 我已经研究了同样的问题,两个最常见的问题是“’127.0.0.1 *’不被认为是内部或外部命令”和我一样。 建议的解决方案是在工具选项中选择“无代理”,但它对我没有帮助。 另外,为了确定,我编辑了catalina.bat文件并检查了我的用户权限,即roles=”admin-gui,manager-gui,admin,manager-script” 。 我希望有人遇到同样的问题。 另外,我想知道这个问题是否可以解决。 谢谢。

上传文件的最佳位置

处理一些导入过程,我需要先在服务器上的某个位置上传文件,然后我需要从这个位置选择文件将其导入系统。 我只是想知道什么是存储上传文件的最佳位置。 我没什么选择 1)可以在tomcat的根目录中创建一个文件夹,然后将上传文件放在那里,稍后可以为导入过程选择文件。 File dir = new File(System.getProperty(“catalina.base”), “uploads”); 这是一个很好的选择,天气上面的代码将在所有环境中同样有效 2)我可以在我的应用程序下创建一个uploads文件夹,可以访问它进行文件上传,然后使用以下代码进行导入 ServletActionContext.getServletContext().getRealPath(“uploads”); 您需要做的宝贵建议我需要做的唯一工作就是上传文件并运行上传文件的导入过程,一旦导入成功,将文件从此文件夹中删除到其他类似处理过的文件等。

Tomcat不读取Spring-Boot应用程序属性

我是spring / java的新手,并且已经检查了spring-boot以查找我在工作的项目。 我一直在关注指南,最后有一个(半)工作的网络应用MVC + JPA用于数据访问。 当我通过Jar方法部署应用程序时,一切正常: java -jar build/libs/client.jar 但是,我们的应用程序最终将部署到Tomcat(v7.0.40),因此我需要从项目中创建war文件。 我在spring.io网站上跟随转换jar到战争指南并遇到了问题。 它似乎没有加载application.properties文件。 以下是重要的代码片段: 的src / main / JAVA /你好/ GreetingController: @Controller @Configuration public class GreetingController { @Value(“${app.username}”) private String username; @RequestMapping(“/greeting”) public String greeting(@RequestParam(value=”name”, required=false, defaultValue=”World”) String name, Model model) { model.addAttribute(“name”, name); model.addAttribute(“username”, username); return “greeting”; } } 的src / main / JAVA […]