当前位置: 代码迷 >> J2EE >> Tomcat重新部署的时候提示异常
  详细解决方案

Tomcat重新部署的时候提示异常

热度:282   发布时间:2016-04-22 02:40:26.0
Tomcat重新部署的时候提示错误
我在配置Tomcat应用的时候使用了如下代码:
<Context path="/testcBase="I:\workspace\test\WebRoot" reloadable="true" crossContext="true" />

然后每当修改Java文件,就会出现如下提示:

严重: The web application [/test] created a ThreadLocal with key of type [com.opensymphony.xwork2.inject.ContainerImpl$10] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@f5e12]) and a value of type [com.opensymphony.xwork2.inject.InternalContext[]] (value [[Lcom.opensymphony.xwork2.inject.InternalContext;@12471dc]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
2011-10-6 16:45:28 org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
严重: The web application [/test] created a ThreadLocal with key of type [com.opensymphony.xwork2.inject.ContainerImpl$10] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@f5e12]) and a value of type [com.opensymphony.xwork2.inject.InternalContext[]] (value [[Lcom.opensymphony.xwork2.inject.InternalContext;@1af5350]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.


看代码似乎是有资源没有释放,我代码中只有一个位置用到static变量,不知道是否这个原因,请高手指教。

web.xml

XML code
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5"     xmlns="http://java.sun.com/xml/ns/javaee"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  <welcome-file-list>    <welcome-file>index.jsp</welcome-file>  </welcome-file-list>      <context-param>        <param-name>contextConfigLocation</param-name>        <param-value>            /WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml        </param-value>    </context-param>    <listener>        <listener-class>            org.springframework.web.context.ContextLoaderListener        </listener-class>    </listener>      <filter>        <filter-name>encodingFilter</filter-name>        <filter-class>            org.springframework.web.filter.CharacterEncodingFilter        </filter-class>        <init-param>            <param-name>encoding</param-name>            <param-value>UTF-8</param-value>        </init-param>        <init-param>            <param-name>forceEncoding</param-name>            <param-value>true</param-value>        </init-param>    </filter>    <filter-mapping>        <filter-name>encodingFilter</filter-name>        <url-pattern>/*</url-pattern>    </filter-mapping>    <filter>        <filter-name>struts-cleanup</filter-name>        <filter-class>            org.apache.struts2.dispatcher.ActionContextCleanUp        </filter-class>    </filter>    <filter-mapping>        <filter-name>struts-cleanup</filter-name>        <url-pattern>/*</url-pattern>    </filter-mapping>    <filter>        <filter-name>struts2</filter-name>        <filter-class>            org.apache.struts2.dispatcher.FilterDispatcher        </filter-class>    </filter>    <filter-mapping>        <filter-name>struts2</filter-name>        <url-pattern>/*</url-pattern>    </filter-mapping>           </web-app>


一个工厂
Java code
public class EjbRemoteFactory {    public static Context getInitialContext() {        Context jndiContext = null;        try {            Properties props = new Properties();            props.put(Context.INITIAL_CONTEXT_FACTORY,                    "org.jnp.interfaces.NamingContextFactory");            props.put(Context.URL_PKG_PREFIXES,                    "org.jboss.naming:org.jnp.interfaces");            props.put(Context.PROVIDER_URL, "jnp://localhost:1099");            jndiContext = new InitialContext(props);        } catch (NamingException e) {            throw new RuntimeException("Context Initial Failed...");        }        return jndiContext;    }    public UserRemote getUserRemote() {        return (UserRemote) getRemote(UserRemote.class, "UserBean");    }}
  相关解决方案