DO NOT REPLY [Bug 50177] Heap size or memory issue?

2010-10-29 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=50177

Pid bugzi...@pidster.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||INVALID

--- Comment #1 from Pid bugzi...@pidster.com 2010-10-29 02:34:06 EDT ---
Bugzilla is not a support forum. You may find some assistance on the Tomcat
Users mailing list, if you ask a specific question.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: svn commit: r1028521 - in /tomcat/trunk: java/org/apache/catalina/ java/org/apache/catalina/connector/ java/org/apache/catalina/core/ java/org/apache/tomcat/util/http/mapper/ test/org/apache/tomca

2010-10-29 Thread Tim Funk
Should we add trim()? (in case the user has a new line or spaces after 
the ,)


this.resourceOnlyServlets.add(servletName.trim());


-Tim

Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=1028521r1=1028520r2=1028521view=diff

==
--- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Thu 
Oct 28 22:29:25 2010


On 10/28/2010 6:29 PM, ma...@apache.org wrote:

+@Override
+public void setResourceOnlyServlets(String resourceOnlyServlets) {
+this.resourceOnlyServlets.clear();
+if (resourceOnlyServlets == null ||
+resourceOnlyServlets.length() == 0) {
+return;
+}
+String[] servletNames = resourceOnlyServlets.split(,);
+for (String servletName : servletNames) {
+this.resourceOnlyServlets.add(servletName);
+}
+}


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: svn commit: r1028521 - in /tomcat/trunk: java/org/apache/catalina/ java/org/apache/catalina/connector/ java/org/apache/catalina/core/ java/org/apache/tomcat/util/http/mapper/ test/org/apache/tomca

2010-10-29 Thread Mark Thomas
On 29/10/2010 13:51, Tim Funk wrote:
 Should we add trim()? (in case the user has a new line or spaces after
 the ,)
 
 this.resourceOnlyServlets.add(servletName.trim());

Can't hurt. Go for it.

Mark

 
 
 -Tim
 
 Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
 URL:
 http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=1028521r1=1028520r2=1028521view=diff
 
 ==
 
 --- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
 (original)
 +++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Thu
 Oct 28 22:29:25 2010
 
 On 10/28/2010 6:29 PM, ma...@apache.org wrote:
 +@Override
 +public void setResourceOnlyServlets(String resourceOnlyServlets) {
 +this.resourceOnlyServlets.clear();
 +if (resourceOnlyServlets == null ||
 +resourceOnlyServlets.length() == 0) {
 +return;
 +}
 +String[] servletNames = resourceOnlyServlets.split(,);
 +for (String servletName : servletNames) {
 +this.resourceOnlyServlets.add(servletName);
 +}
 +}
 
 -
 To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
 For additional commands, e-mail: dev-h...@tomcat.apache.org
 


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1028737 - /tomcat/trunk/java/org/apache/catalina/core/StandardContext.java

2010-10-29 Thread funkman
Author: funkman
Date: Fri Oct 29 13:43:30 2010
New Revision: 1028737

URL: http://svn.apache.org/viewvc?rev=1028737view=rev
Log:
for resourceOnlyServlets allow whitespace in the comma
seperated list.


