- Fix license headers.
authorremm <remm@13f79535-47bb-0310-9956-ffa450edef68>
Mon, 23 Apr 2007 00:24:01 +0000 (00:24 +0000)
committerremm <remm@13f79535-47bb-0310-9956-ffa450edef68>
Mon, 23 Apr 2007 00:24:01 +0000 (00:24 +0000)
- Submitted by Niall Pemberton.

git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@531303 13f79535-47bb-0310-9956-ffa450edef68

62 files changed:
java/javax/servlet/jsp/el/package.html
java/javax/servlet/jsp/package.html
java/javax/servlet/jsp/tagext/JspIdConsumer.java
java/javax/servlet/jsp/tagext/package.html
java/org/apache/catalina/Executor.java
java/org/apache/catalina/ha/ClusterMessageBase.java
java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java
java/org/apache/catalina/ha/authenticator/ClusterSingleSignOnListener.java
java/org/apache/catalina/ha/authenticator/SingleSignOnMessage.java
java/org/apache/catalina/ha/tcp/SendMessageData.java
java/org/apache/catalina/ssi/ExpressionParseTree.java
java/org/apache/catalina/ssi/ExpressionTokenizer.java
java/org/apache/catalina/ssi/SSICommand.java
java/org/apache/catalina/ssi/SSIConditional.java
java/org/apache/catalina/ssi/SSIConditionalState.java
java/org/apache/catalina/ssi/SSIConfig.java
java/org/apache/catalina/ssi/SSIEcho.java
java/org/apache/catalina/ssi/SSIExec.java
java/org/apache/catalina/ssi/SSIExternalResolver.java
java/org/apache/catalina/ssi/SSIFilter.java
java/org/apache/catalina/ssi/SSIFlastmod.java
java/org/apache/catalina/ssi/SSIFsize.java
java/org/apache/catalina/ssi/SSIInclude.java
java/org/apache/catalina/ssi/SSIMediator.java
java/org/apache/catalina/ssi/SSIPrintenv.java
java/org/apache/catalina/ssi/SSIProcessor.java
java/org/apache/catalina/ssi/SSIServlet.java
java/org/apache/catalina/ssi/SSIServletExternalResolver.java
java/org/apache/catalina/ssi/SSIServletRequestUtil.java
java/org/apache/catalina/ssi/SSISet.java
java/org/apache/catalina/ssi/SSIStopProcessingException.java
java/org/apache/catalina/tribes/RemoteProcessException.java
java/org/apache/catalina/tribes/group/AbsoluteOrder.java
java/org/apache/catalina/tribes/group/RpcMessage.java
java/org/apache/catalina/tribes/group/interceptors/StaticMembershipInterceptor.java
java/org/apache/catalina/tribes/group/interceptors/TwoPhaseCommitInterceptor.java
java/org/apache/catalina/tribes/membership/StaticMember.java
java/org/apache/catalina/tribes/transport/AbstractSender.java
java/org/apache/catalina/tribes/transport/DataSender.java
java/org/apache/catalina/tribes/transport/PooledSender.java
java/org/apache/catalina/tribes/transport/ReceiverBase.java
java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java
java/org/apache/catalina/tribes/transport/bio/BioReceiver.java
java/org/apache/catalina/tribes/transport/bio/BioSender.java
java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java
java/org/apache/catalina/tribes/transport/bio/PooledMultiSender.java
java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java
java/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java
java/org/apache/coyote/ajp/AjpAprProtocol.java
java/org/apache/coyote/ajp/AjpProtocol.java
java/org/apache/coyote/http11/Http11AprProtocol.java
java/org/apache/coyote/http11/Http11Protocol.java
java/org/apache/jasper/runtime/PageContextImpl.java
java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsSerSource.java
java/org/apache/tomcat/util/modeler/modules/MbeansSource.java
java/org/apache/tomcat/util/modeler/modules/MbeansSourceMBean.java
java/org/apache/tomcat/util/modeler/modules/ModelerSource.java
java/org/apache/tomcat/util/net/NioBlockingSelector.java
java/org/apache/tomcat/util/net/NioSelectorPool.java
java/org/apache/tomcat/util/net/SecureNioChannel.java
java/org/apache/tomcat/util/net/SocketProperties.java
java/org/apache/tomcat/util/net/res/LocalStrings.properties

index f0eafbb..ba5a629 100644 (file)
@@ -2,59 +2,21 @@
 <html>
 <head>
 <!--
