Tag: tomcat6

Tomcat 6,JMX和动态端口问题

在阅读并尝试了很多之后,我不得不问是否有人能解决我的问题。 我试图在防火墙后面设置一些Tomcats(V6)。 这没什么大不了的 – 但我想通过JMX监控它们。 我阅读了TC文档并遇到了JMXRemoteLifecycleListener 。 我的测试TC安装完全按照上面的链接进行设置。 因此,我没有从我们网络中的一个主机到另一个主机的连接。 另外,每次启动TC时都会打开第三个随机端口。 在我的server.xml中,监听器被激活 catalina.out说一切都好。 2011-06-14 16:46:48,819 [main] INFO org.apache.catalina.mbeans.JmxRemoteLifecycleListener- The JMX Remote Listener has configured the registry on port 8050 and the server on port 8060 for the Platform server 端口是开放的,我可以通过telnet从任何其他主机连接到它们。 我可以在本地连接到vm( service:jmx:rmi://:8xxx/jndi/rmi://:8xxxx/jmxrmi ) Netstats输出如下: tcp6 0 0 :::8080 :::* LISTEN 11291/java tcp6 0 0 :::8050 :::* […]

Tomcat6和Java 7

在linux中,是否可以在tomcat6上部署使用Java 7编写的Web应用程序? 如果是这样,需要修改哪些配置才能使其工作? 我已经尝试更改tomcat6.conf文件中的JAVA_HOME变量并重新启动,但它仍然使用1.6根据tomcat管理器网页,并且只有1.6或更低版本的应用程序正确部署。 我在不同的位置安装了jdk 1.6和1.7。

Web应用程序中的计划任务?

我正在为在线游戏构建统计应用程序,使用Java中的servlet API构建(将部署在Tomcat上)。 每次用户登录时,让游戏向stats服务器发送消息都很容易,因为处理请求是Servlets / Tomcat的用途。 我还需要定期在统计服务器上发起请求,例如从游戏服务器检索在线用户的数量或从我们的Facebook页面检索粉丝数量。 在应用程序的主servlet中启动一个线程并让它偶尔进行数据检索会很容易,但感觉有点奇怪,因为所有其他线程都是由Tomcat创建的。 这样做好吗? 如果没有,推荐的方法是什么? 将servlet用于这样的事情是否正确? 有什么选择? 请注意第一个答案:我不是在寻找解决时序或并发问题的方法,因为我可以轻松处理这两个问题。 我只需要知道如何在servlet容器中正确启动主动进程。

如何在Tomcat中使用Hibernate支持的JPA运行Spring 3.0 PetClinic

好吧,这可能应该是世界上最简单的事情,但我一整天都在努力,而且它仍然无法工作..任何帮助都非常感谢! 编辑: 有关正确的程序,请参阅Pascal的答案。 我的错(因为我没有禁用LoadTimeWeaving)程序留待参考..: 我做了什么: 下载了Tomcat 6.0.26和Spring 3.0.1 从https://src.springframework.org/svn/spring-samples/petclinic下载了PetClinic 建立并部署了petclinic.war。 使用默认的JDBC持久性很好。 编辑了webapps / WEB-INF / spring / applicationContext-jpa.xml并将jpaVendorAdaptor设置为Hibernate。 编辑了webapps / WEB-INF / web.xml,并将context-param从applicationContext-jdbc.xml更改为applicationContext-jpa.xml 将Spring 3.0.1发行版中的所有内容复制到TOMCAT_HOME / lib。 推出了tomcat。 锯 引起:java.lang.IllegalStateException:ClassLoader [org.apache.catalina.loader.WebappClassLoader]不提供’addTransformer(ClassFileTransformer)’方法。 指定自定义LoadTimeWeaver或使用Spring的代理启动Java虚拟机:-javaagent:spring-agent.jar webapps / META-INF / context.xml中未注释的行 。 同样的错误。 将该行添加到TOMCAT_HOME / context.xml 部署没有错误。 但是,当我做某事时会发出错误说 java.lang.NoClassDefFoundError: javax/transaction/SystemException at org.hibernate.ejb.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:39) 11.根据scaffman的建议,将javax.transaction的范围从测试更改为默认(刚删除的测试)。 12.Run很好!! 谢谢!

在WAR-File中定义Servlet上下文

如何在给出我的WAR-File时告诉Tomcat使用特定的上下文路径? 示例:我有一个由maven build创建的war文件,结果文件的名称相当长。 所以我不希望tomcat管理器应用程序使用war的文件名作为上下文。 在META-INF中提供context.xml不会产生所需的结果 我还在Context的path属性的文档中找到了这个: 除非在server.xml中静态定义Context,否则不得设置此字段的值,因为它将从用于.xml上下文文件或docBase的文件名中推断出来。 所以它似乎不是告诉应用程序服务器应该是什么路径的正确方法。 还有什么提示吗?

在Windows中更改Tomcat的Charset.defaultCharset

我在Windows 7中使用tomcat 6.0.32。在一个非常简单的servlet中,在init方法中,我正在打印: System.out.println(Charset.defaultCharset()); 输出是: windows-1253 据我所知,这是tomcat在JVM中的启动方式,因为我在独立的java类中打印相同的内容,并将“UTF8”作为响应。 那么,我怎样才能将其更改为UTF-8? 谢谢

在webapp中正常关闭ExecutorService?

在我的webapp中,我创建了一个使用具有固定大小ThreadPool的ExecutorService的服务。 我在整个应用程序生命周期中重用了相同的ExecutorService 。 private static ExecutorService pool = Executors.newFixedThreadPool(8); 所有都在Tomcat中运行,它在向下发出错误时给出了以下错误: appears to have started a thread named [pool-1-thread-1] but has failed to stop it. This is very likely to create a memory leak. 我确实意识到我需要在关闭tomcat之前关闭ExecutorService。 Soms SO线程已经谈到了这一点,但我找不到一个干净的方法来处理这个问题。 我是否应该按照Tim-bender的建议使用ShutdownHook来正常关闭线程和执行程序 ? 或者我应该使用CachedThreadPool吗?

Tomcat的字符编码问题

正在进行奇怪的字符编码。 我正在使用JSP(JSTL)和Struts与Tomat 6。 我有我的JSP页面编码: 问题是当我尝试使用encodeURI传递url时: $(‘#mailer_filter’).change(function(){ var val = $(this).val(); console.log(val); console.log(escape(val)); console.log(encodeURI(val)); location.href = ‘mailList.a?’ + encodeURI($(this).val()); }); action(java end)上的参数如下: Gaz Métro 但是在前端它显示为: Gaz Métro 这是正确的方法。 我能做些什么?

Java:使用端点将webservice发布到tomcat服务器

我正在创建一个简单的SOAP Web服务。 我要确保它在tomcat Web服务上运行。 我试图用JAX-WS实现这个(参见代码) 我的问题是:Endpoint.publish是否使用tomcat服务器来托管这个或者它是一种迷你glassfish类型的服务器? 我应该扩展UnicastRemoveObject或类似的东西吗? 理想情况下,它可以打包成.WAR并放入目录中,然后才能工作。 它似乎不适用于我安装的tomcat服务器,因为它说端口已经在使用中。 我正在使用安装了tomcat6包的Ubuntu karmic,它也可能是我的用户没有权限发布到8080上运行的tomcat 我希望这个问题足够清楚 示例代码: @WebService public class UserAttributes { public static void main(String[] args) { UserAttributes instance = new UserAttributes(); Endpoint.publish(“http://localhost:8082/WebServices/userattributes”, instance); } public string Hello() { return “Hello World”; } }

在没有请求的情况下从tomcat获取服务器端口号

是否有任何Tomcat API或配置可以告诉应用程序(可能在启动时),它运行的端口没有请求? 想象一下,有两个Web应用程序在同一个Tomcat中运行,其中一个需要从另一个调用Web服务。 我们不希望请求离开Tomcat(如果您使用Apache服务器名称或绝对URL,请求将出去并再次返回并且它可以转到任何实例)并返回。为此,我知道机器名称但无法获取端口号。 我知道我可以硬编码这些信息,但我不想这样做,因为我希望我的war文件与应用程序服务器无关。 我知道如果我们有HTTPServletRequest,我们可以找到它 这仅适用于Tomcat 6,不适用于Tomcat 7