Modified:
tomcat/trunk/java/org/apache/catalina/core/StandardContext.java

Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=1028737r1=1028736r2=1028737view=diff
==
--- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Fri Oct 29 
13:43:30 2010
@@ -826,13 +826,14 @@ public class StandardContext extends Con
 @Override
 public void setResourceOnlyServlets(String resourceOnlyServlets) {
 this.resourceOnlyServlets.clear();
-if (resourceOnlyServlets == null ||
-resourceOnlyServlets.length() == 0) {
+if (resourceOnlyServlets == null) {
 return;
 }
-String[] servletNames = resourceOnlyServlets.split(,);
-for (String servletName : servletNames) {
-this.resourceOnlyServlets.add(servletName);
+for (String servletName : resourceOnlyServlets.split(,)) {
+servletName = servletName.trim();
+if (servletName.length()0) {
+this.resourceOnlyServlets.add(servletName);
+}
 }
 }
 



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1028861 - /tomcat/trunk/java/org/apache/jasper/util/FastRemovalDequeue.java

2010-10-29 Thread rjung
Author: rjung
Date: Fri Oct 29 17:41:05 2010
New Revision: 1028861

URL: http://svn.apache.org/viewvc?rev=1028861view=rev
Log:
Improve Jsp limiter:

- Under high load entries removed from the jspQueue
  were already re-added via moveFirst by some other
  concurrent request, before the JspWrapper was
  unregistered. Add valid field to the Entry
  object to mark as invalid during removal.

- Improve comment about thread-safetyness and add
  comment about the new valid field.

- Add new getSize(). Will be used soon.

- Reorder getters and setters of Entry.

Modified:
tomcat/trunk/java/org/apache/jasper/util/FastRemovalDequeue.java

Modified: tomcat/trunk/java/org/apache/jasper/util/FastRemovalDequeue.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/util/FastRemovalDequeue.java?rev=1028861r1=1028860r2=1028861view=diff
==
--- tomcat/trunk/java/org/apache/jasper/util/FastRemovalDequeue.java (original)
+++ tomcat/trunk/java/org/apache/jasper/util/FastRemovalDequeue.java Fri Oct 29 
17:41:05 2010
@@ -29,6 +29,11 @@ package org.apache.jasper.util;
  * linked list, so that removal of an Entry does not need to search for it but
  * instead can be done in constant time.
  *
+ * The implementation is not thread-safe. Full synchronisation has to be 
provided
+ * externally. Invalidation of Entry objects during removal from the list is 
done
+ * by setting their valid field to false. All public methods which take Entry
+ * objects as arguments are NOP if the entry is no longer valid.
+ *
  * A typical use of the FastRemovalDequeue is a list of entries in sorted 
order,
  * where the sort position of an object will only switch to first or last.
  *
@@ -43,11 +48,25 @@ public class FastRemovalDequeueT {
 private Entry first;
 /** Last element of the queue. */
 private Entry last;
+/** Size of the queue */
+private int size;
 
 /** Initialize empty queue. */
 public FastRemovalDequeue() {
 first = null;
 last = null;
+size = 0;
+}
+
+/**
+ * Retrieve the size of the list.
+ * This method also needs to be externaly synchronized to
+ * ensure correct publication of changes.
+ * 
+ * @return the size of the list.
+ * */
+public int getSize() {
+return size;
 }
 
 /**
@@ -66,6 +85,7 @@ public class FastRemovalDequeueT {
 entry.setNext(first);
 first = entry;
 }
+size++;
 
 return entry;
 }
@@ -86,6 +106,7 @@ public class FastRemovalDequeueT {
 entry.setPrevious(last);
 last = entry;
 }
+size++;
 
 return entry;
 }
@@ -99,10 +120,12 @@ public class FastRemovalDequeueT {
 T content = null;
 if (first != null) {
 content = first.getContent();
+first.setValid(false);
 first = first.getNext();
 if (first != null) {
 first.setPrevious(null);
 }
+size--;
 }
 return content;
 }
@@ -116,10 +139,12 @@ public class FastRemovalDequeueT {
 T content = null;
 if (last != null) {
 content = last.getContent();
+last.setValid(false);
 last = last.getPrevious();
 if (last != null) {
 last.setNext(null);
 }
+size--;
 }
 return content;
 }
@@ -128,6 +153,9 @@ public class FastRemovalDequeueT {
  * Removes any element of the list and returns its content.
  **/
 public void remove(final Entry element) {
+if (!element.getValid()) {
+return;
+}
 Entry next = element.getNext();
 Entry prev = element.getPrevious();
 if (next != null) {
@@ -140,6 +168,7 @@ public class FastRemovalDequeueT {
 } else {
 first = next;
 }
+size--;
 }
 
 /**
@@ -151,7 +180,8 @@ public class FastRemovalDequeueT {
  * @param element the entry to move in front.
  * */
 public void moveFirst(final Entry element) {
-if (element.getPrevious() != null) {
+if (element.getValid() 
+element.getPrevious() != null) {
 Entry prev = element.getPrevious();
 Entry next = element.getNext();
 prev.setNext(next);
@@ -176,7 +206,8 @@ public class FastRemovalDequeueT {
  * @param element the entry to move to the back.
  * */
 public void moveLast(final Entry element) {
-if (element.getNext() != null) {
+if (element.getValid() 
+element.getNext() != null) {
 Entry next = element.getNext();
 Entry prev = element.getPrevious();
 next.setPrevious(prev);
@@ -200,35 +231,45 @@ public class FastRemovalDequeueT {
  */
 public class Entry {
 
+/** Is this entry still valid? */
+

svn commit: r1028862 - /tomcat/trunk/java/org/apache/jasper/servlet/JspServletWrapper.java

2010-10-29 Thread rjung
Author: rjung
Date: Fri Oct 29 17:47:01 2010
New Revision: 1028862

URL: http://svn.apache.org/viewvc?rev=1028862view=rev
Log:
Rearrange placement of JSP limter code in JSP
servlet wrapper. Do everything in one place:

- add to the queue if this is the first time
  and only then check for the size and shrink
  if necessary

- move to the front of the queue otherwise

Move this in front of the actual servlet service.

Modified:
tomcat/trunk/java/org/apache/jasper/servlet/JspServletWrapper.java

Modified: tomcat/trunk/java/org/apache/jasper/servlet/JspServletWrapper.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/servlet/JspServletWrapper.java?rev=1028862r1=1028861r2=1028862view=diff
==
--- tomcat/trunk/java/org/apache/jasper/servlet/JspServletWrapper.java 
(original)
+++ tomcat/trunk/java/org/apache/jasper/servlet/JspServletWrapper.java Fri Oct 
29 17:47:01 2010
@@ -325,10 +325,6 @@ public class JspServletWrapper {
 
 // The following sets reload to true, if necessary
 ctxt.compile();
-
-if (options.getMaxLoadedJsps()  0) {
-ctxt.getRuntimeContext().unloadJsp();
-}
 }
 } else {
 if (compileException != null) {
@@ -375,7 +371,20 @@ public class JspServletWrapper {
 try {
 
 /*
- * (3) Service request
+ * (3) Handle limitation of number of loaded Jsps
+ */
+if (options.getMaxLoadedJsps()  0) {
+synchronized(this) {
+if (ticket == null) {
+ticket = ctxt.getRuntimeContext().push(this);
+ctxt.getRuntimeContext().unloadJsp();
+} else {
+ctxt.getRuntimeContext().makeYoungest(ticket);
+}
+}
+}
+/*
+ * (4) Service request
  */
 if (theServlet instanceof SingleThreadModel) {
// sync on the wrapper so that the freshness
@@ -386,14 +395,6 @@ public class JspServletWrapper {
 } else {
 theServlet.service(request, response);
 }
-if (options.getMaxLoadedJsps()  0) {
-synchronized(this) {
-if (ticket == null)
-ticket = ctxt.getRuntimeContext().push(this);
-else
-ctxt.getRuntimeContext().makeYoungest(ticket);
-}
-}
 } catch (UnavailableException ex) {
 String includeRequestUri = (String)
 request.getAttribute(javax.servlet.include.request_uri);



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1028863 - /tomcat/trunk/java/org/apache/jasper/compiler/JspRuntimeContext.java

2010-10-29 Thread rjung
Author: rjung
Date: Fri Oct 29 17:54:27 2010
New Revision: 1028863

URL: http://svn.apache.org/viewvc?rev=1028863view=rev
Log:
Simplify JSP limiter:

- inline getJspForUnload
  It is only used privately and only in one place
  plus the code gets easier to understand.

- remove compilation interval check from
  background method checkUnload(). Better to run
  on every iteration of the background job.

- Do not check JSP count against the size of
  the wrapper list (jsps). Instead check against
  the queue length.

Modified:
tomcat/trunk/java/org/apache/jasper/compiler/JspRuntimeContext.java

Modified: tomcat/trunk/java/org/apache/jasper/compiler/JspRuntimeContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/JspRuntimeContext.java?rev=1028863r1=1028862r2=1028863view=diff
==
--- tomcat/trunk/java/org/apache/jasper/compiler/JspRuntimeContext.java 
(original)
+++ tomcat/trunk/java/org/apache/jasper/compiler/JspRuntimeContext.java Fri Oct 
29 17:54:27 2010
@@ -500,23 +500,6 @@ public final class JspRuntimeContext {
 return new SecurityHolder(source, permissions);
 }
 
-/** Returns a JspServletWrapper that should be destroyed. Default 
strategy: Least recently used. */
-public JspServletWrapper getJspForUnload(final int maxLoadedJsps) {
-if( jsps.size()  maxLoadedJsps ) {
-synchronized( jsps ) {
-JspServletWrapper oldest;
-synchronized(jspQueue) {
-oldest = jspQueue.pop();
-}
-if (oldest != null) {
-removeWrapper(oldest.getJspUri());
-return oldest;
-}
-}
-}
-return null;
-}
-
 /**
  * Method used by background thread to check if any JSP's should be 
destroyed.
  * If JSP's to be unloaded are found, they will be destroyed.
@@ -524,10 +507,7 @@ public final class JspRuntimeContext {
  */
 public void checkUnload() {
 if (options.getMaxLoadedJsps()  0) {
-long now = System.currentTimeMillis();
-if (now  (lastCheck + (options.getCheckInterval() * 1000L))) {
-while (unloadJsp());
-}
+while (unloadJsp()) {}
 }
 }
 
@@ -535,8 +515,14 @@ public final class JspRuntimeContext {
  * Checks whether there is a jsp to unload, if one is found, it is 
destroyed. 
  * */
 public boolean unloadJsp() {
-JspServletWrapper jsw = getJspForUnload(options.getMaxLoadedJsps());
-if( null != jsw ) {
+JspServletWrapper jsw = null;
+synchronized(jspQueue) {
+if(jspQueue.getSize()  options.getMaxLoadedJsps()) {
+jsw = jspQueue.pop();
+}
+}
+if (jsw != null) {
+removeWrapper(jsw.getJspUri());
 synchronized(jsw) {
 jsw.destroy();
 return true;



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



DO NOT REPLY [Bug 50182] New: Contributing back enhancements to CompressionFilter

2010-10-29 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=50182

   Summary: Contributing back enhancements to CompressionFilter
   Product: Tomcat 6
   Version: unspecified
  Platform: All
OS/Version: All
Status: NEW
  Severity: enhancement
  Priority: P2
 Component: Examples
AssignedTo: dev@tomcat.apache.org
ReportedBy: da...@sogeeky.net


Created an attachment (id=26227)
 -- (https://issues.apache.org/bugzilla/attachment.cgi?id=26227)
Source code and example web.xml

Years ago I contributed an enhancement to convert the SSIServlet into a filter
(java/org/apache/catalina/ssi/SSIFilter.java).  Now I'm back to offer up some
enhancements to the CompressionFilter example
(webapps/examples/WEB-INF/classes/compressionFilters).

I've found (as have others) that the connector compression is flaky and
unreliable, so I turned to the CompressionFilter example, but found it to be
badly lacking in functionality.  No doubt owing to its status as an example
project.  I've made a bunch of enhancements to it and I feel it's worth of
being moved out of examples now.  You may even want to deprecate the connector
compression in favor of this - or at least roll the two together.  In my own
webapp (and the attached zip) I've renamed it to GZipFilter and it lives in my
own internal package structure, but please move it back into an org.apache
package structure and rename it as you see fit.

The enhancements I've made are:
* It now supports specifying which mime types are compressible.
* It now supports a variable sized buffer, which can be used to avoid chunking
on small files.
* The compression threshold and all other settings are configurable in web.xml.
* Miscellaneous bug fixes.

If you adopt these enhancements, please credit David Becker with no email, same
as on the SSIServlet.

Enjoy!

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



DO NOT REPLY [Bug 50182] Contributing back enhancements to CompressionFilter

2010-10-29 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=50182

David Becker da...@sogeeky.net changed:

   What|Removed |Added

 CC||da...@sogeeky.net

--- Comment #1 from David Becker da...@sogeeky.net 2010-10-29 15:47:26 EDT ---
For records on my previous SSIFilter see:
https://issues.apache.org/bugzilla/show_bug.cgi?id=33106

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



DO NOT REPLY [Bug 50183] New: [Tribes] Bio Sender is not scheduling the task to the excecutors

2010-10-29 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=50183

   Summary: [Tribes] Bio Sender is not scheduling the task to the
excecutors
   Product: Tomcat 7
   Version: trunk
  Platform: PC
OS/Version: Linux
Status: NEW
  Severity: normal
  Priority: P2
 Component: Cluster
AssignedTo: dev@tomcat.apache.org
ReportedBy: arieland...@hotmail.com


Created an attachment (id=26228)
 -- (https://issues.apache.org/bugzilla/attachment.cgi?id=26228)
proposed patch

Hi,

I'm using apache tribes outside of Tomcat.
Although my version is not the latest one, the bug also occurs in Trunk.

It seems that there was a refactor (using executors instead of threads and
monitors) and BioReceiver is not scheduling the task.

(I think that the patch is much more descriptive than any comment I could
write)

Regards,
Ariel

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



DO NOT REPLY [Bug 50184] New: RpcChannel sends the answer without requesting an ACK

2010-10-29 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=50184

   Summary: RpcChannel sends the answer without requesting an ACK
   Product: Tomcat 7
   Version: trunk
  Platform: PC
OS/Version: Solaris
Status: NEW
  Severity: normal
  Priority: P2
 Component: Cluster
AssignedTo: dev@tomcat.apache.org
ReportedBy: arieland...@hotmail.com


Created an attachment (id=26229)
 -- (https://issues.apache.org/bugzilla/attachment.cgi?id=26229)
proposed patch

Hi,

I'm using apache tribes outside of Tomcat.
Although my version is not the latest one, this also applies to trunk.

I have a customer that was using Bio senders (a version before to the
excecutors refactor see bug 50183), and there were experiencing some weird
behavior. (I couldn't reproduce it, but I guess it is related with the platform
since they are using solaris)

My application uses tribes to create an RPC channel. They also had some network
issues.
So, in certain occasions, the application invoked a remote method, the remote
node processed the invocation and send the answer back (but it is not received
in the first node).
So, the timeout occurs and eventually a new RPC invocation occurs. But this
time, the second node realized that there is a socket issue when trying to send
the answer back (it gets a broken pipe exception). Them the connection is
re-established and the message is received without any issues.

My customer is complaining about the timeout that occurred the first time.

To send the message we do the following:
BioSender.pushMessage(.) {
...
soOut.write(data);
soOut.flush();
...
}
But the flush operation does not warranty that the message was successfully
sent to the network. It just warranty that the information was passed to the
S.O. 
http://download.oracle.com/javase/6/docs/api/java/io/OutputStream.html#flush()

So, in order to avoid this issue I thought that we can modify the RpcChannel to
send the reply message using SEND_OPTIONS_USE_ACK option.
Setting this, the remote node will be able to detect situations like the one I
commented, and recreate the connection.

I'm attaching a patch with my proposal.


Thanks for your time.

Regards,
Ariel

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



DO NOT REPLY [Bug 50185] New: [tribes] Logging improvement

2010-10-29 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=50185

   Summary: [tribes] Logging improvement
   Product: Tomcat 7
   Version: trunk
  Platform: PC
OS/Version: Linux
Status: NEW
  Severity: enhancement
  Priority: P2
 Component: Cluster
AssignedTo: dev@tomcat.apache.org
ReportedBy: arieland...@hotmail.com


Created an attachment (id=26230)
 -- (https://issues.apache.org/bugzilla/attachment.cgi?id=26230)
proposed patch

Hi,

Analyzing some apache tribes logs, I needed a few log items more.
It would be great if you can include them in trunk.

Attaching patch.


Regards,
Ariel

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Tomcat JDBC Pool and common-dbcp extra parameters

2010-10-29 Thread Henri Gomez
Tomcat documentation about JDBC/Datasource
(http://tomcat.apache.org/tomcat-6.0-doc/jndi-resources-howto.html)
give various attributes for Datasource Factory like maxActive or
maxWait.

tomcat-dbcp is a copy of common-dbcp 1.3 and its documentation,
http://commons.apache.org/dbcp/configuration.html, indicate many
others parameters like :

- initialSize
- validationQuery
- minEvictableIdleTimeMillis



Could they be used also in Resource definition ?

ie :

Resource name=jdbc/EmployeeDB
auth=Container
type=javax.sql.DataSource
username=dbusername
password=dbpassword
driverClassName=org.hsql.jdbcDriver
url=jdbc:HypersonicSQL:database
minEvictableIdleTimeMillis=1500
initialSize=2
maxActive=8
maxIdle=4/

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1028935 - in /tomcat/trunk/java/org/apache/jasper: compiler/JspRuntimeContext.java servlet/JspServletWrapper.java util/FastRemovalDequeue.java

2010-10-29 Thread rjung
Author: rjung
Date: Fri Oct 29 22:44:52 2010
New Revision: 1028935

URL: http://svn.apache.org/viewvc?rev=1028935view=rev
Log:
Changes to FastRemovalDequeue:
- Make queue thread safe and remove external synchronisation
- Provide maximal size to queue
- Include size checking when adding entries
- Return handle to displaced entries when queue overflows
  while adding a new entry
- Explicitely invalidate queue entries on removal by using
  new field valid

Changes to JspRuntimeContext:
- Initialize FastRemovalDequeue with correct size
- No more external synchronisation for FastRemovalDequeue
- Private utility method to unload a wrapper
- Check for displaced wrapper when adding a new wrapper
  to the queue and unload it

Changes to JspServletWrapper:
- No more explicit overflow check for the queue. It's now
  done implicitely when adding to the queue.

Modified:
tomcat/trunk/java/org/apache/jasper/compiler/JspRuntimeContext.java
tomcat/trunk/java/org/apache/jasper/servlet/JspServletWrapper.java
tomcat/trunk/java/org/apache/jasper/util/FastRemovalDequeue.java

Modified: tomcat/trunk/java/org/apache/jasper/compiler/JspRuntimeContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/JspRuntimeContext.java?rev=1028935r1=1028934r2=1028935view=diff
==
--- tomcat/trunk/java/org/apache/jasper/compiler/JspRuntimeContext.java 
(original)
+++ tomcat/trunk/java/org/apache/jasper/compiler/JspRuntimeContext.java Fri Oct 
29 22:44:52 2010
@@ -155,6 +155,11 @@ public final class JspRuntimeContext {
  options.getCheckInterval()  0) {
 lastCheck = System.currentTimeMillis();
 }
+
+if (options.getMaxLoadedJsps()  0) {
+jspQueue = new 
FastRemovalDequeueJspServletWrapper(options.getMaxLoadedJsps());
+}
+
 }
 
 // - Instance Variables
@@ -178,7 +183,7 @@ public final class JspRuntimeContext {
 /**
  * Keeps JSP pages ordered by last access. 
  */
-private FastRemovalDequeueJspServletWrapper jspQueue = new 
FastRemovalDequeueJspServletWrapper();
+private FastRemovalDequeueJspServletWrapper jspQueue = null;
 
 // -- Public Methods
 
@@ -213,15 +218,18 @@ public final class JspRuntimeContext {
 
 /**
  * Push a newly compiled JspServletWrapper into the queue at first
- * execution of jsp.
+ * execution of jsp. Destroy any JSP the has been replaced in the queue.
  *
  * @param jsw Servlet wrapper for jsp.
  * @return a ticket that can be pushed to front of queue at later 
execution times.
  * */
 public FastRemovalDequeueJspServletWrapper.Entry push(JspServletWrapper 
jsw) {
-synchronized (jspQueue) {
-return jspQueue.push(jsw);
+FastRemovalDequeueJspServletWrapper.Entry entry = jspQueue.push(jsw);
+JspServletWrapper replaced = entry.getReplaced();
+if (replaced != null) {
+unloadJspServletWrapper(replaced);
 }
+return entry;
 }
 
 /**
@@ -230,9 +238,7 @@ public final class JspRuntimeContext {
  * @param ticket the ticket for the jsp.
  * */
 public void makeYoungest(FastRemovalDequeueJspServletWrapper.Entry 
ticket) {
-synchronized(jspQueue) {
-jspQueue.moveFirst(ticket);
-}
+jspQueue.moveFirst(ticket);
 }
 
 /**
@@ -500,6 +506,13 @@ public final class JspRuntimeContext {
 return new SecurityHolder(source, permissions);
 }
 
+private void unloadJspServletWrapper(JspServletWrapper jsw) {
+removeWrapper(jsw.getJspUri());
+synchronized(jsw) {
+jsw.destroy();
+}
+}
+
 /**
  * Method used by background thread to check if any JSP's should be 
destroyed.
  * If JSP's to be unloaded are found, they will be destroyed.
@@ -522,11 +535,8 @@ public final class JspRuntimeContext {
 }
 }
 if (jsw != null) {
-removeWrapper(jsw.getJspUri());
-synchronized(jsw) {
-jsw.destroy();
-return true;
-}
+unloadJspServletWrapper(jsw);
+return true;
 }
 return false;
 }

Modified: tomcat/trunk/java/org/apache/jasper/servlet/JspServletWrapper.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/servlet/JspServletWrapper.java?rev=1028935r1=1028934r2=1028935view=diff
==
--- tomcat/trunk/java/org/apache/jasper/servlet/JspServletWrapper.java 
(original)
+++ tomcat/trunk/java/org/apache/jasper/servlet/JspServletWrapper.java Fri Oct 
29 22:44:52 2010
@@ -377,7 +377,6 @@ public class JspServletWrapper {
 

svn commit: r1028939 - in /tomcat/trunk/java/org/apache/jasper: compiler/JspRuntimeContext.java servlet/JspServletWrapper.java

2010-10-29 Thread rjung
Author: rjung
Date: Fri Oct 29 23:08:59 2010
New Revision: 1028939

URL: http://svn.apache.org/viewvc?rev=1028939view=rev
Log:
We will no longer continuously update the jspQueue
order. Instead only update each JSP once between
background task runs.

Changes to JspRuntimeContext:
- Rename ticket to unloadHandle
- Rename lastCheck to lastCompileCheck to clarify purpose
- Add lastJspQueueUpdate which contains the time of
  the last run of checkUnload()
- Add getter for lastJspQueueUpdate
- Background task checkUnload() now only tracks the time
  of its last execution.

Changes to JspServletWrapper:
- Rename ticket to unloadHandle
- Replace options.getMaxLoadedJsps() with final field unloadByCount
- Do no longer move wrapper in jspQueue on each access.
  Only move once after each run of the background task checkUnload().

Modified:
tomcat/trunk/java/org/apache/jasper/compiler/JspRuntimeContext.java
tomcat/trunk/java/org/apache/jasper/servlet/JspServletWrapper.java

Modified: tomcat/trunk/java/org/apache/jasper/compiler/JspRuntimeContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/JspRuntimeContext.java?rev=1028939r1=1028938r2=1028939view=diff
==
--- tomcat/trunk/java/org/apache/jasper/compiler/JspRuntimeContext.java 
(original)
+++ tomcat/trunk/java/org/apache/jasper/compiler/JspRuntimeContext.java Fri Oct 
29 23:08:59 2010
@@ -153,7 +153,7 @@ public final class JspRuntimeContext {
 if (!options.getDevelopment()
  appBase != null
  options.getCheckInterval()  0) {
-lastCheck = System.currentTimeMillis();
+lastCompileCheck = System.currentTimeMillis();
 }
 
 if (options.getMaxLoadedJsps()  0) {
@@ -173,7 +173,8 @@ public final class JspRuntimeContext {
 private final PermissionCollection permissionCollection;
 private final CodeSource codeSource;
 private final String classpath;
-private volatile long lastCheck = -1L;
+private volatile long lastCompileCheck = -1L;
+private volatile long lastJspQueueUpdate = System.currentTimeMillis();
 
 /**
  * Maps JSP pages to their JspServletWrapper's
@@ -221,7 +222,7 @@ public final class JspRuntimeContext {
  * execution of jsp. Destroy any JSP the has been replaced in the queue.
  *
  * @param jsw Servlet wrapper for jsp.
- * @return a ticket that can be pushed to front of queue at later 
execution times.
+ * @return an unloadHandle that can be pushed to front of queue at later 
execution times.
  * */
 public FastRemovalDequeueJspServletWrapper.Entry push(JspServletWrapper 
jsw) {
 FastRemovalDequeueJspServletWrapper.Entry entry = jspQueue.push(jsw);
@@ -233,12 +234,12 @@ public final class JspRuntimeContext {
 }
 
 /**
- * Push ticket for JspServletWrapper to front of the queue.
+ * Push unloadHandle for JspServletWrapper to front of the queue.
  *
- * @param ticket the ticket for the jsp.
+ * @param unloadHandle the unloadHandle for the jsp.
  * */
-public void makeYoungest(FastRemovalDequeueJspServletWrapper.Entry 
ticket) {
-jspQueue.moveFirst(ticket);
+public void makeYoungest(FastRemovalDequeueJspServletWrapper.Entry 
unloadHandle) {
+jspQueue.moveFirst(unloadHandle);
 }
 
 /**
@@ -322,13 +323,13 @@ public final class JspRuntimeContext {
  */
 public void checkCompile() {
 
-if (lastCheck  0) {
+if (lastCompileCheck  0) {
 // Checking was disabled
 return;
 }
 long now = System.currentTimeMillis();
-if (now  (lastCheck + (options.getCheckInterval() * 1000L))) {
-lastCheck = now;
+if (now  (lastCompileCheck + (options.getCheckInterval() * 1000L))) {
+lastCompileCheck = now;
 } else {
 return;
 }
@@ -361,6 +362,13 @@ public final class JspRuntimeContext {
 return classpath;
 }
 
+/**
+ * Last time the update background task has run
+ */
+public long getLastJspQueueUpdate() {
+return lastJspQueueUpdate;
+}
+
 
 //  Private Methods
 
@@ -513,31 +521,12 @@ public final class JspRuntimeContext {
 }
 }
 
+
 /**
- * Method used by background thread to check if any JSP's should be 
destroyed.
- * If JSP's to be unloaded are found, they will be destroyed.
- * Uses the lastCheck time from background compiler to determine if it is 
time to unload JSP's.
+ * Method used by background thread to check if any JSP's should be 
unloaded.
  */
 public void checkUnload() {
-if (options.getMaxLoadedJsps()  0) {
-while (unloadJsp()) {}
-}
-}
-
-/**
- * Checks whether there 

RE: Tomcat JDBC Pool and common-dbcp extra parameters

2010-10-29 Thread Caldarale, Charles R
 From: Henri Gomez [mailto:henri.go...@gmail.com] 
 Subject: Tomcat JDBC Pool and common-dbcp extra parameters

 tomcat-dbcp is a copy of common-dbcp 1.3 and its documentation,
 http://commons.apache.org/dbcp/configuration.html, indicate many
 others parameters

 Could they be used also in Resource definition ?

That's what the Tomcat doc explicitly states:

See the DBCP documentation for a complete list of configuration parameters.

http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html#Database_Connection_Pool_(DBCP)_Configurations

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1028940 - in /tomcat/trunk/java/org/apache/jasper: EmbeddedServletOptions.java JspC.java Options.java compiler/JspRuntimeContext.java resources/LocalStrings.properties servlet/JspServletW

2010-10-29 Thread rjung
Author: rjung
Date: Fri Oct 29 23:22:35 2010
New Revision: 1028940

URL: http://svn.apache.org/viewvc?rev=1028940view=rev
Log:
Add new JSP init parameter jspIdleTimeout.

If set  0 (default -1), a background task
will unload all JSPs being idle longer than this
time in seconds.

Modified:
tomcat/trunk/java/org/apache/jasper/EmbeddedServletOptions.java
tomcat/trunk/java/org/apache/jasper/JspC.java
tomcat/trunk/java/org/apache/jasper/Options.java
tomcat/trunk/java/org/apache/jasper/compiler/JspRuntimeContext.java
tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties
tomcat/trunk/java/org/apache/jasper/servlet/JspServletWrapper.java

Modified: tomcat/trunk/java/org/apache/jasper/EmbeddedServletOptions.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/EmbeddedServletOptions.java?rev=1028940r1=1028939r2=1028940view=diff
==
--- tomcat/trunk/java/org/apache/jasper/EmbeddedServletOptions.java (original)
+++ tomcat/trunk/java/org/apache/jasper/EmbeddedServletOptions.java Fri Oct 29 
23:22:35 2010
@@ -189,11 +189,17 @@ public final class EmbeddedServletOption
 
 
 /**
- * The maxim number of loaded jsps per web-application. If there are more
+ * The maximum number of loaded jsps per web-application. If there are more
  * jsps loaded, they will be unloaded.
  */
 private int maxLoadedJsps = -1;
 
+/**
+ * The idle time after which a JSP is unloaded.
+ * If unset or less or equal than 0, no jsps are unloaded.
+ */
+private int jspIdleTimeout = -1;
+
 public String getProperty(String name ) {
 return settings.getProperty( name );
 }
@@ -391,14 +397,22 @@ public final class EmbeddedServletOption
 }
 
 /**
- * Should any jsps be unloaded? If set to a value greater than 0 eviction 
of jsps
- * is started. Default: -1
- * */
+ * Should jsps be unloaded if to many are loaded?
+ * If set to a value greater than 0 eviction of jsps is started. Default: 
-1
+ */
 public int getMaxLoadedJsps() {
 return maxLoadedJsps;
 }
 
 /**
+ * Should any jsps be unloaded when being idle for to long?
+ * If set to a value greater than 0 eviction of jsps is started. Default: 
-1
+ */
+public int getJspIdleTimeout() {
+return jspIdleTimeout;
+}
+
+/**
  * Create an EmbeddedServletOptions object using data available from
  * ServletConfig and ServletContext. 
  */
@@ -689,6 +703,17 @@ public final class EmbeddedServletOption
 }
 }
 }
+
+String jspIdleTimeout = config.getInitParameter(jspIdleTimeout);
+if (jspIdleTimeout != null) {
+try {
+this.jspIdleTimeout = Integer.parseInt(jspIdleTimeout);
+} catch(NumberFormatException ex) {
+if (log.isWarnEnabled()) {
+
log.warn(Localizer.getMessage(jsp.warning.jspIdleTimeout, 
+this.jspIdleTimeout));
+}
+}
+}
 
 // Setup the global Tag Libraries location cache for this
 // web-application.

Modified: tomcat/trunk/java/org/apache/jasper/JspC.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/JspC.java?rev=1028940r1=1028939r2=1028940view=diff
==
--- tomcat/trunk/java/org/apache/jasper/JspC.java (original)
+++ tomcat/trunk/java/org/apache/jasper/JspC.java Fri Oct 29 23:22:35 2010
@@ -447,6 +447,10 @@ public class JspC implements Options {
 return -1;
 }
 
+public int getJspIdleTimeout() {
+return -1;
+}
+
 /**
  * {...@inheritdoc}
  */

Modified: tomcat/trunk/java/org/apache/jasper/Options.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/Options.java?rev=1028940r1=1028939r2=1028940view=diff
==
--- tomcat/trunk/java/org/apache/jasper/Options.java (original)
+++ tomcat/trunk/java/org/apache/jasper/Options.java Fri Oct 29 23:22:35 2010
@@ -222,9 +222,15 @@ public interface Options {
 public MapString, TagLibraryInfo getCache();
 
 /**
- * The maxim number of loaded jsps per web-application. If there are more
+ * The maximum number of loaded jsps per web-application. If there are more
  * jsps loaded, they will be unloaded. If unset or less than 0, no jsps
  * are unloaded.
  */
 public int getMaxLoadedJsps();
+
+/**
+ * The idle time after which a JSP is unloaded.
+ * If unset or less or equal than 0, no jsps are unloaded.
+ */
+public int getJspIdleTimeout();
 }

Modified: tomcat/trunk/java/org/apache/jasper/compiler/JspRuntimeContext.java
URL: 

svn commit: r1028944 - in /tomcat/trunk: conf/web.xml webapps/docs/changelog.xml webapps/docs/jasper-howto.xml

2010-10-29 Thread rjung
Author: rjung
Date: Fri Oct 29 23:34:37 2010
New Revision: 1028944

URL: http://svn.apache.org/viewvc?rev=1028944view=rev
Log:
Document jspIdleTimeout.

Modified:
tomcat/trunk/conf/web.xml
tomcat/trunk/webapps/docs/changelog.xml
tomcat/trunk/webapps/docs/jasper-howto.xml

Modified: tomcat/trunk/conf/web.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/conf/web.xml?rev=1028944r1=1028943r2=1028944view=diff
==
--- tomcat/trunk/conf/web.xml (original)
+++ tomcat/trunk/conf/web.xml Fri Oct 29 23:34:37 2010
@@ -193,6 +193,10 @@
   !--   this limit. A value of zero or less indicates  --
   !--   no limit. [-1] --
   !--  --
+  !--   jspIdleTimeout  The amount of time in seconds a JSP can be --
+  !--   idle before it is unloaded. A value of zero--
+  !--   or less indicates never unload. [-1]   --
+  !--  --
   !--   modificationTestInterval   --
   !--   Causes a JSP (and its dependent files) to not  --
   !--   be checked for modification during the --

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1028944r1=1028943r2=1028944view=diff
==
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Fri Oct 29 23:34:37 2010
@@ -101,6 +101,14 @@
 codeEnum.name()/code rather than codeEnum.toString()/code as
 required by the EL specification. (markt)
   /fix
+  fix
+Fix minor thread-safety and performance issues in the implementation
+of codemaxLoadedJsps/code. (rjung)
+  /fix
+  add
+Add support for unloading JSPs that have not been requested for a
+long time using the new parameter codejspIdleTimeout/code. (rjung)
+  /add
 /changelog
   /subsection
   subsection name=Cluster

Modified: tomcat/trunk/webapps/docs/jasper-howto.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/jasper-howto.xml?rev=1028944r1=1028943r2=1028944view=diff
==
--- tomcat/trunk/webapps/docs/jasper-howto.xml (original)
+++ tomcat/trunk/webapps/docs/jasper-howto.xml Fri Oct 29 23:34:37 2010
@@ -163,6 +163,10 @@ least recently used JSPs will be unloade
 any one time does not exceed this limit. A value of zero or less indicates no
 limit. Default code-1/code/li
 
+listrongjspIdleTimeout/strong - The amount of time in seconds a JSP can 
be
+idle before it is unloaded. A value of zero or less indicates never unload.
+Default code-1/code/li
+
 listrongmodificationTestInterval/strong - Causes a JSP (and its dependent
 files) to not be checked for modification during the specified time interval
 (in seconds) from the last time the JSP was checked for modification. A value 
of



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: svn commit: r1028940 - in /tomcat/trunk/java/org/apache/jasper: EmbeddedServletOptions.java JspC.java Options.java compiler/JspRuntimeContext.java resources/LocalStrings.properties servlet/JspServ

2010-10-29 Thread David Jencks
Would you consider putting the time unit (seconds) in the param name or at 
least in _all_ the javadoc?  Without documentation I would expect the natural 
time unit to be minutes.

thanks
david jencks

On Oct 29, 2010, at 4:22 PM, rj...@apache.org wrote:

 Author: rjung
 Date: Fri Oct 29 23:22:35 2010
 New Revision: 1028940
 
 URL: http://svn.apache.org/viewvc?rev=1028940view=rev
 Log:
 Add new JSP init parameter jspIdleTimeout.
 
 If set  0 (default -1), a background task
 will unload all JSPs being idle longer than this
 time in seconds.
 
 Modified:
tomcat/trunk/java/org/apache/jasper/EmbeddedServletOptions.java
tomcat/trunk/java/org/apache/jasper/JspC.java
tomcat/trunk/java/org/apache/jasper/Options.java
tomcat/trunk/java/org/apache/jasper/compiler/JspRuntimeContext.java
tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties
tomcat/trunk/java/org/apache/jasper/servlet/JspServletWrapper.java
 
 Modified: tomcat/trunk/java/org/apache/jasper/EmbeddedServletOptions.java
 URL: 
 http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/EmbeddedServletOptions.java?rev=1028940r1=1028939r2=1028940view=diff
 ==
 --- tomcat/trunk/java/org/apache/jasper/EmbeddedServletOptions.java (original)
 +++ tomcat/trunk/java/org/apache/jasper/EmbeddedServletOptions.java Fri Oct 
 29 23:22:35 2010
 @@ -189,11 +189,17 @@ public final class EmbeddedServletOption
 
 
 /**
 - * The maxim number of loaded jsps per web-application. If there are more
 + * The maximum number of loaded jsps per web-application. If there are 
 more
  * jsps loaded, they will be unloaded.
  */
 private int maxLoadedJsps = -1;
 
 +/**
 + * The idle time after which a JSP is unloaded.
 + * If unset or less or equal than 0, no jsps are unloaded.
 + */
 +private int jspIdleTimeout = -1;
 +
 public String getProperty(String name ) {
 return settings.getProperty( name );
 }
 @@ -391,14 +397,22 @@ public final class EmbeddedServletOption
 }
 
 /**
 - * Should any jsps be unloaded? If set to a value greater than 0 
 eviction of jsps
 - * is started. Default: -1
 - * */
 + * Should jsps be unloaded if to many are loaded?
 + * If set to a value greater than 0 eviction of jsps is started. 
 Default: -1
 + */
 public int getMaxLoadedJsps() {
 return maxLoadedJsps;
 }
 
 /**
 + * Should any jsps be unloaded when being idle for to long?
 + * If set to a value greater than 0 eviction of jsps is started. 
 Default: -1
 + */
 +public int getJspIdleTimeout() {
 +return jspIdleTimeout;
 +}
 +
 +/**
  * Create an EmbeddedServletOptions object using data available from
  * ServletConfig and ServletContext. 
  */
 @@ -689,6 +703,17 @@ public final class EmbeddedServletOption
 }
 }
 }
 +
 +String jspIdleTimeout = config.getInitParameter(jspIdleTimeout);
 +if (jspIdleTimeout != null) {
 +try {
 +this.jspIdleTimeout = Integer.parseInt(jspIdleTimeout);
 +} catch(NumberFormatException ex) {
 +if (log.isWarnEnabled()) {
 +
 log.warn(Localizer.getMessage(jsp.warning.jspIdleTimeout, 
 +this.jspIdleTimeout));
 +}
 +}
 +}
 
 // Setup the global Tag Libraries location cache for this
 // web-application.
 
 Modified: tomcat/trunk/java/org/apache/jasper/JspC.java
 URL: 
 http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/JspC.java?rev=1028940r1=1028939r2=1028940view=diff
 ==
 --- tomcat/trunk/java/org/apache/jasper/JspC.java (original)
 +++ tomcat/trunk/java/org/apache/jasper/JspC.java Fri Oct 29 23:22:35 2010
 @@ -447,6 +447,10 @@ public class JspC implements Options {
 return -1;
 }
 
 +public int getJspIdleTimeout() {
 +return -1;
 +}
 +
 /**
  * {...@inheritdoc}
  */
 
 Modified: tomcat/trunk/java/org/apache/jasper/Options.java
 URL: 
 http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/Options.java?rev=1028940r1=1028939r2=1028940view=diff
 ==
 --- tomcat/trunk/java/org/apache/jasper/Options.java (original)
 +++ tomcat/trunk/java/org/apache/jasper/Options.java Fri Oct 29 23:22:35 2010
 @@ -222,9 +222,15 @@ public interface Options {
 public MapString, TagLibraryInfo getCache();
 
 /**
 - * The maxim number of loaded jsps per web-application. If there are more
 + * The maximum number of loaded jsps per web-application. If there are 
 more
  * jsps loaded, they will be unloaded. If unset or less than 0, no jsps
  * are unloaded.
  */
 public int getMaxLoadedJsps();
 +
 +

svn commit: r1028950 - in /tomcat/trunk/java/org/apache/jasper: EmbeddedServletOptions.java Options.java compiler/JspRuntimeContext.java

2010-10-29 Thread rjung
Author: rjung
Date: Fri Oct 29 23:53:15 2010
New Revision: 1028950

URL: http://svn.apache.org/viewvc?rev=1028950view=rev
Log:
Make sure, we mention the unit seconds for
jspIdleTimeout everywhere.

Modified:
tomcat/trunk/java/org/apache/jasper/EmbeddedServletOptions.java
tomcat/trunk/java/org/apache/jasper/Options.java
tomcat/trunk/java/org/apache/jasper/compiler/JspRuntimeContext.java

Modified: tomcat/trunk/java/org/apache/jasper/EmbeddedServletOptions.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/EmbeddedServletOptions.java?rev=1028950r1=1028949r2=1028950view=diff
==
--- tomcat/trunk/java/org/apache/jasper/EmbeddedServletOptions.java (original)
+++ tomcat/trunk/java/org/apache/jasper/EmbeddedServletOptions.java Fri Oct 29 
23:53:15 2010
@@ -195,7 +195,7 @@ public final class EmbeddedServletOption
 private int maxLoadedJsps = -1;
 
 /**
- * The idle time after which a JSP is unloaded.
+ * The idle time in seconds after which a JSP is unloaded.
  * If unset or less or equal than 0, no jsps are unloaded.
  */
 private int jspIdleTimeout = -1;
@@ -405,7 +405,7 @@ public final class EmbeddedServletOption
 }
 
 /**
- * Should any jsps be unloaded when being idle for to long?
+ * Should any jsps be unloaded when being idle for this time in seconds?
  * If set to a value greater than 0 eviction of jsps is started. Default: 
-1
  */
 public int getJspIdleTimeout() {

Modified: tomcat/trunk/java/org/apache/jasper/Options.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/Options.java?rev=1028950r1=1028949r2=1028950view=diff
==
--- tomcat/trunk/java/org/apache/jasper/Options.java (original)
+++ tomcat/trunk/java/org/apache/jasper/Options.java Fri Oct 29 23:53:15 2010
@@ -229,7 +229,7 @@ public interface Options {
 public int getMaxLoadedJsps();
 
 /**
- * The idle time after which a JSP is unloaded.
+ * The idle time in seconds after which a JSP is unloaded.
  * If unset or less or equal than 0, no jsps are unloaded.
  */
 public int getJspIdleTimeout();

Modified: tomcat/trunk/java/org/apache/jasper/compiler/JspRuntimeContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/JspRuntimeContext.java?rev=1028950r1=1028949r2=1028950view=diff
==
--- tomcat/trunk/java/org/apache/jasper/compiler/JspRuntimeContext.java 
(original)
+++ tomcat/trunk/java/org/apache/jasper/compiler/JspRuntimeContext.java Fri Oct 
29 23:53:15 2010
@@ -160,6 +160,7 @@ public final class JspRuntimeContext {
 jspQueue = new 
FastRemovalDequeueJspServletWrapper(options.getMaxLoadedJsps());
 }
 
+/* Init parameter is in seconds, locally we use milliseconds */
 jspIdleTimeout = options.getJspIdleTimeout() * 1000;
 }
 
@@ -176,6 +177,7 @@ public final class JspRuntimeContext {
 private final String classpath;
 private volatile long lastCompileCheck = -1L;
 private volatile long lastJspQueueUpdate = System.currentTimeMillis();
+/* JSP idle timeout in milliseconds */
 private long jspIdleTimeout;
 
 /**



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: svn commit: r1028940 - in /tomcat/trunk/java/org/apache/jasper: EmbeddedServletOptions.java JspC.java Options.java compiler/JspRuntimeContext.java resources/LocalStrings.properties servlet/JspSer

2010-10-29 Thread Rainer Jung

On 30.10.2010 01:38, David Jencks wrote:

Would you consider putting the time unit (seconds) in the param name or at 
least in_all_  the javadoc?  Without documentation I would expect the natural 
time unit to be minutes.


Done (Javadocs). I didn't want to make the parameter name even longer.

Thanks for reviewing.

Regards,

Rainer

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org