-  - The Apache Software License, Version 1.1
-  -
-  - Copyright (c) 1999 The Apache Software Foundation.  All rights 
-  - reserved.
-  -
-  - Redistribution and use in source and binary forms, with or without
-  - modification, are permitted provided that the following conditions
-  - are met:
-  -
-  - 1. Redistributions of source code must retain the above copyright
-  -    notice, this list of conditions and the following disclaimer. 
-  -
-  - 2. Redistributions in binary form must reproduce the above copyright
-  -    notice, this list of conditions and the following disclaimer in
-  -    the documentation and/or other materials provided with the
-  -    distribution.
-  -
-  - 3. The end-user documentation included with the redistribution, if
-  -    any, must include the following acknowlegement:  
-  -       "This product includes software developed by the 
-  -        Apache Software Foundation (http://www.apache.org/)."
-  -    Alternately, this acknowlegement may appear in the software itself,
-  -    if and wherever such third-party acknowlegements normally appear.
-  -
-  - 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
-  -    Foundation" must not be used to endorse or promote products derived
-  -    from this software without prior written permission. For written 
-  -    permission, please contact apache@apache.org.
-  -
-  - 5. Products derived from this software may not be called "Apache"
-  -    nor may "Apache" appear in their names without prior written
-  -    permission of the Apache Group.
-  -
-  - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-  - WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-  - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-  - DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-  - ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-  - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-  - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-  - USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-  - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-  - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-  - OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-  - SUCH DAMAGE.
-  - ====================================================================
-  -
-  - This software consists of voluntary contributions made by many
-  - individuals on behalf of the Apache Software Foundation.  For more
-  - information on the Apache Software Foundation, please see
-  - <http://www.apache.org/>.
-  -
-  -->
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
 </head>
 <body bgcolor="white">
 
index f0eafb9..ea458fc 100644 (file)
@@ -2,59 +2,21 @@
 <html>
 <head>
 <!--
-  - The Apache Software License, Version 1.1
-  -
-  - Copyright (c) 1999 The Apache Software Foundation.  All rights 
-  - reserved.
-  -
-  - Redistribution and use in source and binary forms, with or without
-  - modification, are permitted provided that the following conditions
-  - are met:
-  -
-  - 1. Redistributions of source code must retain the above copyright
-  -    notice, this list of conditions and the following disclaimer. 
-  -
-  - 2. Redistributions in binary form must reproduce the above copyright
-  -    notice, this list of conditions and the following disclaimer in
-  -    the documentation and/or other materials provided with the
-  -    distribution.
-  -
-  - 3. The end-user documentation included with the redistribution, if
-  -    any, must include the following acknowlegement:  
-  -       "This product includes software developed by the 
-  -        Apache Software Foundation (http://www.apache.org/)."
-  -    Alternately, this acknowlegement may appear in the software itself,
-  -    if and wherever such third-party acknowlegements normally appear.
-  -
-  - 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
-  -    Foundation" must not be used to endorse or promote products derived
-  -    from this software without prior written permission. For written 
-  -    permission, please contact apache@apache.org.
-  -
-  - 5. Products derived from this software may not be called "Apache"
-  -    nor may "Apache" appear in their names without prior written
-  -    permission of the Apache Group.
-  -
-  - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-  - WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-  - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-  - DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-  - ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-  - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-  - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-  - USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-  - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-  - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-  - OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-  - SUCH DAMAGE.
-  - ====================================================================
-  -
-  - This software consists of voluntary contributions made by many
-  - individuals on behalf of the Apache Software Foundation.  For more
-  - information on the Apache Software Foundation, please see
-  - <http://www.apache.org/>.
-  -
-  -->
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
 </head>
 <body bgcolor="white">
 Classes and interfaces for the Core JSP 2.0 API.
index d0bfcd0..f3d49bf 100644 (file)
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package javax.servlet.jsp.tagext;
 
 public interface JspIdConsumer {
index e74afc8..62c5e89 100644 (file)
@@ -2,59 +2,21 @@
 <html>
 <head>
 <!--
-  - The Apache Software License, Version 1.1
-  -
-  - Copyright (c) 1999 The Apache Software Foundation.  All rights 
-  - reserved.
-  -
-  - Redistribution and use in source and binary forms, with or without
-  - modification, are permitted provided that the following conditions
-  - are met:
-  -
-  - 1. Redistributions of source code must retain the above copyright
-  -    notice, this list of conditions and the following disclaimer. 
-  -
-  - 2. Redistributions in binary form must reproduce the above copyright
-  -    notice, this list of conditions and the following disclaimer in
-  -    the documentation and/or other materials provided with the
-  -    distribution.
-  -
-  - 3. The end-user documentation included with the redistribution, if
-  -    any, must include the following acknowlegement:  
-  -       "This product includes software developed by the 
-  -        Apache Software Foundation (http://www.apache.org/)."
-  -    Alternately, this acknowlegement may appear in the software itself,
-  -    if and wherever such third-party acknowlegements normally appear.
-  -
-  - 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
-  -    Foundation" must not be used to endorse or promote products derived
-  -    from this software without prior written permission. For written 
-  -    permission, please contact apache@apache.org.
-  -
-  - 5. Products derived from this software may not be called "Apache"
-  -    nor may "Apache" appear in their names without prior written
-  -    permission of the Apache Group.
-  -
-  - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-  - WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-  - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-  - DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-  - ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-  - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-  - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-  - USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-  - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-  - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-  - OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-  - SUCH DAMAGE.
-  - ====================================================================
-  -
-  - This software consists of voluntary contributions made by many
-  - individuals on behalf of the Apache Software Foundation.  For more
-  - information on the Apache Software Foundation, please see
-  - <http://www.apache.org/>.
-  -
-  -->
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
 </head>
 <body bgcolor="white">
 
index 3d903ac..79d0360 100644 (file)
@@ -1,7 +1,23 @@
-package org.apache.catalina;\r
-\r
-\r
-\r
-public interface Executor extends java.util.concurrent.Executor, Lifecycle {\r
-    public String getName();\r
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.catalina;
+
+
+
+public interface Executor extends java.util.concurrent.Executor, Lifecycle {
+    public String getName();
 }
\ No newline at end of file
index 63be811..ae645b7 100644 (file)
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.catalina.ha;
 
 import org.apache.catalina.tribes.Member;
@@ -8,7 +24,6 @@ import org.apache.catalina.tribes.Member;
  *
  * <p>Description: </p>
  *
- * <p>Copyright: Copyright (c) 2005</p>
  *
  * <p>Company: </p>
  *
@@ -58,4 +73,4 @@ public class ClusterMessageBase implements ClusterMessage {
     public void setTimestamp(long timestamp) {
         this.timestamp = timestamp;
     }
-}
\ No newline at end of file
+}
index e60162b..809ab25 100644 (file)
@@ -1,12 +1,13 @@
 /*
- * Copyright 1999-2001,2004-2005 The Apache Software Foundation.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
index a910edb..f556213 100644 (file)
@@ -1,9 +1,10 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
index fc437cc..364271c 100644 (file)
@@ -1,12 +1,13 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
index 79f5cc4..53ba2f4 100644 (file)
@@ -1,17 +1,18 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
  * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 
 package org.apache.catalina.ha.tcp;
index 6328f43..304180e 100644 (file)
@@ -1,12 +1,18 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation. Licensed under the
- * Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License
- * at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable
- * law or agreed to in writing, software distributed under the License is
- * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language
- * governing permissions and limitations under the License.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 package org.apache.catalina.ssi;
 
index 2427361..cdcc1d1 100644 (file)
@@ -1,12 +1,18 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation. Licensed under the
- * Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License
- * at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable
- * law or agreed to in writing, software distributed under the License is
- * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language
- * governing permissions and limitations under the License.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 package org.apache.catalina.ssi;
 
index d0cbbd9..969b78f 100644 (file)
@@ -1,12 +1,18 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation. Licensed under the
- * Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License
- * at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable
- * law or agreed to in writing, software distributed under the License is
- * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language
- * governing permissions and limitations under the License.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 package org.apache.catalina.ssi;
 
index 6a2664d..e24b6b6 100644 (file)
@@ -1,12 +1,18 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation. Licensed under the
- * Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License
- * at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable
- * law or agreed to in writing, software distributed under the License is
- * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language
- * governing permissions and limitations under the License.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 package org.apache.catalina.ssi;
 
index 31c1db6..e71792a 100644 (file)
@@ -1,12 +1,18 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation. Licensed under the
- * Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License
- * at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable
- * law or agreed to in writing, software distributed under the License is
- * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language
- * governing permissions and limitations under the License.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 package org.apache.catalina.ssi;
 
index 6ef561e..77266af 100644 (file)
@@ -1,12 +1,18 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation. Licensed under the
- * Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License
- * at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable
- * law or agreed to in writing, software distributed under the License is
- * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language
- * governing permissions and limitations under the License.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 package org.apache.catalina.ssi;
 
index 8df9441..57ea31e 100644 (file)
@@ -1,12 +1,18 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation. Licensed under the
- * Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License
- * at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable
- * law or agreed to in writing, software distributed under the License is
- * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language
- * governing permissions and limitations under the License.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 package org.apache.catalina.ssi;
 
index aa40645..159ea9b 100644 (file)
@@ -1,12 +1,18 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation. Licensed under the
- * Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License
- * at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable
- * law or agreed to in writing, software distributed under the License is
- * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language
- * governing permissions and limitations under the License.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 package org.apache.catalina.ssi;
 
index 9364d8d..7175f0e 100644 (file)
@@ -1,12 +1,18 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation. Licensed under the
- * Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License
- * at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable
- * law or agreed to in writing, software distributed under the License is
- * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language
- * governing permissions and limitations under the License.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 package org.apache.catalina.ssi;
 
index 45e7c90..e8c28c1 100644 (file)
@@ -1,12 +1,18 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation. Licensed under the
- * Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License
- * at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable
- * law or agreed to in writing, software distributed under the License is
- * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language
- * governing permissions and limitations under the License.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 package org.apache.catalina.ssi;
 
index 2d3bef5..a664e80 100644 (file)
@@ -1,12 +1,18 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation. Licensed under the
- * Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License
- * at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable
- * law or agreed to in writing, software distributed under the License is
- * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language
- * governing permissions and limitations under the License.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 package org.apache.catalina.ssi;
 
index 683c2b8..59dc6e3 100644 (file)
@@ -1,12 +1,18 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation. Licensed under the
- * Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License
- * at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable
- * law or agreed to in writing, software distributed under the License is
- * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language
- * governing permissions and limitations under the License.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 package org.apache.catalina.ssi;
 
index 4e25683..d2bd4cb 100644 (file)
@@ -1,12 +1,18 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation. Licensed under the
- * Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License
- * at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable
- * law or agreed to in writing, software distributed under the License is
- * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language
- * governing permissions and limitations under the License.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 package org.apache.catalina.ssi;
 
index 18f4e87..748800a 100644 (file)
@@ -1,12 +1,18 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation. Licensed under the
- * Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License
- * at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable
- * law or agreed to in writing, software distributed under the License is
- * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language
- * governing permissions and limitations under the License.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 package org.apache.catalina.ssi;
 
index 772097d..4e24362 100644 (file)
@@ -1,12 +1,18 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation. Licensed under the
- * Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License
- * at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable
- * law or agreed to in writing, software distributed under the License is
- * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language
- * governing permissions and limitations under the License.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 package org.apache.catalina.ssi;
 
index 0476ccd..7245efc 100644 (file)
@@ -1,12 +1,18 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation. Licensed under the
- * Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License
- * at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable
- * law or agreed to in writing, software distributed under the License is
- * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language
- * governing permissions and limitations under the License.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 package org.apache.catalina.ssi;
 
index 2e03d1e..9bba5e6 100644 (file)
@@ -1,12 +1,18 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation. Licensed under the
- * Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License
- * at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable
- * law or agreed to in writing, software distributed under the License is
- * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language
- * governing permissions and limitations under the License.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 package org.apache.catalina.ssi;
 
index eefbd59..03c64f8 100644 (file)
@@ -1,12 +1,18 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation. Licensed under the
- * Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License
- * at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable
- * law or agreed to in writing, software distributed under the License is
- * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language
- * governing permissions and limitations under the License.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 package org.apache.catalina.ssi;
 
index 2a227e8..2aee60b 100644 (file)
@@ -1,12 +1,18 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation. Licensed under the
- * Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License
- * at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable
- * law or agreed to in writing, software distributed under the License is
- * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language
- * governing permissions and limitations under the License.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 package org.apache.catalina.ssi;
 
index ea9f871..4fa0224 100644 (file)
@@ -1,12 +1,18 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation. Licensed under the
- * Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License
- * at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable
- * law or agreed to in writing, software distributed under the License is
- * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language
- * governing permissions and limitations under the License.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 package org.apache.catalina.ssi;
 
index 3f62bca..8068c7a 100644 (file)
@@ -1,12 +1,18 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation. Licensed under the
- * Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License
- * at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable
- * law or agreed to in writing, software distributed under the License is
- * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language
- * governing permissions and limitations under the License.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 package org.apache.catalina.ssi;
 
index b83e5ed..10b0b80 100644 (file)
@@ -1,17 +1,18 @@
 /*
- * Copyright 1999,2006 The Apache Software Foundation.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
  * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 package org.apache.catalina.tribes;
 
index 1542ff7..97f383b 100644 (file)
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.catalina.tribes.group;
 
 import org.apache.catalina.tribes.Member;
@@ -97,4 +113,4 @@ public class AbsoluteOrder {
         }
     }
     
-}
\ No newline at end of file
+}
index 0bf1eb8..4b24f0f 100644 (file)
@@ -29,8 +29,6 @@ import org.apache.catalina.tribes.util.Arrays;
  *
  * <p>Description: </p>
  *
- * <p>Copyright: Copyright (c) 2005</p>
- *
  * <p>Company: </p>
  *
  * @author not attributable
index 6ee8736..d845193 100644 (file)
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.catalina.tribes.group.interceptors;
 
 import org.apache.catalina.tribes.group.ChannelInterceptorBase;
index 5e5616f..9792307 100644 (file)
@@ -33,8 +33,6 @@ import java.util.Map;
  *
  * <p>Description: </p>
  *
- * <p>Copyright: Copyright (c) 2005</p>
- *
  * <p>Company: </p>
  *
  * @author not attributable
index 8e85a91..fb625c5 100644 (file)
@@ -25,8 +25,6 @@ import org.apache.catalina.tribes.util.Arrays;
  *
  * <p>Description: </p>
  *
- * <p>Copyright: Copyright (c) 2006</p>
- *
  * <p>Company: </p>
  *
  * @author not attributable
index adbb4b1..2695d63 100644 (file)
@@ -1,17 +1,18 @@
 /*
- * Copyright 1999,2006 The Apache Software Foundation.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
  * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 
 package org.apache.catalina.tribes.transport;
@@ -27,8 +28,6 @@ import org.apache.catalina.tribes.Member;
  *
  * <p>Description: </p>
  *
- * <p>Copyright: Copyright (c) 2005</p>
- *
  * <p>Company: </p>
  *
  * @author not attributable
index 88ce300..36d1514 100644 (file)
@@ -23,8 +23,6 @@ import java.io.IOException;
  *
  * <p>Description: </p>
  *
- * <p>Copyright: Copyright (c) 2005</p>
- *
  * <p>Company: </p>
  *
  * @author not attributable
index 7524b16..efa767f 100644 (file)
@@ -24,8 +24,6 @@ import java.util.List;
  *
  * <p>Description: </p>
  *
- * <p>Copyright: Copyright (c) 2005</p>
- *
  * <p>Company: </p>
  *
  * @author not attributable
index 4463a01..2782a97 100644 (file)
@@ -1,17 +1,18 @@
 /*
- * Copyright 1999,2006 The Apache Software Foundation.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
  * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 package org.apache.catalina.tribes.transport;
 
@@ -35,8 +36,6 @@ import org.apache.juli.logging.Log;
  *
  * <p>Description: </p>
  *
- * <p>Copyright: Copyright (c) 2005</p>
- *
  * <p>Company: </p>
  *
  * @author not attributable
index d7e14b7..df1a030 100644 (file)
@@ -1,17 +1,18 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
  * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 
 package org.apache.catalina.tribes.transport;
index d09fa83..3f9bbfc 100644 (file)
@@ -1,17 +1,18 @@
 /*
- * Copyright 1999,2006 The Apache Software Foundation.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
  * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 package org.apache.catalina.tribes.transport.bio;
 
@@ -31,8 +32,6 @@ import org.apache.catalina.tribes.transport.AbstractRxTask;
  *
  * <p>Description: </p>
  *
- * <p>Copyright: Copyright (c) 2005</p>
- *
  * <p>Company: </p>
  *
  * @author not attributable
index faebb84..4666fe9 100644 (file)
@@ -1,17 +1,18 @@
 /*
- * Copyright 1999,2006 The Apache Software Foundation.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
  * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 
 package org.apache.catalina.tribes.transport.bio;
index 6d95320..34924ae 100644 (file)
@@ -1,18 +1,20 @@
 /*
- * Copyright 1999,2006 The Apache Software Foundation.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
  * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 package org.apache.catalina.tribes.transport.bio;
 
 import java.io.IOException;
@@ -31,7 +33,7 @@ import org.apache.catalina.tribes.Channel;
 /**
  *
  * @author Filip Hanik
- * @version $Revision:$ $Date:$
+ * @version $Revision$ $Date$
  *
  */
 public class MultipointBioSender extends AbstractSender implements MultiPointSender {
index 4ef5a39..6491073 100644 (file)
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.catalina.tribes.transport.bio;
 
 import org.apache.catalina.tribes.transport.DataSender;
@@ -12,8 +28,6 @@ import org.apache.catalina.tribes.ChannelMessage;
  *
  * <p>Description: </p>
  *
- * <p>Copyright: Copyright (c) 2005</p>
- *
  * <p>Company: </p>
  *
  * @author not attributable
@@ -64,4 +78,4 @@ public class PooledMultiSender extends PooledSender {
         //disconnect senders
     } 
 
-}
\ No newline at end of file
+}
index 68ce9e9..fa791a4 100644 (file)
@@ -42,8 +42,6 @@ import org.apache.catalina.tribes.UniqueId;
  *
  * <p>Description: </p>
  *
- * <p>Copyright: Copyright (c) 2005</p>
- *
  * <p>Company: </p>
  *
  * @author not attributable
index 5b9fa4e..2403fb0 100644 (file)
@@ -30,8 +30,6 @@ import org.apache.catalina.tribes.transport.PooledSender;
  *
  * <p>Description: </p>
  *
- * <p>Copyright: Copyright (c) 2005</p>
- *
  * <p>Company: </p>
  *
  * @author not attributable
index 04da35b..96cac28 100644 (file)
@@ -24,6 +24,7 @@ import java.util.Iterator;
 import java.util.concurrent.ConcurrentLinkedQueue;
 import java.util.concurrent.Executor;
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicLong;
 
 import javax.management.MBeanRegistration;
 import javax.management.MBeanServer;
@@ -330,7 +331,7 @@ public class AjpAprProtocol
     protected static class AjpConnectionHandler implements Handler {
 
         protected AjpAprProtocol proto;
-        protected AtomicInteger registerCount = new AtomicInteger(0);
+        protected AtomicLong registerCount = new AtomicLong(0);
         protected RequestGroupInfo global = new RequestGroupInfo();
 
         protected ConcurrentLinkedQueue<AjpAprProcessor> recycledProcessors = 
@@ -438,15 +439,15 @@ public class AjpAprProtocol
             if (proto.getDomain() != null) {
                 synchronized (this) {
                     try {
-                        int count = registerCount.incrementAndGet();
-                        if (log.isDebugEnabled()) {
-                            log.debug("Register ["+processor+"] count=" + count);
-                        }
+                        long count = registerCount.incrementAndGet();
                         RequestInfo rp = processor.getRequest().getRequestProcessor();
                         rp.setGlobalProcessor(global);
                         ObjectName rpName = new ObjectName
                             (proto.getDomain() + ":type=RequestProcessor,worker="
                                 + proto.getName() + ",name=AjpRequest" + count);
+                        if (log.isDebugEnabled()) {
+                            log.debug("Register " + rpName);
+                        }
                         Registry.getRegistry(null, null).registerComponent(rp, rpName, null);
                         rp.setRpName(rpName);
                     } catch (Exception e) {
@@ -460,13 +461,12 @@ public class AjpAprProtocol
             if (proto.getDomain() != null) {
                 synchronized (this) {
                     try {
-                        int count = registerCount.decrementAndGet();
-                        if (log.isDebugEnabled()) {
-                            log.debug("Unregister [" + processor + "] count=" + count);
-                        }
                         RequestInfo rp = processor.getRequest().getRequestProcessor();
                         rp.setGlobalProcessor(null);
                         ObjectName rpName = rp.getRpName();
+                        if (log.isDebugEnabled()) {
+                            log.debug("Unregister " + rpName);
+                        }
                         Registry.getRegistry(null, null).unregisterComponent(rpName);
                         rp.setRpName(null);
                     } catch (Exception e) {
index 5c35c80..e844a2e 100644 (file)
@@ -25,6 +25,7 @@ import java.util.Iterator;
 import java.util.concurrent.ConcurrentLinkedQueue;
 import java.util.concurrent.Executor;
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicLong;
 
 import javax.management.MBeanRegistration;
 import javax.management.MBeanServer;
@@ -323,7 +324,7 @@ public class AjpProtocol
     protected static class AjpConnectionHandler implements Handler {
 
         protected AjpProtocol proto;
-        protected AtomicInteger registerCount = new AtomicInteger(0);
+        protected AtomicLong registerCount = new AtomicLong(0);
         protected RequestGroupInfo global = new RequestGroupInfo();
 
         protected ConcurrentLinkedQueue<AjpProcessor> recycledProcessors = 
@@ -423,15 +424,15 @@ public class AjpProtocol
             if (proto.getDomain() != null) {
                 synchronized (this) {
                     try {
-                        int count = registerCount.incrementAndGet();
-                        if (log.isDebugEnabled()) {
-                            log.debug("Register ["+processor+"] count=" + count);
-                        }
+                        long count = registerCount.incrementAndGet();
                         RequestInfo rp = processor.getRequest().getRequestProcessor();
                         rp.setGlobalProcessor(global);
                         ObjectName rpName = new ObjectName
                             (proto.getDomain() + ":type=RequestProcessor,worker="
                                 + proto.getName() + ",name=AjpRequest" + count);
+                        if (log.isDebugEnabled()) {
+                            log.debug("Register " + rpName);
+                        }
                         Registry.getRegistry(null, null).registerComponent(rp, rpName, null);
                         rp.setRpName(rpName);
                     } catch (Exception e) {
@@ -445,13 +446,12 @@ public class AjpProtocol
             if (proto.getDomain() != null) {
                 synchronized (this) {
                     try {
-                        int count = registerCount.decrementAndGet();
-                        if (log.isDebugEnabled()) {
-                            log.debug("Unregister [" + processor + "] count=" + count);
-                        }
                         RequestInfo rp = processor.getRequest().getRequestProcessor();
                         rp.setGlobalProcessor(null);
                         ObjectName rpName = rp.getRpName();
+                        if (log.isDebugEnabled()) {
+                            log.debug("Unregister " + rpName);
+                        }
                         Registry.getRegistry(null, null).unregisterComponent(rpName);
                         rp.setRpName(null);
                     } catch (Exception e) {
index 4272d3f..42d3c9b 100644 (file)
@@ -26,6 +26,7 @@ import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentLinkedQueue;
 import java.util.concurrent.Executor;
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicLong;
 
 import javax.management.MBeanRegistration;
 import javax.management.MBeanServer;
@@ -481,7 +482,7 @@ public class Http11AprProtocol implements ProtocolHandler, MBeanRegistration {
     static class Http11ConnectionHandler implements Handler {
         
         protected Http11AprProtocol proto;
-        protected AtomicInteger registerCount = new AtomicInteger(0);
+        protected AtomicLong registerCount = new AtomicLong(0);
         protected RequestGroupInfo global = new RequestGroupInfo();
         
         protected ConcurrentHashMap<Long, Http11AprProcessor> connections =
@@ -636,15 +637,15 @@ public class Http11AprProtocol implements ProtocolHandler, MBeanRegistration {
             if (proto.getDomain() != null) {
                 synchronized (this) {
                     try {
-                        int count = registerCount.incrementAndGet();
-                        if (log.isDebugEnabled()) {
-                            log.debug("Register ["+processor+"] count=" + count);
-                        }
+                        long count = registerCount.incrementAndGet();
                         RequestInfo rp = processor.getRequest().getRequestProcessor();
                         rp.setGlobalProcessor(global);
                         ObjectName rpName = new ObjectName
                             (proto.getDomain() + ":type=RequestProcessor,worker="
                                 + proto.getName() + ",name=HttpRequest" + count);
+                        if (log.isDebugEnabled()) {
+                            log.debug("Register " + rpName);
+                        }
                         Registry.getRegistry(null, null).registerComponent(rp, rpName, null);
                         rp.setRpName(rpName);
                     } catch (Exception e) {
@@ -658,13 +659,12 @@ public class Http11AprProtocol implements ProtocolHandler, MBeanRegistration {
             if (proto.getDomain() != null) {
                 synchronized (this) {
                     try {
-                        int count = registerCount.decrementAndGet();
-                        if (log.isDebugEnabled()) {
-                            log.debug("Unregister [" + processor + "] count=" + count);
-                        }
                         RequestInfo rp = processor.getRequest().getRequestProcessor();
                         rp.setGlobalProcessor(null);
                         ObjectName rpName = rp.getRpName();
+                        if (log.isDebugEnabled()) {
+                            log.debug("Unregister " + rpName);
+                        }
                         Registry.getRegistry(null, null).unregisterComponent(rpName);
                         rp.setRpName(null);
                     } catch (Exception e) {
index 058b01b..e7bfa43 100644 (file)
@@ -25,6 +25,7 @@ import java.util.Iterator;
 import java.util.concurrent.ConcurrentLinkedQueue;
 import java.util.concurrent.Executor;
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicLong;
 
 import javax.management.MBeanRegistration;
 import javax.management.MBeanServer;
@@ -515,7 +516,7 @@ public class Http11Protocol
     protected static class Http11ConnectionHandler implements Handler {
 
         protected Http11Protocol proto;
-        protected AtomicInteger registerCount = new AtomicInteger(0);
+        protected AtomicLong registerCount = new AtomicLong(0);
         protected RequestGroupInfo global = new RequestGroupInfo();
 
         protected ConcurrentLinkedQueue<Http11Processor> recycledProcessors = 
@@ -635,15 +636,15 @@ public class Http11Protocol
             if (proto.getDomain() != null) {
                 synchronized (this) {
                     try {
-                        int count = registerCount.incrementAndGet();
-                        if (log.isDebugEnabled()) {
-                            log.debug("Register ["+processor+"] count=" + count);
-                        }
+                        long count = registerCount.incrementAndGet();
                         RequestInfo rp = processor.getRequest().getRequestProcessor();
                         rp.setGlobalProcessor(global);
                         ObjectName rpName = new ObjectName
                             (proto.getDomain() + ":type=RequestProcessor,worker="
                                 + proto.getName() + ",name=HttpRequest" + count);
+                        if (log.isDebugEnabled()) {
+                            log.debug("Register " + rpName);
+                        }
                         Registry.getRegistry(null, null).registerComponent(rp, rpName, null);
                         rp.setRpName(rpName);
                     } catch (Exception e) {
@@ -657,13 +658,12 @@ public class Http11Protocol
             if (proto.getDomain() != null) {
                 synchronized (this) {
                     try {
-                        int count = registerCount.decrementAndGet();
-                        if (log.isDebugEnabled()) {
-                            log.debug("Unregister [" + processor + "] count=" + count);
-                        }
                         RequestInfo rp = processor.getRequest().getRequestProcessor();
                         rp.setGlobalProcessor(null);
                         ObjectName rpName = rp.getRpName();
+                        if (log.isDebugEnabled()) {
+                            log.debug("Unregister " + rpName);
+                        }
                         Registry.getRegistry(null, null).unregisterComponent(rpName);
                         rp.setRpName(null);
                     } catch (Exception e) {
index 27895ca..25d8d87 100644 (file)
@@ -55,8 +55,6 @@ import org.apache.jasper.el.FunctionMapperImpl;
 import org.apache.jasper.el.VariableResolverImpl;
 import org.apache.jasper.security.SecurityUtil;
 import org.apache.jasper.util.Enumerator;
-import org.apache.juli.logging.Log;
-import org.apache.juli.logging.LogFactory;
 
 /**
  * Implementation of the PageContext class from the JSP spec. Also doubles as a
@@ -72,9 +70,6 @@ import org.apache.juli.logging.LogFactory;
  */
 public class PageContextImpl extends PageContext {
 
-       // Logger
-       private static Log log = LogFactory.getLog(PageContextImpl.class);
-
        private BodyContentImpl[] outs;
 
        private int depth;
index 894c33e..f67b627 100644 (file)
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.tomcat.util.modeler.modules;
 
 import java.io.InputStream;
index a564df8..f519b1c 100644 (file)
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.tomcat.util.modeler.modules;
 
 import java.io.FileNotFoundException;
index 97923be..3883118 100644 (file)
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.tomcat.util.modeler.modules;
 
 import java.util.List;
index 7b8885f..7c97030 100644 (file)
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.tomcat.util.modeler.modules;
 
 import java.io.File;
index b73b69c..94321ab 100644 (file)
-/*\r
- *  Copyright 2005-2006 The Apache Software Foundation\r
- *\r
- *  Licensed under the Apache License, Version 2.0 (the "License");\r
- *  you may not use this file except in compliance with the License.\r
- *  You may obtain a copy of the License at\r
- *\r
- *      http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- *  Unless required by applicable law or agreed to in writing, software\r
- *  distributed under the License is distributed on an "AS IS" BASIS,\r
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- *  See the License for the specific language governing permissions and\r
- *  limitations under the License.\r
- */\r
-package org.apache.tomcat.util.net;\r
-\r
-import java.io.EOFException;\r
-import java.io.IOException;\r
-import java.net.SocketTimeoutException;\r
-import java.nio.ByteBuffer;\r
-import java.nio.channels.SelectionKey;\r
-import java.util.concurrent.TimeUnit;\r
-\r
-import org.apache.tomcat.util.net.NioEndpoint.KeyAttachment;\r
-\r
-public class NioBlockingSelector {\r
-    public NioBlockingSelector() {\r
-    }\r
-\r
-    /**\r
-     * Performs a blocking write using the bytebuffer for data to be written\r
-     * If the <code>selector</code> parameter is null, then it will perform a busy write that could\r
-     * take up a lot of CPU cycles.\r
-     * @param buf ByteBuffer - the buffer containing the data, we will write as long as <code>(buf.hasRemaining()==true)</code>\r
-     * @param socket SocketChannel - the socket to write data to\r
-     * @param writeTimeout long - the timeout for this write operation in milliseconds, -1 means no timeout\r
-     * @return int - returns the number of bytes written\r
-     * @throws EOFException if write returns -1\r
-     * @throws SocketTimeoutException if the write times out\r
-     * @throws IOException if an IO Exception occurs in the underlying socket logic\r
-     */\r
-    public static int write(ByteBuffer buf, NioChannel socket, long writeTimeout) throws IOException {\r
-        SelectionKey key = socket.getIOChannel().keyFor(socket.getPoller().getSelector());\r
-        int written = 0;\r
-        boolean timedout = false;\r
-        int keycount = 1; //assume we can write\r
-        long time = System.currentTimeMillis(); //start the timeout timer\r
-        if (socket.getBufHandler().getWriteBuffer() != buf) {\r
-            socket.getBufHandler().getWriteBuffer().put(buf);\r
-            buf = socket.getBufHandler().getWriteBuffer();\r
-        }\r
-        try {\r
-            while ( (!timedout) && buf.hasRemaining()) {\r
-                if (keycount > 0) { //only write if we were registered for a write\r
-                    int cnt = socket.write(buf); //write the data\r
-                    if (cnt == -1)\r
-                        throw new EOFException();\r
-                    written += cnt;\r
-                    if (cnt > 0) {\r
-                        time = System.currentTimeMillis(); //reset our timeout timer\r
-                        continue; //we successfully wrote, try again without a selector\r
-                    }\r
-                }\r
-                if ( key == null ) throw new IOException("Key no longer registered");\r
-                KeyAttachment att = (KeyAttachment) key.attachment();\r
-                try {\r
-                    if ( att.getLatch()==null || att.getLatch().getCount()==0) att.startLatch(1);\r
-                    if ( att.interestOps() == 0) socket.getPoller().add(socket,SelectionKey.OP_WRITE);\r
-                    att.getLatch().await(writeTimeout,TimeUnit.MILLISECONDS);\r
-                }catch (InterruptedException ignore) {\r
-                    Thread.interrupted();\r
-                }\r
-                if ( att.getLatch()!=null && att.getLatch().getCount()> 0) {\r
-                    //we got interrupted, but we haven't received notification from the poller.\r
-                    keycount = 0;\r
-                }else {\r
-                    //latch countdown has happened\r
-                    keycount = 1;\r
-                    att.resetLatch();\r
-                }\r
-\r
-                if (writeTimeout > 0 && (keycount == 0))\r
-                    timedout = (System.currentTimeMillis() - time) >= writeTimeout;\r
-            } //while\r
-            if (timedout) \r
-                throw new SocketTimeoutException();\r
-        } finally {\r
-            if (timedout && key != null) {\r
-                cancelKey(socket, key);\r
-            }\r
-        }\r
-        return written;\r
-    }\r
-\r
-    private static void cancelKey(final NioChannel socket, final SelectionKey key) {\r
-        socket.getPoller().addEvent(\r
-            new Runnable() {\r
-            public void run() {\r
-                key.cancel();\r
-            }\r
-        });\r
-    }\r
-\r
-    /**\r
-     * Performs a blocking read using the bytebuffer for data to be read\r
-     * If the <code>selector</code> parameter is null, then it will perform a busy read that could\r
-     * take up a lot of CPU cycles.\r
-     * @param buf ByteBuffer - the buffer containing the data, we will read as until we have read at least one byte or we timed out\r
-     * @param socket SocketChannel - the socket to write data to\r
-     * @param selector Selector - the selector to use for blocking, if null then a busy read will be initiated\r
-     * @param readTimeout long - the timeout for this read operation in milliseconds, -1 means no timeout\r
-     * @return int - returns the number of bytes read\r
-     * @throws EOFException if read returns -1\r
-     * @throws SocketTimeoutException if the read times out\r
-     * @throws IOException if an IO Exception occurs in the underlying socket logic\r
-     */\r
-    public static int read(ByteBuffer buf, NioChannel socket, long readTimeout) throws IOException {\r
-        final SelectionKey key = socket.getIOChannel().keyFor(socket.getPoller().getSelector());\r
-        int read = 0;\r
-        boolean timedout = false;\r
-        int keycount = 1; //assume we can write\r
-        long time = System.currentTimeMillis(); //start the timeout timer\r
-        try {\r
-            while ( (!timedout) && read == 0) {\r
-                if (keycount > 0) { //only read if we were registered for a read\r
-                    int cnt = socket.read(buf);\r
-                    if (cnt == -1)\r
-                        throw new EOFException();\r
-                    read += cnt;\r
-                    if (cnt > 0)\r
-                        break;\r
-                }\r
-                KeyAttachment att = (KeyAttachment) key.attachment();\r
-                try {\r
-                    if ( att.getLatch()==null || att.getLatch().getCount()==0) att.startLatch(1);\r
-                    if ( att.interestOps() == 0) socket.getPoller().add(socket,SelectionKey.OP_READ);\r
-                    att.getLatch().await(readTimeout,TimeUnit.MILLISECONDS);\r
-                }catch (InterruptedException ignore) {\r
-                    Thread.interrupted();\r
-                }\r
-                if ( att.getLatch()!=null && att.getLatch().getCount()> 0) {\r
-                    //we got interrupted, but we haven't received notification from the poller.\r
-                    keycount = 0;\r
-                }else {\r
-                    //latch countdown has happened\r
-                    keycount = 1;\r
-                    att.resetLatch();\r
-                }\r
-                if (readTimeout > 0 && (keycount == 0))\r
-                    timedout = (System.currentTimeMillis() - time) >= readTimeout;\r
-            } //while\r
-            if (timedout)\r
-                throw new SocketTimeoutException();\r
-        } finally {\r
-            if (timedout && key != null) {\r
-                cancelKey(socket,key);\r
-            }\r
-        }\r
-        return read;\r
-    }\r
-\r
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.tomcat.util.net;
+
+import java.io.EOFException;
+import java.io.IOException;
+import java.net.SocketTimeoutException;
+import java.nio.ByteBuffer;
+import java.nio.channels.SelectionKey;
+import java.util.concurrent.TimeUnit;
+
+import org.apache.tomcat.util.net.NioEndpoint.KeyAttachment;
+
+public class NioBlockingSelector {
+    public NioBlockingSelector() {
+    }
+
+    /**
+     * Performs a blocking write using the bytebuffer for data to be written
+     * If the <code>selector</code> parameter is null, then it will perform a busy write that could
+     * take up a lot of CPU cycles.
+     * @param buf ByteBuffer - the buffer containing the data, we will write as long as <code>(buf.hasRemaining()==true)</code>
+     * @param socket SocketChannel - the socket to write data to
+     * @param writeTimeout long - the timeout for this write operation in milliseconds, -1 means no timeout
+     * @return int - returns the number of bytes written
+     * @throws EOFException if write returns -1
+     * @throws SocketTimeoutException if the write times out
+     * @throws IOException if an IO Exception occurs in the underlying socket logic
+     */
+    public static int write(ByteBuffer buf, NioChannel socket, long writeTimeout) throws IOException {
+        SelectionKey key = socket.getIOChannel().keyFor(socket.getPoller().getSelector());
+        int written = 0;
+        boolean timedout = false;
+        int keycount = 1; //assume we can write
+        long time = System.currentTimeMillis(); //start the timeout timer
+        if (socket.getBufHandler().getWriteBuffer() != buf) {
+            socket.getBufHandler().getWriteBuffer().put(buf);
+            buf = socket.getBufHandler().getWriteBuffer();
+        }
+        try {
+            while ( (!timedout) && buf.hasRemaining()) {
+                if (keycount > 0) { //only write if we were registered for a write
+                    int cnt = socket.write(buf); //write the data
+                    if (cnt == -1)
+                        throw new EOFException();
+                    written += cnt;
+                    if (cnt > 0) {
+                        time = System.currentTimeMillis(); //reset our timeout timer
+                        continue; //we successfully wrote, try again without a selector
+                    }
+                }
+                if ( key == null ) throw new IOException("Key no longer registered");
+                KeyAttachment att = (KeyAttachment) key.attachment();
+                try {
+                    if ( att.getLatch()==null || att.getLatch().getCount()==0) att.startLatch(1);
+                    if ( att.interestOps() == 0) socket.getPoller().add(socket,SelectionKey.OP_WRITE);
+                    att.getLatch().await(writeTimeout,TimeUnit.MILLISECONDS);
+                }catch (InterruptedException ignore) {
+                    Thread.interrupted();
+                }
+                if ( att.getLatch()!=null && att.getLatch().getCount()> 0) {
+                    //we got interrupted, but we haven't received notification from the poller.
+                    keycount = 0;
+                }else {
+                    //latch countdown has happened
+                    keycount = 1;
+                    att.resetLatch();
+                }
+
+                if (writeTimeout > 0 && (keycount == 0))
+                    timedout = (System.currentTimeMillis() - time) >= writeTimeout;
+            } //while
+            if (timedout) 
+                throw new SocketTimeoutException();
+        } finally {
+            if (timedout && key != null) {
+                cancelKey(socket, key);
+            }
+        }
+        return written;
+    }
+
+    private static void cancelKey(final NioChannel socket, final SelectionKey key) {
+        socket.getPoller().addEvent(
+            new Runnable() {
+            public void run() {
+                key.cancel();
+            }
+        });
+    }
+
+    /**
+     * Performs a blocking read using the bytebuffer for data to be read
+     * If the <code>selector</code> parameter is null, then it will perform a busy read that could
+     * take up a lot of CPU cycles.
+     * @param buf ByteBuffer - the buffer containing the data, we will read as until we have read at least one byte or we timed out
+     * @param socket SocketChannel - the socket to write data to
+     * @param selector Selector - the selector to use for blocking, if null then a busy read will be initiated
+     * @param readTimeout long - the timeout for this read operation in milliseconds, -1 means no timeout
+     * @return int - returns the number of bytes read
+     * @throws EOFException if read returns -1
+     * @throws SocketTimeoutException if the read times out
+     * @throws IOException if an IO Exception occurs in the underlying socket logic
+     */
+    public static int read(ByteBuffer buf, NioChannel socket, long readTimeout) throws IOException {
+        final SelectionKey key = socket.getIOChannel().keyFor(socket.getPoller().getSelector());
+        int read = 0;
+        boolean timedout = false;
+        int keycount = 1; //assume we can write
+        long time = System.currentTimeMillis(); //start the timeout timer
+        try {
+            while ( (!timedout) && read == 0) {
+                if (keycount > 0) { //only read if we were registered for a read
+                    int cnt = socket.read(buf);
+                    if (cnt == -1)
+                        throw new EOFException();
+                    read += cnt;
+                    if (cnt > 0)
+                        break;
+                }
+                KeyAttachment att = (KeyAttachment) key.attachment();
+                try {
+                    if ( att.getLatch()==null || att.getLatch().getCount()==0) att.startLatch(1);
+                    if ( att.interestOps() == 0) socket.getPoller().add(socket,SelectionKey.OP_READ);
+                    att.getLatch().await(readTimeout,TimeUnit.MILLISECONDS);
+                }catch (InterruptedException ignore) {
+                    Thread.interrupted();
+                }
+                if ( att.getLatch()!=null && att.getLatch().getCount()> 0) {
+                    //we got interrupted, but we haven't received notification from the poller.
+                    keycount = 0;
+                }else {
+                    //latch countdown has happened
+                    keycount = 1;
+                    att.resetLatch();
+                }
+                if (readTimeout > 0 && (keycount == 0))
+                    timedout = (System.currentTimeMillis() - time) >= readTimeout;
+            } //while
+            if (timedout)
+                throw new SocketTimeoutException();
+        } finally {
+            if (timedout && key != null) {
+                cancelKey(socket,key);
+            }
+        }
+        return read;
+    }
+
 }
\ No newline at end of file
index 0910d91..5562b4d 100644 (file)
@@ -1,17 +1,18 @@
 /*
- *  Copyright 2005-2006 The Apache Software Foundation
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 package org.apache.tomcat.util.net;
 
index d2b0efc..b7b6914 100644 (file)
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.tomcat.util.net;
 
 import java.io.IOException;
index 6551834..7a50135 100644 (file)
-/*\r
- *  Copyright 2005-2006 The Apache Software Foundation\r
- *\r
- *  Licensed under the Apache License, Version 2.0 (the "License");\r
- *  you may not use this file except in compliance with the License.\r
- *  You may obtain a copy of the License at\r
- *\r
- *      http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- *  Unless required by applicable law or agreed to in writing, software\r
- *  distributed under the License is distributed on an "AS IS" BASIS,\r
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- *  See the License for the specific language governing permissions and\r
- *  limitations under the License.\r
- */\r
-package org.apache.tomcat.util.net;\r
-\r
-import java.net.Socket;\r
-import java.net.SocketException;\r
-/**\r
- * Properties that can be set in the &lt;Connector&gt; element\r
- * in server.xml. All properties are prefixed with &quot;socket.&quot;\r
- * and are currently only working for the Nio connector\r
- *\r
- * @author Filip Hanik\r
- */\r
-public class SocketProperties {\r
-    /**\r
-     * Enable/disable key cache, this bounded cache stores\r
-     * KeyAttachment objects to reduce GC\r
-     * Default is 500\r
-     * -1 is unlimited\r
-     * 0 is disabled\r
-     */\r
-    protected int keyCache = 500;\r
-    \r
-    /**\r
-     * Enable/disable socket processor cache, this bounded cache stores\r
-     * SocketProcessor objects to reduce GC\r
-     * Default is 500\r
-     * -1 is unlimited\r
-     * 0 is disabled\r
-     */\r
-    protected int processorCache = 500;\r
-\r
-\r
-\r
-    /**\r
-     * Enable/disable poller event cache, this bounded cache stores\r
-     * PollerEvent objects to reduce GC for the poller\r
-     * Default is 500 \r
-     * -1 is unlimited\r
-     * 0 is disabled\r
-     * >0 the max number of objects to keep in cache.\r
-     */\r
-    protected int eventCache = 500;\r
-\r
-\r
-    /**\r
-     * Enable/disable direct buffers for the network buffers\r
-     * Default value is enabled\r
-     */\r
-    protected boolean directBuffer = false;\r
-    /**\r
-     * Socket receive buffer size in bytes (SO_RCVBUF)\r
-     * Default value is 25188\r
-     */\r
-    protected int rxBufSize = 25188;\r
-    /**\r
-     * Socket send buffer size in bytes (SO_SNDBUF)\r
-     * Default value is 43800\r
-     */\r
-    protected int txBufSize = 43800;\r
-\r
-    /**\r
-     * The application read buffer size in bytes.\r
-     * Default value is rxBufSize\r
-     */\r
-    protected int appReadBufSize = 8192;\r
-\r
-    /**\r
-     * The application write buffer size in bytes\r
-     * Default value is txBufSize\r
-     */\r
-    protected int appWriteBufSize = 8192;\r
-\r
-    /**\r
-     * NioChannel pool size for the endpoint,\r
-     * this value is how many channels\r
-     * -1 means unlimited cached, 0 means no cache\r
-     * Default value is 500\r
-     */\r
-    protected int bufferPool = 500;\r
-\r
-\r
-    /**\r
-     * Buffer pool size in bytes to be cached\r
-     * -1 means unlimited, 0 means no cache\r
-     * Default value is 100MB (1024*1024*100 bytes)\r
-     */\r
-    protected int bufferPoolSize = 1024*1024*100;\r
-\r
-    /**\r
-     * TCP_NO_DELAY option, default is true\r
-     */\r
-    protected boolean tcpNoDelay = true;\r
-    /**\r
-     * SO_KEEPALIVE option, default is false\r
-     */\r
-    protected boolean soKeepAlive = false;\r
-    /**\r
-     * OOBINLINE option, default is true\r
-     */\r
-    protected boolean ooBInline = true;\r
-    /**\r
-     * SO_REUSEADDR option, default is true\r
-     */\r
-    protected boolean soReuseAddress = true;\r
-    /**\r
-     * SO_LINGER option, default is true, paired with the <code>soLingerTime</code> value\r
-     */\r
-    protected boolean soLingerOn = true;\r
-    /**\r
-     * SO_LINGER option, default is 25 seconds.\r
-     */\r
-    protected int soLingerTime = 25;\r
-    /**\r
-     * SO_TIMEOUT option, default is 5000 milliseconds\r
-     */\r
-    protected int soTimeout = 5000;\r
-    /**\r
-     * Traffic class option, value between 0 and 255\r
-     * IPTOS_LOWCOST (0x02)\r
-     * IPTOS_RELIABILITY (0x04)\r
-     * IPTOS_THROUGHPUT (0x08)\r
-     * IPTOS_LOWDELAY (0x10)\r
-     * Default value is 0x04 | 0x08 | 0x010\r
-     */\r
-    protected int soTrafficClass = 0x04 | 0x08 | 0x010;\r
-    /**\r
-     * Performance preferences according to\r
-     * http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int)\r
-     * Default value is 1\r
-     */\r
-    protected int performanceConnectionTime = 1;\r
-    /**\r
-     * Performance preferences according to\r
-     * http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int)\r
-     * Default value is 0\r
-     */\r
-    protected int performanceLatency = 0;\r
-    /**\r
-     * Performance preferences according to\r
-     * http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int)\r
-     * Default value is 1\r
-     */\r
-    protected int performanceBandwidth = 1;\r
-    private Socket properties;\r
-\r
-    public void setProperties(Socket socket) throws SocketException{\r
-        socket.setReceiveBufferSize(rxBufSize);\r
-        socket.setSendBufferSize(txBufSize);\r
-        socket.setOOBInline(ooBInline);\r
-        socket.setKeepAlive(soKeepAlive);\r
-        socket.setPerformancePreferences(performanceConnectionTime,performanceLatency,performanceBandwidth);\r
-        socket.setReuseAddress(soReuseAddress);\r
-        socket.setSoLinger(soLingerOn,soLingerTime);\r
-        socket.setSoTimeout(soTimeout);\r
-        socket.setTcpNoDelay(tcpNoDelay);\r
-        socket.setTrafficClass(soTrafficClass);\r
-    }\r
-\r
-    public boolean getDirectBuffer() {\r
-        return directBuffer;\r
-    }\r
-\r
-    public boolean getOoBInline() {\r
-        return ooBInline;\r
-    }\r
-\r
-    public int getPerformanceBandwidth() {\r
-        return performanceBandwidth;\r
-    }\r
-\r
-    public int getPerformanceConnectionTime() {\r
-        return performanceConnectionTime;\r
-    }\r
-\r
-    public int getPerformanceLatency() {\r
-        return performanceLatency;\r
-    }\r
-\r
-    public int getRxBufSize() {\r
-        return rxBufSize;\r
-    }\r
-\r
-    public boolean getSoKeepAlive() {\r
-        return soKeepAlive;\r
-    }\r
-\r
-    public boolean getSoLingerOn() {\r
-        return soLingerOn;\r
-    }\r
-\r
-    public int getSoLingerTime() {\r
-        return soLingerTime;\r
-    }\r
-\r
-    public boolean getSoReuseAddress() {\r
-        return soReuseAddress;\r
-    }\r
-\r
-    public int getSoTimeout() {\r
-        return soTimeout;\r
-    }\r
-\r
-    public int getSoTrafficClass() {\r
-        return soTrafficClass;\r
-    }\r
-\r
-    public boolean getTcpNoDelay() {\r
-        return tcpNoDelay;\r
-    }\r
-\r
-    public int getTxBufSize() {\r
-        return txBufSize;\r
-    }\r
-\r
-    public int getBufferPool() {\r
-        return bufferPool;\r
-    }\r
-\r
-    public int getBufferPoolSize() {\r
-        return bufferPoolSize;\r
-    }\r
-\r
-    public int getEventCache() {\r
-        return eventCache;\r
-    }\r
-\r
-    public int getKeyCache() {\r
-        return keyCache;\r
-    }\r
-\r
-    public Socket getProperties() {\r
-        return properties;\r
-    }\r
-\r
-    public int getAppReadBufSize() {\r
-        return appReadBufSize;\r
-    }\r
-\r
-    public int getAppWriteBufSize() {\r
-        return appWriteBufSize;\r
-    }\r
-\r
-    public int getProcessorCache() {\r
-        return processorCache;\r
-    }\r
-\r
-    public int getDirectBufferPool() {\r
-        return bufferPool;\r
-    }\r
-\r
-    public void setPerformanceConnectionTime(int performanceConnectionTime) {\r
-        this.performanceConnectionTime = performanceConnectionTime;\r
-    }\r
-\r
-    public void setTxBufSize(int txBufSize) {\r
-        this.txBufSize = txBufSize;\r
-    }\r
-\r
-    public void setTcpNoDelay(boolean tcpNoDelay) {\r
-        this.tcpNoDelay = tcpNoDelay;\r
-    }\r
-\r
-    public void setSoTrafficClass(int soTrafficClass) {\r
-        this.soTrafficClass = soTrafficClass;\r
-    }\r
-\r
-    public void setSoTimeout(int soTimeout) {\r
-        this.soTimeout = soTimeout;\r
-    }\r
-\r
-    public void setSoReuseAddress(boolean soReuseAddress) {\r
-        this.soReuseAddress = soReuseAddress;\r
-    }\r
-\r
-    public void setSoLingerTime(int soLingerTime) {\r
-        this.soLingerTime = soLingerTime;\r
-    }\r
-\r
-    public void setSoKeepAlive(boolean soKeepAlive) {\r
-        this.soKeepAlive = soKeepAlive;\r
-    }\r
-\r
-    public void setRxBufSize(int rxBufSize) {\r
-        this.rxBufSize = rxBufSize;\r
-    }\r
-\r
-    public void setPerformanceLatency(int performanceLatency) {\r
-        this.performanceLatency = performanceLatency;\r
-    }\r
-\r
-    public void setPerformanceBandwidth(int performanceBandwidth) {\r
-        this.performanceBandwidth = performanceBandwidth;\r
-    }\r
-\r
-    public void setOoBInline(boolean ooBInline) {\r
-        this.ooBInline = ooBInline;\r
-    }\r
-\r
-    public void setDirectBuffer(boolean directBuffer) {\r
-        this.directBuffer = directBuffer;\r
-    }\r
-\r
-    public void setSoLingerOn(boolean soLingerOn) {\r
-        this.soLingerOn = soLingerOn;\r
-    }\r
-\r
-    public void setBufferPool(int bufferPool) {\r
-        this.bufferPool = bufferPool;\r
-    }\r
-\r
-    public void setBufferPoolSize(int bufferPoolSize) {\r
-        this.bufferPoolSize = bufferPoolSize;\r
-    }\r
-\r
-    public void setEventCache(int eventCache) {\r
-        this.eventCache = eventCache;\r
-    }\r
-\r
-    public void setKeyCache(int keyCache) {\r
-        this.keyCache = keyCache;\r
-    }\r
-\r
-    public void setAppReadBufSize(int appReadBufSize) {\r
-        this.appReadBufSize = appReadBufSize;\r
-    }\r
-\r
-    public void setAppWriteBufSize(int appWriteBufSize) {\r
-        this.appWriteBufSize = appWriteBufSize;\r
-    }\r
-\r
-    public void setProcessorCache(int processorCache) {\r
-        this.processorCache = processorCache;\r
-    }\r
-\r
-    public void setDirectBufferPool(int directBufferPool) {\r
-        this.bufferPool = directBufferPool;\r
-    }\r
-\r
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.tomcat.util.net;
+
+import java.net.Socket;
+import java.net.SocketException;
+/**
+ * Properties that can be set in the &lt;Connector&gt; element
+ * in server.xml. All properties are prefixed with &quot;socket.&quot;
+ * and are currently only working for the Nio connector
+ *
+ * @author Filip Hanik
+ */
+public class SocketProperties {
+    /**
+     * Enable/disable key cache, this bounded cache stores
+     * KeyAttachment objects to reduce GC
+     * Default is 500
+     * -1 is unlimited
+     * 0 is disabled
+     */
+    protected int keyCache = 500;
+    
+    /**
+     * Enable/disable socket processor cache, this bounded cache stores
+     * SocketProcessor objects to reduce GC
+     * Default is 500
+     * -1 is unlimited
+     * 0 is disabled
+     */
+    protected int processorCache = 500;
+
+
+
+    /**
+     * Enable/disable poller event cache, this bounded cache stores
+     * PollerEvent objects to reduce GC for the poller
+     * Default is 500 
+     * -1 is unlimited
+     * 0 is disabled
+     * >0 the max number of objects to keep in cache.
+     */
+    protected int eventCache = 500;
+
+
+    /**
+     * Enable/disable direct buffers for the network buffers
+     * Default value is enabled
+     */
+    protected boolean directBuffer = false;
+    /**
+     * Socket receive buffer size in bytes (SO_RCVBUF)
+     * Default value is 25188
+     */
+    protected int rxBufSize = 25188;
+    /**
+     * Socket send buffer size in bytes (SO_SNDBUF)
+     * Default value is 43800
+     */
+    protected int txBufSize = 43800;
+
+    /**
+     * The application read buffer size in bytes.
+     * Default value is rxBufSize
+     */
+    protected int appReadBufSize = 8192;
+
+    /**
+     * The application write buffer size in bytes
+     * Default value is txBufSize
+     */
+    protected int appWriteBufSize = 8192;
+
+    /**
+     * NioChannel pool size for the endpoint,
+     * this value is how many channels
+     * -1 means unlimited cached, 0 means no cache
+     * Default value is 500
+     */
+    protected int bufferPool = 500;
+
+
+    /**
+     * Buffer pool size in bytes to be cached
+     * -1 means unlimited, 0 means no cache
+     * Default value is 100MB (1024*1024*100 bytes)
+     */
+    protected int bufferPoolSize = 1024*1024*100;
+
+    /**
+     * TCP_NO_DELAY option, default is true
+     */
+    protected boolean tcpNoDelay = true;
+    /**
+     * SO_KEEPALIVE option, default is false
+     */
+    protected boolean soKeepAlive = false;
+    /**
+     * OOBINLINE option, default is true
+     */
+    protected boolean ooBInline = true;
+    /**
+     * SO_REUSEADDR option, default is true
+     */
+    protected boolean soReuseAddress = true;
+    /**
+     * SO_LINGER option, default is true, paired with the <code>soLingerTime</code> value
+     */
+    protected boolean soLingerOn = true;
+    /**
+     * SO_LINGER option, default is 25 seconds.
+     */
+    protected int soLingerTime = 25;
+    /**
+     * SO_TIMEOUT option, default is 5000 milliseconds
+     */
+    protected int soTimeout = 5000;
+    /**
+     * Traffic class option, value between 0 and 255
+     * IPTOS_LOWCOST (0x02)
+     * IPTOS_RELIABILITY (0x04)
+     * IPTOS_THROUGHPUT (0x08)
+     * IPTOS_LOWDELAY (0x10)
+     * Default value is 0x04 | 0x08 | 0x010
+     */
+    protected int soTrafficClass = 0x04 | 0x08 | 0x010;
+    /**
+     * Performance preferences according to
+     * http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int)
+     * Default value is 1
+     */
+    protected int performanceConnectionTime = 1;
+    /**
+     * Performance preferences according to
+     * http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int)
+     * Default value is 0
+     */
+    protected int performanceLatency = 0;
+    /**
+     * Performance preferences according to
+     * http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int)
+     * Default value is 1
+     */
+    protected int performanceBandwidth = 1;
+    private Socket properties;
+
+    public void setProperties(Socket socket) throws SocketException{
+        socket.setReceiveBufferSize(rxBufSize);
+        socket.setSendBufferSize(txBufSize);
+        socket.setOOBInline(ooBInline);
+        socket.setKeepAlive(soKeepAlive);
+        socket.setPerformancePreferences(performanceConnectionTime,performanceLatency,performanceBandwidth);
+        socket.setReuseAddress(soReuseAddress);
+        socket.setSoLinger(soLingerOn,soLingerTime);
+        socket.setSoTimeout(soTimeout);
+        socket.setTcpNoDelay(tcpNoDelay);
+        socket.setTrafficClass(soTrafficClass);
+    }
+
+    public boolean getDirectBuffer() {
+        return directBuffer;
+    }
+
+    public boolean getOoBInline() {
+        return ooBInline;
+    }
+
+    public int getPerformanceBandwidth() {
+        return performanceBandwidth;
+    }
+
+    public int getPerformanceConnectionTime() {
+        return performanceConnectionTime;
+    }
+
+    public int getPerformanceLatency() {
+        return performanceLatency;
+    }
+
+    public int getRxBufSize() {
+        return rxBufSize;
+    }
+
+    public boolean getSoKeepAlive() {
+        return soKeepAlive;
+    }
+
+    public boolean getSoLingerOn() {
+        return soLingerOn;
+    }
+
+    public int getSoLingerTime() {
+        return soLingerTime;
+    }
+
+    public boolean getSoReuseAddress() {
+        return soReuseAddress;
+    }
+
+    public int getSoTimeout() {
+        return soTimeout;
+    }
+
+    public int getSoTrafficClass() {
+        return soTrafficClass;
+    }
+
+    public boolean getTcpNoDelay() {
+        return tcpNoDelay;
+    }
+
+    public int getTxBufSize() {
+        return txBufSize;
+    }
+
+    public int getBufferPool() {
+        return bufferPool;
+    }
+
+    public int getBufferPoolSize() {
+        return bufferPoolSize;
+    }
+
+    public int getEventCache() {
+        return eventCache;
+    }
+
+    public int getKeyCache() {
+        return keyCache;
+    }
+
+    public Socket getProperties() {
+        return properties;
+    }
+
+    public int getAppReadBufSize() {
+        return appReadBufSize;
+    }
+
+    public int getAppWriteBufSize() {
+        return appWriteBufSize;
+    }
+
+    public int getProcessorCache() {
+        return processorCache;
+    }
+
+    public int getDirectBufferPool() {
+        return bufferPool;
+    }
+
+    public void setPerformanceConnectionTime(int performanceConnectionTime) {
+        this.performanceConnectionTime = performanceConnectionTime;
+    }
+
+    public void setTxBufSize(int txBufSize) {
+        this.txBufSize = txBufSize;
+    }
+
+    public void setTcpNoDelay(boolean tcpNoDelay) {
+        this.tcpNoDelay = tcpNoDelay;
+    }
+
+    public void setSoTrafficClass(int soTrafficClass) {
+        this.soTrafficClass = soTrafficClass;
+    }
+
+    public void setSoTimeout(int soTimeout) {
+        this.soTimeout = soTimeout;
+    }
+
+    public void setSoReuseAddress(boolean soReuseAddress) {
+        this.soReuseAddress = soReuseAddress;
+    }
+
+    public void setSoLingerTime(int soLingerTime) {
+        this.soLingerTime = soLingerTime;
+    }
+
+    public void setSoKeepAlive(boolean soKeepAlive) {
+        this.soKeepAlive = soKeepAlive;
+    }
+
+    public void setRxBufSize(int rxBufSize) {
+        this.rxBufSize = rxBufSize;
+    }
+
+    public void setPerformanceLatency(int performanceLatency) {
+        this.performanceLatency = performanceLatency;
+    }
+
+    public void setPerformanceBandwidth(int performanceBandwidth) {
+        this.performanceBandwidth = performanceBandwidth;
+    }
+
+    public void setOoBInline(boolean ooBInline) {
+        this.ooBInline = ooBInline;
+    }
+
+    public void setDirectBuffer(boolean directBuffer) {
+        this.directBuffer = directBuffer;
+    }
+
+    public void setSoLingerOn(boolean soLingerOn) {
+        this.soLingerOn = soLingerOn;
+    }
+
+    public void setBufferPool(int bufferPool) {
+        this.bufferPool = bufferPool;
+    }
+
+    public void setBufferPoolSize(int bufferPoolSize) {
+        this.bufferPoolSize = bufferPoolSize;
+    }
+
+    public void setEventCache(int eventCache) {
+        this.eventCache = eventCache;
+    }
+
+    public void setKeyCache(int keyCache) {
+        this.keyCache = keyCache;
+    }
+
+    public void setAppReadBufSize(int appReadBufSize) {
+        this.appReadBufSize = appReadBufSize;
+    }
+
+    public void setAppWriteBufSize(int appWriteBufSize) {
+        this.appWriteBufSize = appWriteBufSize;
+    }
+
+    public void setProcessorCache(int processorCache) {
+        this.processorCache = processorCache;
+    }
+
+    public void setDirectBufferPool(int directBufferPool) {
+        this.bufferPool = directBufferPool;
+    }
+
 }
\ No newline at end of file
index 5844a18..b7ab87f 100644 (file)
@@ -18,6 +18,7 @@ endpoint.accept.fail=Socket accept failed
 endpoint.poll.limitedpollsize=Failed to create poller with specified size of {0}
 endpoint.poll.initfail=Poller creation failed
 endpoint.poll.fail=Critical poller failure (restarting poller): [{0}] {1}
+endpoint.poll.fail=Socket [{0}] poll event: [{1}] {2}
 endpoint.poll.error=Unexpected poller error
 endpoint.process.fail=Error allocating socket processor
 endpoint.sendfile.error=Unexpected sendfile error