Author: kkolinko
Date: Thu Jul 17 22:34:53 2014
New Revision: 1611495
URL: http://svn.apache.org/r1611495
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56717
Fix duplicate registration of MapperListener during repeated starts of embedded
Tomcat.
Properly unregister it when Tomcat stops.
It is backport of r1610562.
Added:
tomcat/tc7.0.x/trunk/test/org/apache/catalina/connector/TestMapperListener.java
- copied, changed from r1610562,
tomcat/trunk/test/org/apache/catalina/mapper/TestMapperListener.java
Modified:
tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/MapperListener.java
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
Modified:
tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/MapperListener.java
URL:
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/MapperListener.java?rev=1611495&r1=1611494&r2=1611495&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/MapperListener.java
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/MapperListener.java
Thu Jul 17 22:34:53 2014
@@ -124,6 +124,9 @@ public class MapperListener extends Life
@Override
public void stopInternal() throws LifecycleException {
setState(LifecycleState.STOPPING);
+
+ Engine engine = (Engine) connector.getService().getContainer();
+ removeListeners(engine);
}
Copied:
tomcat/tc7.0.x/trunk/test/org/apache/catalina/connector/TestMapperListener.java
(from r1610562,
tomcat/trunk/test/org/apache/catalina/mapper/TestMapperListener.java)
URL:
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/test/org/apache/catalina/connector/TestMapperListener.java?p2=tomcat/tc7.0.x/trunk/test/org/apache/catalina/connector/TestMapperListener.java&p1=tomcat/trunk/test/org/apache/catalina/mapper/TestMapperListener.java&r1=1610562&r2=1611495&rev=1611495&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/mapper/TestMapperListener.java
(original)
+++
tomcat/tc7.0.x/trunk/test/org/apache/catalina/connector/TestMapperListener.java
Thu Jul 17 22:34:53 2014
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.catalina.mapper;
+package org.apache.catalina.connector;
import java.io.File;
import java.io.IOException;
@@ -27,13 +27,11 @@ import org.junit.Test;
import org.apache.catalina.Container;
import org.apache.catalina.ContainerListener;
-import org.apache.catalina.Context;
import org.apache.catalina.LifecycleException;
import org.apache.catalina.LifecycleListener;
import org.apache.catalina.startup.Tomcat;
import org.apache.catalina.startup.TomcatBaseTest;
import org.apache.tomcat.util.buf.ByteChunk;
-import org.apache.tomcat.websocket.server.WsContextListener;
public class TestMapperListener extends TomcatBaseTest {
@@ -49,9 +47,7 @@ public class TestMapperListener extends
File appDir = new File(getBuildDirectory(), "webapps/examples");
// app dir is relative to server home
- Context ctxt = tomcat.addWebapp(null, "/examples",
- appDir.getAbsolutePath());
- ctxt.addApplicationListener(WsContextListener.class.getName());
+ tomcat.addWebapp(null, "/examples", appDir.getAbsolutePath());
tomcat.start();
ByteChunk res;
@@ -61,7 +57,7 @@ public class TestMapperListener extends
text = res.toString();
Assert.assertTrue(text, text.contains("<h1>Hello World!</h1>"));
- List<ListenersInfo> listenersFirst = new ArrayList<>();
+ List<ListenersInfo> listenersFirst = new ArrayList<ListenersInfo>();
populateListenersInfo(listenersFirst, tomcat.getEngine());
tomcat.stop();
@@ -72,7 +68,7 @@ public class TestMapperListener extends
text = res.toString();
Assert.assertTrue(text, text.contains("<h1>Hello World!</h1>"));
- List<ListenersInfo> listenersSecond = new ArrayList<>();
+ List<ListenersInfo> listenersSecond = new ArrayList<ListenersInfo>();
populateListenersInfo(listenersSecond, tomcat.getEngine());
Assert.assertEquals(listenersFirst.size(), listenersSecond.size());
Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
URL:
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1611495&r1=1611494&r2=1611495&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Thu Jul 17 22:34:53 2014
@@ -167,6 +167,11 @@
<bug>56712</bug>: Fix session idle time calculations in
<code>PersistenceManager</code>. (kkolinko)
</fix>
+ <fix>
+ <bug>56717</bug>: Fix duplicate registration of
+ <code>MapperListener</code> during repeated starts of embedded Tomcat.
+ (kkolinko)
+ </fix>
</changelog>
</subsection>
<subsection name="Coyote">
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]