Re: Flushing issue with tomcat from 7.0.39 onwards

2014-03-10 Thread Prashant Kadam
On Fri, Mar 7, 2014 at 6:09 PM, Prashant Kadam prashantkada...@gmail.comwrote:

 Let me start with some history,
 During upgrade to 7.0.52, I was facing the IOException: Stream closed
 error.
 but everything was working fine with old tomcat version 7.0.33 so I
 started looking from which version problem starts and found it started from
 7.0.39.

 The problem is, tomcat is not flushing the response automatically as it
 does previously and thus response.isCommited variable is not being set ( as
 per my understanding after flush, the response is marked committed (first
 flush)). Due to this, tiles (TilesRequestProcessor.doForward) (Struts1)
 tries to forward the request  (instead of include) and try to flush closed
 stream causing stream closed error. Also one observation, it is not
 flushing though buffer is full.

 I have fixed this by manually flushing the response in my code but how
 this flushing problem gets introduced from 7.0.39 ?

 Any pointers on this ?

 --
 ~ Prashant Kadam




-- 
~ Prashant Kadam


Re: Tomcat 7 Session Persistence disable not working as expected

2014-03-10 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Akash,

On 3/10/14, 1:03 AM, Akash Jain wrote:
 As documented in 
 https://tomcat.apache.org/tomcat-5.5-doc/config/manager.html#Disable_Session_Persistence,

 
I added the following code piece to disable session persistence in
 Tomcat 7.
 
 Manager pathname= /
 
 After this change I can see that SESSIONS.ser is not getting
 created as expected, but even after restarting tomcat, the previous
 JSESSIONID is still valid. Why is tomcat not invalidating the
 previous JSESSIONID ?

What makes you think the session is still valid after a restart? Did
you bind an attribute to the session, and you're still seeing it in
there after a restart?

What file did you modify to change the Manager configuration?

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBCAAGBQJTHVd+AAoJEBzwKT+lPKRYxbYP/0Mq6Rub6u25H6jFJbdXQJa+
uEzGmP8f5B/9nMvE3vb3+yS4gJaJB+TGiIO/OaSGKwHC8HgeieX0RNEzi9fMPrBd
cLtq9wZtYR04OqV/NRLEW7hxpCH9d863SkCuT7H7PWZ0+PDK70MpKsUc4z343sGM
daysmp9hA1sERCkVQFTbko8TvBTw3OVeqlELhYno7+s2+AMB10b9dAemMvucZyvG
NtCRByM7f6Ckil3RtBYBT1tcDjt/bKcsFMGip86aFlo5Cy89v1xBwUcx3pCvMFQv
bkGoeMv8Gy/BB7ZYPv38aFQuyGkxpIe6iPLWI78y2ADjnSPQbCABEwQWrkzTeHvB
Wx4GLwrQL6l6mV+IAwZI+Ys0D9WxEcTQO0LuMAG8U5acViwO377PMOsXJvWuOjkd
CmI7jA7ue7kDVnGlqD+XE4rpfu9CHDYtAYpqX30hKWrnyOXja1PBC4o/s3IbhLsu
3eobBs+BPXmoo80HG8CTF7o/yZk8x7Z3QrtQXSAZcHL/8WrwIDc7OrXcR5qh44F1
z70//sCOS2hXdzMkPVqD4N/P8FulwLWZZdE8Ew4l5BSdOQPbtED+6/vjiQ/Xq4K+
/uhgPmV7/Oxd1mN2tvpH+5sjIzWtlDKD0a8MJubQ9uHPCm5DBl9uvqIIpuXSKpXU
nB/AJXx1JAnaMtpJ4SGc
=SBC3
-END PGP SIGNATURE-

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



Re: Tomcat 7 Session Persistence disable not working as expected

2014-03-10 Thread Akash Jain
Christopher,

I have changed in server.xml. Below is the server.xml part -

Context path=
 docBase=ROOT
 sessionCookieName=mycookie
 sessionCookieDomain=myapp.mydomain.com
 sessionCookiePath=/
 useHttpOnly=true
 reloadable=false
WatchedResourceWEB-INF/web.xml/WatchedResource
  Manager pathname= / !-- Disables session
persistence --
/Context

As indicated above, I write JSESSIONID in mycookie cookie. Even after
restart, the JSESSIONID is not getting invalidated. Before and after
restart of apache, I can keep browsing the site with the same JSESSIONID in
cookie.


Re: simple way to access application in multi instance envirnoment

2014-03-10 Thread Daniel Mikusa
On Mar 9, 2014, at 11:05 AM, Neven Cvetkovic neven.cvetko...@gmail.com wrote:

 Ahmed,
 
 On Sun, Mar 9, 2014 at 10:14 AM, Ahmed Dalatony 
 ahmed.dalat...@gmail.comwrote:
 
 hello,
 
 can you help me little more with example or simpler doc
 i'm new to tomcat config
 and i don't understand virtual host
 
 thank you
 
 
 Ultimately, if you don't want to show the port number to the end user, the
 serving process needs to bind to port 80.
 
 You mentioned few Tomcat processes, bound to ports , , , each
 serving few applications.
 
 So, here are few alternatives to achieve what you want:
 
 ALTERNATIVE_0
 - Don't do anything. Each Tomcat instance runs on it's own port number.
 - Doesn't achieve what you want :)
 
 ALTERNATIVE_1
 - Host all applications on a single Tomcat instance. Bind Tomcat to port 80
 (if linux environment remember port 80 is privileged port, so you have to
 configure your Tomcat accordingly.) Register all domains to the same IP
 address.
 - You can use Tomcat virtual hosting to register different domains to
 specific applications.
 - Downside of this approach is that all applications are sharing the same
 JVM (Tomcat) instance. Spike in one application can bring all other
 applications down.
 
 ALTERNATIVE_2
 - Have multiple network interfaces (IP addresses) available. Bind each
 Tomcat instance to one of the IP addresses. Register each domain to its own
 IP address.
 - This approach is better than ALTERNATIVE_1 when it comes to isolation of
 the processes in their own execution environments.
 - This approach utilizes many IP addresses, that are usually scarce and not
 easily justified for numerous applications.
 
 ALTERNATIVE_3
 - Most common approach I've seen around.
 - Similar to approach you are currently taking (ALTERNATIVE_0), with a help
 of external web server that will act as a (reverse) proxy. Typically, I
 would use Apache Httpd server, but you can use other web servers, e.g. IIS
 on Windows platform, or nginx.
 - In this case Apache (or other webserver) would bind to port 80, and based
 on the requested URL (or host) would point to a specific application
 (hosted on specific Tomcat on certain port, e.g. , , , etc...)
 - If you would like to achieve that different hosts point to different
 applications, register all domains with the same IP address in DNS, and
 configure virtual hosting on the web server.

+1 Good explanation

 Thus, if you run multiple instances of Tomcat - alone, virtual hosting will
 not help you , since only one process can bind to a single IP address to
 one port (e.g. port 80). So, either put everything to the same Tomcat
 (yuck”),

Just wanted to point out that there is nothing wrong with this approach.  There 
are cases where it is a good idea.  One example would be when running lots of 
small sites.  There is overhead for running an each JVM and Tomcat instance.  
If you have a large number of small sites, it might makes sense to combine them 
into one or a few Tomcat instances to reduce that overhead.

Dan


 or bind each tomcat to port 80 on separate IP addresses, or have
 an external web server routing requests to your multiple Tomcat instances.
 My preference is the later approach.
 
 Here are some questions you want to answer before choosing the alternative:
 - What is the environment that you run on (windows, linux, etc.)?
 - What are you requirements?
 - How many applications do you have? How many instances do you plan to run,
 on the same machine, on the entire platform?
 - What are the application usage patterns? (how many users do you plan to
 serve, spikes, etc..)
 - What are the service level agreements you have with your customers?
 - etc...
 
 
 Configuring webserver to route requests to Tomcat instances is pretty
 straight forward, and you have a choice of HTTP or AJP protocols and
 depends on the choice of your webserver (Apache HTTPD, IIS, nginx, etc.)
 
 Hope that helps.
 
 Cheers!
 Neven


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



RE: simple way to access application in multi instance envirnoment

2014-03-10 Thread Jeffrey Janner
 -Original Message-
 From: Ahmed Dalatony [mailto:ahmed.dalat...@gmail.com]
 Sent: Sunday, March 09, 2014 2:16 PM
 To: Tomcat Users List
 Subject: Re: simple way to access application in multi instance
 envirnoment
 
 On Sun, Mar 9, 2014 at 7:48 PM, Neven Cvetkovic
 neven.cvetko...@gmail.comwrote:
 
  On Sun, Mar 9, 2014 at 11:29 AM, Ahmed Dalatony
  ahmed.dalat...@gmail.com
  wrote:
 
   On Sun, Mar 9, 2014 at 5:05 PM, Neven Cvetkovic
   neven.cvetko...@gmail.comwrote:
  
Ahmed,
   
On Sun, Mar 9, 2014 at 10:14 AM, Ahmed Dalatony 
   ahmed.dalat...@gmail.com
wrote:
   
 hello,

can you help me little more with example or simpler doc
 i'm new to tomcat config
 and i don't understand virtual host

 thank you
  
  
  What environment do you use?  e.g. Windows, Linux, etc.
  If Linux, what flavour of Linux? e.g. RHEL (CentOS, Fedora), Ubuntu,
 etc.
  What webserver would you like to use? e.g. Apache HTTPD, IIS, nginx,
 etc.
 
  They all have different ways to configure your setup.
 
  - The easier one to setup is to use mod_proxy, check examples here:
  https://tomcat.apache.org/tomcat-7.0-doc/proxy-howto.html
 
  - More common is to use AJP protocol and mod_jk in Apache, check
  examples
  here:
  http://tomcat.apache.org/connectors-doc/generic_howto/quick.html
  http://tomcat.apache.org/connectors-doc/reference/apache.html
 
  Hope that helps.
  n.
 
 
 hello,
 I'm using win server 2008 running a combination of tomcat 6, tomcat 7,
 oc4j 10g on different ports the resources you supplied are very handy
 but they explain accessing http://www.myhost.com:/App1   from
 http://www.myhost.com/App1
 is it applicable to be accessed from URL like this
 http://App1.myhost.com
 
 thanks,
If you really want the last URL style, http://app.mydomain.com/, then you can 
do it with any of the alternatives Neven mentioned, except Alt_0. 
For Alt_1 and Alt_2, once you set up the Host tags, you set up each App as 
the ROOT context.  Hint: It's best to view this as setting up a single host to 
do one app as ROOT, and then just apply it to multiple Hosts.
For Alt_2, you can assign multiple IPs to a single network interface in 
Windows, in case you have a limited number of physical ports.
With your explanation of your current setup, I'd say you'd want either Alt_2 or 
Alt_3.  For Alt_2, it's just reconfiguring your server.xml files to specify the 
address= parameter on the Connector tag, and set the port to 80, with each 
Tomcat getting a unique IP.
Alt_3 can be accomplished without modifying your current Tomcats, or not 
modifying them by much, and offers a little more flexibility, but you have a 
learning curve ahead of you on configuring the Apache HTTPd server 
appropriately.  However, it would give you the option of adding additional 
Tomcats for an app with the httpd server acting as a load balancer if you find 
you need additional capacity for that one app.
Of course, don't forget the DNS mapping of the new hostnames to IP addresses.
I do this all the time in my environment, and actually have servers setup in a 
combined Alt_1  Alt_2 environment. That is, multiple Tomcat instances, some 
dedicated to a specific host, some using virtual hosting, all on the same 
server.
Jeff


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



Re: simple way to access application in multi instance envirnoment

2014-03-10 Thread Neven Cvetkovic
On Mon, Mar 10, 2014 at 9:03 AM, Daniel Mikusa dmik...@gopivotal.comwrote:

 On Mar 9, 2014, at 11:05 AM, Neven Cvetkovic neven.cvetko...@gmail.com
 wrote:
   Thus, if you run multiple instances of Tomcat - alone, virtual hosting
 will
  not help you , since only one process can bind to a single IP address to
  one port (e.g. port 80). So, either put everything to the same Tomcat
  (yuck),

 Just wanted to point out that there is nothing wrong with this approach.
  There are cases where it is a good idea.  One example would be when
 running lots of small sites.  There is overhead for running an each JVM and
 Tomcat instance.  If you have a large number of small sites, it might makes
 sense to combine them into one or a few Tomcat instances to reduce that
 overhead.

 Dan


+1.  Dan, that's a great use case for single instance Tomcat. However, keep
in mind  - in the ideal world, where we have infinite amount of resources
(staff, hardware, electricity, memory, etc...) - you would want each
application on its own Tomcat instance, and we generally make apps coexist
on the same Tomcat instance for optimization purposes (reducing hardware to
manage, reducing staff to support various instances, preserving
electricity, etc...)

Another example that I've seen is to have a single instance, with a single
application - but hosted for various domains, with some dynamic
white-labeling application, e.g. webmail client, mailing list software,
etc...


RE: The Service Component

2014-03-10 Thread Jeffrey Janner
 -Original Message-
 From: Leo Donahue [mailto:donahu...@gmail.com]
 Sent: Friday, March 07, 2014 9:44 AM
 To: users@tomcat.apache.org
 Subject: The Service Component
 
 Who uses more than one Service in their server.xml and why?  I get that
 you can have multiple Connectors if you have multiple Service
 components but why use multiple connectors?
 
 Are there any docs on the use cases for these features?
 

Hi Leo,
I may be the only person on this list who does this consistently.
I use it as an alternative method of virtual hosting, i.e. each host gets its 
own Service and related sub-structure.
The real reason?  The default host has to be set to something, and I don't want 
to maintain some generic host to catch those that come in.  Since I'm running 
an SaaS environment, really more ASP, a business requirement is that each host 
appear to the outside world as a unique physical host, so two customers don't 
get the same IP address. I could add Alias tags for the IP address and all 
know variations of the hostname, but there's nothing to keep some yahoo admin 
at a customer site from configuring a DNS entry on an internal DNS server with 
some name I'm not expecting.  Therefore, each Engine in each Service gets a 
defaultHost entry pointing to its one and only Host entry.
As an added benefit, if I find I need to move a customer from a shared Tomcat 
setup to a unique Tomcat, all I need to do is set up a new blank Tomcat and 
move the Service structure from one Tomcat to another. Naturally, there's 
more work needed if I find I need to give them their own physical server, but 
that's to be expected.  In general, not counting any hardware setup, I can move 
a host to another tomcat instance with  2 minutes downtime.
Jeff 


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



RE: Tomcat7w.exe

2014-03-10 Thread Jeffrey Janner
 -Original Message-
 From: Leo Donahue [mailto:donahu...@gmail.com]
 Sent: Friday, March 07, 2014 11:10 AM
 To: users@tomcat.apache.org
 Subject: Tomcat7w.exe
 
 Did I miss something in the documentation about renaming this if one is
 running multiple windows services of Tomcat?
 
 ex:
 #Prod port 80
 c:\apache-tomcat
 c:\apache-tomcat\apache-tomcat-7.0.52
 service install Tomcat7 (from bin directory here)
 
 #Dev port 8080
 c:\apache-tomcat-dev
 c:\apache-tomcat-dev\apache-tomcat-7.0.52
 service install Tomcat7dev (from bin directory here)
 
 If I run the Tomcat7w.exe from #Dev, all of those settings point to
 #Prod.
 
 Unless I change the name of Tomcat7w.exe in #Dev to Tomcat7devw.exe,
 then everything is fine.
 
 Was that listed in the docs somewhere and I missed it?

Leo, 
If you use the Windows installer that the foundation thoughtfully provides, 
you'll see that the installer actually renames the executables to whatever you 
put in the Windows Service Name field.  So, if you use it to install one 
instance with the service name Prod, then in the bin directory, you will have 
Prod.exe and Prodw.exe.  If you second instance uses the service name Dev, 
then the bin directory will have Dev.exe and Devw.exe.  And when you go to look 
for those processes using Task Manager, or Process Explorer, or whatever tool 
you use, they will actually show up as those names.  No more trying to figure 
out which Tomcat.exe is which.
Jeff


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



CorsFilter denying some same-origin requests.

2014-03-10 Thread Richard Hart
(Tomcat 7.0.50, Linux)

Having recently enabled CORS support for our Tomcat-based web app
using the provided CorsFilter, we have discovered a problem where some
same-origin (i.e. non-CORS) requests from certain browsers (e.g.
Chrome) are denied.  This is due to the browser setting the Origin
header even though the request is non-CORS.  it turns out that this is
in fact legal according to RFC 6454.

Given the popularity of Tomcat and Chrome I was surprised to find
little mention of this problem online.  Has anyone else encountered
this problem?

Our planned solution is to fork CorsFilter and and modify it to allow
requests for which the Origin and Host headers both resolve to the
same IP address.  However, if somebody has already implemented a
solution for this problem could you please let us know..

Thanks
Richard Hart

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



Re: CorsFilter denying some same-origin requests.

2014-03-10 Thread Mark Thomas
On 10/03/2014 14:30, Richard Hart wrote:
 (Tomcat 7.0.50, Linux)
 
 Having recently enabled CORS support for our Tomcat-based web app
 using the provided CorsFilter, we have discovered a problem where some
 same-origin (i.e. non-CORS) requests from certain browsers (e.g.
 Chrome) are denied.  This is due to the browser setting the Origin
 header even though the request is non-CORS.  it turns out that this is
 in fact legal according to RFC 6454.
 
 Given the popularity of Tomcat and Chrome I was surprised to find
 little mention of this problem online.  Has anyone else encountered
 this problem?
 
 Our planned solution is to fork CorsFilter and and modify it to allow
 requests for which the Origin and Host headers both resolve to the
 same IP address.  However, if somebody has already implemented a
 solution for this problem could you please let us know.

If the Origin and Host headers don't match (even if they do resolve to
the same IP address) isn't that a cross-origin request? In which case
isn't the filter doing what it is meant to?

Why isn't setting the cors.allowed.origins init parameter sufficient?

Mark


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



Re: The Service Component

2014-03-10 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Jeffrey,

On 3/10/14, 10:26 AM, Jeffrey Janner wrote:
 -Original Message- From: Leo Donahue
 [mailto:donahu...@gmail.com] Sent: Friday, March 07, 2014 9:44
 AM To: users@tomcat.apache.org Subject: The Service Component
 
 Who uses more than one Service in their server.xml and why?  I
 get that you can have multiple Connectors if you have multiple
 Service components but why use multiple connectors?
 
 Are there any docs on the use cases for these features?
 
 
 Hi Leo, I may be the only person on this list who does this
 consistently. I use it as an alternative method of virtual hosting,
 i.e. each host gets its own Service and related sub-structure. 
 The real reason?  The default host has to be set to something, and
 I don't want to maintain some generic host to catch those that come
 in.  Since I'm running an SaaS environment, really more ASP, a
 business requirement is that each host appear to the outside world
 as a unique physical host, so two customers don't get the same IP
 address. I could add Alias tags for the IP address and all know
 variations of the hostname, but there's nothing to keep some yahoo
 admin at a customer site from configuring a DNS entry on an
 internal DNS server with some name I'm not expecting.  Therefore,
 each Engine in each Service gets a defaultHost entry pointing
 to its one and only Host entry.

I'm interested in this use case.

Since you have to maintain a Connector for every IP address already,
how is that different from having a single Connector with a bunch of
Alias elements? How are those different? Or is it that you need
application isolation in the first place, so this is the best way to
do it in a single JVM?

 As an added benefit, if I find I need to move a customer from a
 shared Tomcat setup to a unique Tomcat, all I need to do is set up
 a new blank Tomcat and move the Service structure from one Tomcat
 to another. Naturally, there's more work needed if I find I need to
 give them their own physical server, but that's to be expected.  In
 general, not counting any hardware setup, I can move a host to
 another tomcat instance with  2 minutes downtime.

Nice.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBCAAGBQJTHdcFAAoJEBzwKT+lPKRYL54P/RG5CJv+t89SlOxy2fb63djx
h68V38Lv8PWBdj4TX9CQ05NlQOQvblqOuy+W7q9wmh+oCf3Fb6fWQaq1nZIc0+aG
5N8gCEQydIrd21XxvBF4FhXv60ZZiyhkAJRx3fXp0Mmf3BUTb0cR658DRhOEzytf
0zzoELsAdgikgwybCR30u0vuy4OfcjqwZ/aqtIdvTY1/Jx/kw8ztAk+iuY9n9QOU
Iq/PPm5eZR46p9+4yxpyBUMZaDXFm012ItGGJKWIx/Xj2iERzNXDWYwF7JdNwXim
GH8NWG7cLZNFixCmMiF9jMKalm7/3Ox8L7YufOeAZzIvTL13kVpK8A2ajnESmDrn
r23igjGx4XRFgkBSDQCRDmStISKUjNiDHTbUQcOGi/ZyxSOvfLZRe2V6RNsMpsMT
IxzhZE2YETZ4t+Eadywp+1BAj50o8oWJP3gAvwWFODe8n79MgpT++jkh+IFFO33U
tNwcuhDuzh6LIyuNNrrD1PBvuOIAs350NKDdX4VaCys1fA4Kez7zup1uVgfIzprp
mNjuUWlG3OWFojqb3ph450L8CFvnYYIah6yQcwvOG1vTq1jA72Kg9QG41pQax4nd
ttHX67gL4kCY0VyIpgNS7LPxE90d3quJNdpE1c/5Iqsw3Wvj3LL2I6jz55kLt8Uu
dCYEBEeo2GWmcP7AXxko
=Inu5
-END PGP SIGNATURE-

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



Re: NIO connector - connections and threads

2014-03-10 Thread John Smith
Thanks for your reply. So are the open HTTP connections that use my web
application code waiting in line to be processed by the available threads
specified in maxThreads?

Best,
John


On Sun, Mar 9, 2014 at 12:44 PM, Konstantin Kolinko
knst.koli...@gmail.comwrote:

 2014-03-09 2:08 GMT+04:00 John Smith tomcat.ran...@gmail.com:
  Sorry, forgot: Tomcat 7.0.42
 
 
  On Fri, Mar 7, 2014 at 3:59 PM, John Smith tomcat.ran...@gmail.com
 wrote:
 
  The NIO connector has two attributes from the standard HTTP Connector
  implementation, maxConnections and maxThreads with defaults of 1 and
  200, respectively.
 
  Can anyone shine some light on how these work together? If I'm allowing
 up
  to 1 connections, would that mean I only have 200 threads to process
  through them? It would seem to be a disparity between the defaults. If
 I'm
  expecting maxConnection numbers in the area of ~2000 at any given time,
  wouldn't I want to bump up my maxThreads closer to match that?
 
  Production environment is:
 
  DELL PowerEdge R720
  Single Socket Six Core Intel Xeon E5-2640 2.5GHz
  32 GB RAM
  RHEL 6
 

 Roughly speaking,

 The new APIs in java NIO and in Apache APR (and ultimately in
 underlying OS) allow to test whether there are incoming data on a
 network socket without actually reading it.

 A thread is needed when Tomcat calls your code in a web application to
 process a request.

 When request processing ends and control is returned to Tomcat, the
 request processing thread is decoupled from connection and is used to
 process other connections.  With keep-alive feature in HTTP/1.1
 protocol there may be several HTTP requests on the same HTTP
 connection,

 maxConnections = how many open HTTP connection can be hold by Tomcat
 maxThreads = how many requests are being actively processed at the same
 time.

 Best regards,
 Konstantin Kolinko

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




RE: The Service Component

2014-03-10 Thread Jeffrey Janner
 -Original Message-
 From: Christopher Schultz [mailto:ch...@christopherschultz.net]
 Sent: Monday, March 10, 2014 10:15 AM
 To: Tomcat Users List
 Subject: Re: The Service Component
 
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA256
 
 Jeffrey,
 
 On 3/10/14, 10:26 AM, Jeffrey Janner wrote:
  -Original Message- From: Leo Donahue
  [mailto:donahu...@gmail.com] Sent: Friday, March 07, 2014 9:44 AM
 To:
  users@tomcat.apache.org Subject: The Service Component
 
  Who uses more than one Service in their server.xml and why?  I get
  that you can have multiple Connectors if you have multiple Service
  components but why use multiple connectors?
 
  Are there any docs on the use cases for these features?
 
 
  Hi Leo, I may be the only person on this list who does this
  consistently. I use it as an alternative method of virtual hosting,
  i.e. each host gets its own Service and related sub-structure.
  The real reason?  The default host has to be set to something, and I
  don't want to maintain some generic host to catch those that come in.
  Since I'm running an SaaS environment, really more ASP, a business
  requirement is that each host appear to the outside world as a unique
  physical host, so two customers don't get the same IP address. I
 could
  add Alias tags for the IP address and all know variations of the
  hostname, but there's nothing to keep some yahoo admin at a customer
  site from configuring a DNS entry on an internal DNS server with some
  name I'm not expecting.  Therefore, each Engine in each Service
  gets a defaultHost entry pointing to its one and only Host entry.
 
 I'm interested in this use case.
 
 Since you have to maintain a Connector for every IP address already,
 how is that different from having a single Connector with a bunch of
 Alias elements? How are those different? Or is it that you need
 application isolation in the first place, so this is the best way to do
 it in a single JVM?
 

It's primarily for App Isolation. 
The other is that I'm trying to keep the modifiable elements to a minimum, so 
that someone not completely versed in Tomcat can do a setup if I'm not 
available.
Essentially, I have a predefined with Service tree that can be copied to a 
server.xml and only need to modify 7 values, 2 IP address fields, and 2 
hostname fields, and engine name, a service name, and an appbase.  The way I 
have it setup right now, you enter the same value for the last 3 entries in 
that list to make it easy to manage at the file system level.
And by keeping it compact, it makes that move I mentioned easy, since all the 
elements are together in the server.xml (as opposed to Connectors being in 
one location and Hosts in another.
Jeff

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



RE: ApacheCon North America, Denver, April 7-11

2014-03-10 Thread Jeffrey Janner
 -Original Message-
 From: Rich Bowen [mailto:rbo...@rcbowen.com]
 Sent: Tuesday, March 04, 2014 2:59 PM
 To: d...@tomcat.apache.org; users@tomcat.apache.org
 Subject: ApacheCon North America, Denver, April 7-11
 
 Hello Tomcat enthusiasts,
 
 as you are no doubt aware, ApacheCon North America will be held in
 Denver, Colorado starting on April 7th. Tomcat will be represented
 there by a full day of content in the following talks:
 http://apacheconnorthamerica2014.sched.org/overview/type/tomcat
 
 We would love to see you in Denver next month. Register soon, as prices
 go up on March 14th. http://na.apachecon.com/
 
 --
 Rich Bowen - rbo...@rcbowen.com - @rbowen http://apachecon.com/ -
 @apachecon

Is it really April 7-11 or 7-9 as stated on the website homepage?



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



Executor thread pool

2014-03-10 Thread John Smith
How dumb am I being by not using an Executor with a named thread pool?
Currently I just have a Connector in server.xml:

Connector port=8080 protocol=org.apache.coyote.http11.Http11NioProtocol
   connectionTimeout=2
   redirectPort=8443 /

Assuming ~2000 simultaneous connections. Tomcat 7.0.42. RHEL6.

Best,
John


Re: ApacheCon North America, Denver, April 7-11

2014-03-10 Thread Nick Williams

On Mar 10, 2014, at 10:40 AM, Jeffrey Janner wrote:

 -Original Message-
 From: Rich Bowen [mailto:rbo...@rcbowen.com]
 Sent: Tuesday, March 04, 2014 2:59 PM
 To: d...@tomcat.apache.org; users@tomcat.apache.org
 Subject: ApacheCon North America, Denver, April 7-11
 
 Hello Tomcat enthusiasts,
 
 as you are no doubt aware, ApacheCon North America will be held in
 Denver, Colorado starting on April 7th. Tomcat will be represented
 there by a full day of content in the following talks:
 http://apacheconnorthamerica2014.sched.org/overview/type/tomcat
 
 We would love to see you in Denver next month. Register soon, as prices
 go up on March 14th. http://na.apachecon.com/
 
 --
 Rich Bowen - rbo...@rcbowen.com - @rbowen http://apachecon.com/ -
 @apachecon
 
 Is it really April 7-11 or 7-9 as stated on the website homepage?

Both are correct. The main events (official speaking schedule) encompasses 
April 7 - 9. April 10 and 11 are summits, unconferences (Apache BarCamp), and 
tutorials.

Nick

smime.p7s
Description: S/MIME cryptographic signature


RE: NIO connector - connections and threads

2014-03-10 Thread Caldarale, Charles R
 From: John Smith [mailto:tomcat.ran...@gmail.com] 
 Subject: Re: NIO connector - connections and threads

Don't top post.

 So are the open HTTP connections that use my web application code waiting 
 in line to be processed by the available threads specified in maxThreads?

The connections won't be waiting, but requests arriving over those connections 
may wait if all the threads are busy.

Do you really have more than 200 simultaneous _requests_ active?

 - 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: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: NIO connector - connections and threads

2014-03-10 Thread John Smith
On Mon, Mar 10, 2014 at 11:48 AM, Caldarale, Charles R 
chuck.caldar...@unisys.com wrote:

  From: John Smith [mailto:tomcat.ran...@gmail.com]
  Subject: Re: NIO connector - connections and threads

 Don't top post.

  So are the open HTTP connections that use my web application code waiting
  in line to be processed by the available threads specified in maxThreads?

 The connections won't be waiting, but requests arriving over those
 connections may wait if all the threads are busy.

 Do you really have more than 200 simultaneous _requests_ active?

  - 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: users-unsubscr...@tomcat.apache.org
 For additional commands, e-mail: users-h...@tomcat.apache.org


Don't top post.

Sorry, just getting this list through gmail, normal replies are top posted.

Do you really have more than 200 simultaneous _requests_ active?

If you're implying are 200 people simultaneously, hitting the same page at
the same time, or making the same HTTP POST at the same time, the answer
is, yes, probably.

-John


RE: NIO connector - connections and threads

2014-03-10 Thread Caldarale, Charles R
 From: John Smith [mailto:tomcat.ran...@gmail.com] 
 Subject: Re: NIO connector - connections and threads

 If you're implying are 200 people simultaneously, hitting the same page at
 the same time, or making the same HTTP POST at the same time, the answer
 is, yes, probably.

Collecting some peak usage data might be interesting.  You definitely want your 
max thread limit to be a bit above the number of concurrent requests you're 
handling.  Of course, that has to be balanced against limits on other 
resources, such as memory and data base connections.

 - 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: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: ApacheCon North America, Denver, April 7-11

2014-03-10 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Nick,

On 3/10/14, 11:43 AM, Nick Williams wrote:
 
 On Mar 10, 2014, at 10:40 AM, Jeffrey Janner wrote:
 
 -Original Message- From: Rich Bowen
 [mailto:rbo...@rcbowen.com] Sent: Tuesday, March 04, 2014 2:59
 PM To: d...@tomcat.apache.org; users@tomcat.apache.org Subject:
 ApacheCon North America, Denver, April 7-11
 
 Hello Tomcat enthusiasts,
 
 as you are no doubt aware, ApacheCon North America will be held
 in Denver, Colorado starting on April 7th. Tomcat will be
 represented there by a full day of content in the following
 talks: 
 http://apacheconnorthamerica2014.sched.org/overview/type/tomcat


 
We would love to see you in Denver next month. Register soon, as prices
 go up on March 14th. http://na.apachecon.com/
 
 -- Rich Bowen - rbo...@rcbowen.com - @rbowen
 http://apachecon.com/ - @apachecon
 
 Is it really April 7-11 or 7-9 as stated on the website
 homepage?
 
 Both are correct. The main events (official speaking schedule)
 encompasses April 7 - 9. April 10 and 11 are summits, unconferences
 (Apache BarCamp), and tutorials.

Specifically, there is an Apache Tomcat summit on Friday the 11th. We
hope to see as many of you there as can make it.

Did anyone mention that there is a ton of free beer at ApacheCons?

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBCAAGBQJTHeWSAAoJEBzwKT+lPKRYMLkP/RQ0tk/NMUlanxhGfgfGFCcK
nSXH8iykniz3KUKrqs9TlYq8sliP6vkv4fRgPr9n5zQ4jEN6TzmOkww3RGXhmCkL
6dvqYTzT710tVoCpnT31e19jfh/NIPgYFVmrQYpnA5LwqZZlkZoQNA9r32fK0gLc
+DLpZPxuyqR/QRsgUPkJ1haQq3Jk4dLBZLsZA/JSxdR7uz0FgDRJYExtEejJnjQo
49JMm6e++UMNm59B/5S9Inj25rcMXDoUeebZROwOEE1hFsyQeRF5w9re/5b54RcD
LO1HOfjhE6sKk29hIxds9Zwvzcbxi/zgFhO3BJHtMzmDaGoDCvVyAUX68tUdZYWH
Ajjyohu5uJKl6/huN2DadsmzWNeUlOD8vn17dX3CueeBP98HXUwvosHbP1Z8Hsv+
BK4m/yZTZPWmd9/yfT0i9fZMjlBF01R0LEibgd5dxzBUXUqjEvgQqyqVjaOKsufL
zFKGu4HnVoOAak396nnkiNOStAYQpkRHaZYiYVMlt6SIpIew67AHxDG0Oe1MPTnd
bi4lbGW/8lKu3z8zfuGdUE8kWp66UV3h1VpMznkgvrKSu/JrfPRfZQVcjerzcJGr
2NHU3GQmrX3skGm03AcEJSzLYsy8GgsuqWuZj3mCxqYQk8hIuHuTjjoQTgmjBd4W
zu/opWS9PqgSrXA4fOxF
=TAPn
-END PGP SIGNATURE-

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



RE: Executor thread pool

2014-03-10 Thread Caldarale, Charles R
 From: John Smith [mailto:tomcat.ran...@gmail.com] 
 Subject: Executor thread pool

 How dumb am I being by not using an Executor with a named thread pool?
 Currently I just have a Connector in server.xml:

 Connector port=8080 protocol=org.apache.coyote.http11.Http11NioProtocol
connectionTimeout=2
redirectPort=8443 /

If you only have one Connector, it doesn't really make much difference.  An 
Executor does give you a bit more control due to its additional configuration 
options; whether or not that's important in your environment is something 
you'll have to decide.

 Assuming ~2000 simultaneous connections. Tomcat 7.0.42. RHEL6.

For NIO, it's not the number of connections that matters, it's the number of 
concurrent requests.

 - 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: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Executor thread pool

2014-03-10 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

John,

On 3/10/14, 11:43 AM, John Smith wrote:
 How dumb am I being by not using an Executor with a named thread
 pool? Currently I just have a Connector in server.xml:
 
 Connector port=8080
 protocol=org.apache.coyote.http11.Http11NioProtocol 
 connectionTimeout=2 redirectPort=8443 /

An executor is being used under the covers... you just aren't
configuring it yourself.

If you don't configure it yourself you lose out on these benefits:

1. Shared executor for multiple Connectors. If you only have a single
connector, obviously this matters little.

2. You have less control over the underlying Executor if you don't
manually configure it and let the Connector auto-create one. Check the
documentation for
http://tomcat.apache.org/tomcat-7.0-doc/config/executor.html against
the thread-related configuration attributes available for, say, the
HTTP connector here
http://tomcat.apache.org/tomcat-7.0-doc/config/http.html and you'll
see what I mean.

 Assuming ~2000 simultaneous connections. Tomcat 7.0.42. RHEL6.

2000 simultaneous connections really is quite a lot. Are you sure?
2000 simultaneous sessions isn't a stretch, but 2k connections is a
big deal. How long are your transactions? What is the incoming request
rate?

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBCAAGBQJTHeazAAoJEBzwKT+lPKRYTA4P/0K95yUlujhru68MAE7cL6Wu
Sk1IC2FCqfYYEuLOLChpA+P/49EUcqZ4BOn22LHIl3ijcUcP0re6vGXwCL0etOuB
qvrYH7tKPsNN4SQJ8tXkXdEKLVukK2RLx0AEZlmRheksYgu8G9lF7EZlPm65i1fr
vE9JWti5UtRuVMQiPjhmJZrlfEjdiNcRNr8ClKJmhRxGEeeV+dHMzNpsDbnxoD5e
vGGItrFVvfA7ffgYixRDhyGL1gO+T2DWoo4UA8wXNVGg+5Xr5jSoZBf66kY8voy4
3sQBjH5eH8yqmbOaFvX5msGyoDjwQ3o8GDcz0PnMBqNfF/sg1673FIWHjScQCx4/
mltvXJOev3joNycKr4uxFB832JAt7uyUkslowQ50a0RFvsiVC8u1CZ9pwNxcTnVP
BTQcvGSGSa5KTQdSfeWWb4LQg6WqxgQM/WI3uOvoEraUBMTvETVv/aQMsh5qPVB6
199PN7rE9XOGObJ7PQDOOm6Y2i+wUeKunZCOfPpzqEFKhKE4GIdD6qoEJnFySIjN
x4ita0F2Y8XJs6EiOQsvDE5g3ZlMjV5YDsJXJRnCx1rqxNxHdGyc4+jBzEpybMJ2
W81XThlbMiK7byufAN7YH+7W0Utd7iRMIxE2Z8bcFwm9ZfAd1GogdsNH6iyAh6Ry
zn+O78QonFrFbmPvEBLy
=+F+E
-END PGP SIGNATURE-

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



Re: Problem with jmxproxy / Tomcat 8.0.3

2014-03-10 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Konstantin,

On 3/5/14, 5:35 PM, Konstantin Kolinko wrote:
 2014-03-06 1:40 GMT+04:00 Christopher Schultz
 ch...@christopherschultz.net:
 
 On 3/5/14, 4:20 PM, Christopher Schultz wrote:
 All,
 
 For some reason, I'm not able to access my Tomcat's JMX beans 
 remotely using jconsole, etc. and so I figured I'd try using
 the jmxproxy servlet in the manager webapp. I've deployed the
 manager webapp in the same way I've done in many other
 installations... I'm fairly sure I haven't screwed it up.
 
 I get an exception when calling an open-ended get (i.e. it 
 should dump the entire JMX tree):
 
 $ curl -v --user jmxproxy:jmxproxy 
 http://localhost/manager/jmxproxy?get
 
 
 There is another - legit this time - error that I can see when I
 call ?qry:
 
 Mar 05, 2014 4:39:39 PM org.apache.catalina.mbeans.MBeanDumper
 dumpBeans SEVERE: Error getting attribute 
 Catalina:type=WebappClassLoader,host=localhost,context=/manager
 jarPath javax.management.ReflectionException: Cannot find getter
 method getJarPath
 
 
 There was WebappClassLoader.getJarPath() method in Tomcat 7. It
 was removed from TC8.

Okay. Someone should tell Tomcat that it has been removed. This
exception is being thrown when I call jmxproxy?qry and let it list
everything available via JMX.

Is it just a matter of modifying
org/apache/catalina/loader/mbeans-descriptors.xml which still contains
a reference to it?

attribute   name=jarPath
  description=The jarPath of this loader
 writeable=false
 type=java.lang.String/

Thanks,
- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBCAAGBQJTHefdAAoJEBzwKT+lPKRYnZsQAMTQtLk77RTpPSRLN2EaY+Qz
Znmr6ZOb5oFfbjW2R3EQn53DTJ+6Iy6aSnYu38Rq62ZADgxWHiVLQfF6zCaQa6QY
9XgPMBupha+zu2WiowW0phGQ+r6Lbo7P+N16FfvTks42aG8/uaGjK/+dlIkOVOEd
lzFwd9qMRWomwLeYP2R7PBZAUvY8yek1W63FjtR81GLpsT+X0/a67FBCd/JijSzC
uISmAdlEPhTXDibzZNlJmgg0tVQ2afKKTriEXXcVjiOJVQPhuV2JELAddrL+oUOW
CxvR1O8l64MqPFDZZPTxt6IaXsXT3Ddi6YDLM1SAU1xyKk+bdZdqB9ue9p1tS6z1
VvgPyL4zrUixEsy51La74Qyhm80/TuxJNpSRDHm8QJB7Zb46s7e8xKJFFo8sCOCL
Lcn6zqb7eziSzCdO5OwXEJ0rk/E4vVBPDAKMeW6nfNSBhMAynDkXPYdiO8EQ5s9m
lQ76ncK4Po8+em0g1g+OlwAEtweRKIiNm0SdZl3WWneG1AP5sfJbD8bMLDGs6/Qy
gmSqF45GKMzL2+GfRsq3FBDp0xEgefRv0z4UxiWfYxyLIWSxYogrCfX4setfNjNu
CjWnq3aaJeXcD5Uk7qPs/3N5bIjbfEj74RqWEKEVWKKrZGucevdC+846IVl0KtXr
Yb3GmFxwdZ0zwSB90Ddu
=J6x+
-END PGP SIGNATURE-

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



Re: NIO connector - connections and threads

2014-03-10 Thread John Smith


 Collecting some peak usage data might be interesting.  You definitely want
 your max thread limit to be a bit above the number of concurrent requests
 you're handling.  Of course, that has to be balanced against limits on
 other resources, such as memory and data base connections.

  - Chuck


Thanks, I'm in the process of implementing MoSKito, so I'm hoping to get
some good reporting there.


Re: Problem with jmxproxy / Tomcat 8.0.3

2014-03-10 Thread Mark Thomas
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/03/2014 16:27, Christopher Schultz wrote:

 Okay. Someone should tell Tomcat that it has been removed.

+1. I guess you are volunteering :)

 This exception is being thrown when I call jmxproxy?qry and let
 it list everything available via JMX.
 
 Is it just a matter of modifying 
 org/apache/catalina/loader/mbeans-descriptors.xml which still
 contains a reference to it?
 
 attribute   name=jarPath description=The jarPath of this
 loader writeable=false type=java.lang.String/

Yes.

Mark
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (MingW32)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBAgAGBQJTHejLAAoJEBDAHFovYFnnaNcQAM8UQK67syl6TFYNLj+PVHOy
+khslIUbzQsoc0Th/PbShY0Vtyiwj5Nh+6r3mLzqYKD2Y5RjzYpVqd19sMX4PGYs
fQZy/CNNAGfF9LmOUgC9mZPINsixlFpcM3vTh4UOyPDWUfReTr7vT1++EoWPl/rb
8QHXwGGMEegB6i/HWLTfkvWzNLhlT71NFVK8XH9hunYuqbgEoLCSvwtWwKb+rE8E
Jf4V0e3kkKwiZpCO2NabRGhNjpeNN50zm6MW7QOHQUTunzANOLQoRMuwRxzcjPgw
6VD+LzHk+o75YKm3oLgIxfDUdgFMTfv58TYG3sVrh5V30CARR5g9uQOFLurzusqG
MxKZtMZxRkDuPJLJO6XxyUQFbB+IfjxgZSIB5e+MbFnyRaK6ZRFvE/CEPOj6iqPq
ZNelAdaJiqprhqaJtNQo+o6VL/U2ewedpJivQ3qpguX9sDI9uVROTDjErMjrBJzV
WcrQM1QJVjgxY+iVN2tF07VpQNMQLmJqkyLVo6Nj7hAnRSnIxppJgkjTYqWskVEX
0JTq22yvYH2jR3b0c7uHqYGgxAIpqsYVZysLUPOf2GJQZZsWiBKn+5bvV0kD59R7
DZEGbpP8UjPEaJEtHdMD9BPv48YGNOVvs6w3Aw7DLDba6rdRBqV8FMA5Mwaizw0l
QnLQ2Dxft0uodT+F60ig
=25sc
-END PGP SIGNATURE-

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



Not able to connect to Tomcat via jconsole

2014-03-10 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

All,

I have two instances of Tomcat 8 running locally. One of them happens
to have a JNDI DataSource configured and the other does not. They are
both out-of-the-box 8.0.3 installations.

One of them has no problem connecting via jconsole to observe JMX
beans, while the other one waits forever and then fails. No errors or
warnings in either jconsole or Tomcat (other than the could not
connect message in jconsole's GUI).

I believe all of the tools are using the Attach API... I have not
specifically configured anything for remote JMX connections.

I also can't connect using YourKit, VisualVM, etc. (Technically,
VisualVM does connect, but I can't access any of the JMX beans).
YourKit tells me that Attach can't be used and tells me to re-start
the JVM with their profiler agent running inside of it.

I get a huge stack trace from VisualVM (below) which basically tells
me that it can't Attach.

Environment is Mac OS X 10.9, jdk1.7.0_51.jdk, and Tomcat 8.0.3 (and
trunk also).

Does anyone have any ideas why I might not be able to connect?

Again, the other JVM has no problem at all. I'm not installing any of
my own JMX beans or anything weird like that... just standard Tomcat
stuff with my application running inside it. I'm running both Tomcat
and jconsole/VisualVM/YourKit as the same user (me).


I just checked, and I can't connect to the same application running
under Tomcat 7.0.47, either.

Here are the relevant parts of server.xml:

  GlobalNamingResources
Resource name=UserDatabase auth=Container
  type=org.apache.catalina.UserDatabase
  description=User database that can be updated and saved

factory=org.apache.catalina.users.MemoryUserDatabaseFactory
  pathname=conf/tomcat-users.xml /
  /GlobalNamingResources

  Service name=Catalina

!--The connectors can use a shared executor, you can define one
or more named thread pools--
Executor name=tomcatThreadPool namePrefix=catalina-exec-
maxThreads=150 minSpareThreads=4/

Connector port=8215
   redirectPort=443
   protocol=org.apache.coyote.ajp.AjpNioProtocol
URIEncoding=UTF-8
   executor=tomcatThreadPool /

Connector port=8217
   protocol=org.apache.coyote.http11.Http11NioProtocol
address=127.0.0.1
 secure=false
URIEncoding=UTF-8
   executor=tomcatThreadPool /

Connector port=9876 protocol=HTTP/1.1 SSLEnabled=true
   maxThreads=150 scheme=https secure=true
   keyAlias=tomcat keystorePass=mypass
   clientAuth=false sslProtocol=TLS /

Engine name=Catalina defaultHost=localhost
  Host name=localhost  appBase=webapps
unpackWARs=true autoDeploy=true
   ...

Thanks,
- -chris

Stack trace from VisualVM:

Support/VisualVM/7u14/var/log/heapdump.hprof
Compiler: HotSpot 64-Bit Tiered Compilers
Heap memory usage: initial 24.0MB maximum 227.5MB
Non heap memory usage: initial 23.4MB maximum 144.0MB
Garbage collector: PS Scavenge (Collections=8 Total time spent=0s)
Garbage collector: PS MarkSweep (Collections=0 Total time spent=0s)
Classes: loaded=4506 total loaded=4506 unloaded 0
INFO [org.netbeans.core.ui.warmup.DiagnosticTask]: Total memory
8,589,934,592
INFO [null]: Total physical memory 8,589,934,592
INFO [com.sun.tools.visualvm.attach.AttachModelImpl]: printFlag
com.sun.tools.attach.AttachNotSupportedException: Unable to open
socket file: target process not responding or HotSpot VM not loaded
at sun.tools.attach.BsdVirtualMachine.init(BsdVirtualMachine.java:90)
at
sun.tools.attach.BsdAttachProvider.attachVirtualMachine(BsdAttachProvider.java:63)
at com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:213)
at
com.sun.tools.visualvm.attach.AttachModelImpl.getVirtualMachine(AttachModelImpl.java:104)
Caused: java.io.IOException: Unable to open socket file: target
process not responding or HotSpot VM not loaded
at
com.sun.tools.visualvm.attach.AttachModelImpl.getVirtualMachine(AttachModelImpl.java:106)
[catch] at
com.sun.tools.visualvm.attach.AttachModelImpl.printFlag(AttachModelImpl.java:69)
at
com.sun.tools.visualvm.jvm.JVMImpl.isDumpOnOOMEnabled(JVMImpl.java:200)
at
com.sun.tools.visualvm.heapdump.impl.HeapDumpOnOOMEAction.updateState(HeapDumpOnOOMEAction.java:63)
at
com.sun.tools.visualvm.heapdump.impl.HeapDumpOnOOMEAction.isEnabled(HeapDumpOnOOMEAction.java:57)
at
com.sun.tools.visualvm.heapdump.impl.HeapDumpOnOOMEAction.isEnabled(HeapDumpOnOOMEAction.java:26)
at
com.sun.tools.visualvm.core.ui.actions.SingleDataSourceAction.updateState(SingleDataSourceAction.java:57)
at
com.sun.tools.visualvm.heapdump.impl.HeapDumpOnOOMEAction.updateState(HeapDumpOnOOMEAction.java:78)
at
com.sun.tools.visualvm.core.ui.actions.DataSourceAction.initialize(DataSourceAction.java:70)
at

Re: Problem with jmxproxy / Tomcat 8.0.3

2014-03-10 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Mark,

On 3/10/14, 12:31 PM, Mark Thomas wrote:
 On 10/03/2014 16:27, Christopher Schultz wrote:
 
 Okay. Someone should tell Tomcat that it has been removed.
 
 +1. I guess you are volunteering :)

Actually, yes. I just didn't want to break something I didn't
understand very well.

 
 This exception is being thrown when I call jmxproxy?qry and
 let it list everything available via JMX.
 
 Is it just a matter of modifying 
 org/apache/catalina/loader/mbeans-descriptors.xml which still 
 contains a reference to it?
 
 attribute   name=jarPath description=The jarPath of this 
 loader writeable=false type=java.lang.String/
 
 Yes.

Thanks!

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBCAAGBQJTHex2AAoJEBzwKT+lPKRY/AgP/11AiOZnF8KcDr8gnz7a+sxt
9EeClfBYjZJJWTrPgo63BDS7lr7scZoZkbx7185QbVdE0xOAbbjOhZCMfIooYhQo
qmTvBC99gwKKMtiVGP90f6pFMGbrBxTeZn5o2Xp/dhVjsl0VcI7btKHelWjHhx+1
QkT+7WpeBXSz6ojL3hpwgQC8hkr2KA64e30DYYF+g1aR45Y+R2RIvvwhvxF5P4hS
Z+h0NOPaMfOSRm8tKU9krBo0pI+ZQrCLsBmdMvEcgwcTsY6thZNn/BZPFqQOb6mh
vqxRslJ2g/CNuKSs2PIKxXrr9sTY5rRN2omgacZ8OXKfeCFnayU+DGa55W70I741
/LjN6jXftJGwyS1Xs6XaUjaJiMSDA2byOvfcUSb0Snh2PVBUo0TgR3A7KHlA/eSK
xjaq0IYjssstwtfu4z5fe3IGc6a2KGO1RTuzybTV6K96l5haZ7v5iQX5Z3xw855I
BoiayMkgyZEe+db3rANLxhMMGKNNEnoIctHNWZmiWBpAbgnJ4hsCW7DPlakN0m57
PNEzhU0kdXdnbgiAxh+78IgsC1Cpl4C5c6wdwXs9O7hOqEGQXQIK8y457SqrbCky
G+HkPVPk3GgQ9MmCOUeuGxwQEyXXiAo7HIa27Mm6Gcv9yels3dqDt1Jn89GzH1rc
Gtfq9MYbBINp7XQPsQvq
=z7wR
-END PGP SIGNATURE-

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



Re: Not able to connect to Tomcat via jconsole

2014-03-10 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

All,

I stopped Tomcat, completely removed my web application, restarted
Tomcat and I can connect without a problem.

AFAIK, my application isn't doing anything with JMX.

I'll try using my context.xml without any actual code involved.

- -chris

On 3/10/14, 12:46 PM, Christopher Schultz wrote:
 All,
 
 I have two instances of Tomcat 8 running locally. One of them
 happens to have a JNDI DataSource configured and the other does
 not. They are both out-of-the-box 8.0.3 installations.
 
 One of them has no problem connecting via jconsole to observe JMX 
 beans, while the other one waits forever and then fails. No errors
 or warnings in either jconsole or Tomcat (other than the could
 not connect message in jconsole's GUI).
 
 I believe all of the tools are using the Attach API... I have
 not specifically configured anything for remote JMX connections.
 
 I also can't connect using YourKit, VisualVM, etc. (Technically, 
 VisualVM does connect, but I can't access any of the JMX beans). 
 YourKit tells me that Attach can't be used and tells me to
 re-start the JVM with their profiler agent running inside of it.
 
 I get a huge stack trace from VisualVM (below) which basically
 tells me that it can't Attach.
 
 Environment is Mac OS X 10.9, jdk1.7.0_51.jdk, and Tomcat 8.0.3
 (and trunk also).
 
 Does anyone have any ideas why I might not be able to connect?
 
 Again, the other JVM has no problem at all. I'm not installing any
 of my own JMX beans or anything weird like that... just standard
 Tomcat stuff with my application running inside it. I'm running
 both Tomcat and jconsole/VisualVM/YourKit as the same user (me).
 
 
 I just checked, and I can't connect to the same application
 running under Tomcat 7.0.47, either.
 
 Here are the relevant parts of server.xml:
 
 GlobalNamingResources Resource name=UserDatabase
 auth=Container type=org.apache.catalina.UserDatabase 
 description=User database that can be updated and saved
 
 factory=org.apache.catalina.users.MemoryUserDatabaseFactory 
 pathname=conf/tomcat-users.xml / /GlobalNamingResources
 
 Service name=Catalina
 
 !--The connectors can use a shared executor, you can define one or
 more named thread pools-- Executor name=tomcatThreadPool
 namePrefix=catalina-exec- maxThreads=150 minSpareThreads=4/
 
 Connector port=8215 redirectPort=443 
 protocol=org.apache.coyote.ajp.AjpNioProtocol 
 URIEncoding=UTF-8 executor=tomcatThreadPool /
 
 Connector port=8217 
 protocol=org.apache.coyote.http11.Http11NioProtocol 
 address=127.0.0.1 secure=false URIEncoding=UTF-8 
 executor=tomcatThreadPool /
 
 Connector port=9876 protocol=HTTP/1.1 SSLEnabled=true 
 maxThreads=150 scheme=https secure=true keyAlias=tomcat
 keystorePass=mypass clientAuth=false sslProtocol=TLS /
 
 Engine name=Catalina defaultHost=localhost Host
 name=localhost  appBase=webapps unpackWARs=true
 autoDeploy=true ...
 
 Thanks, -chris
 
 Stack trace from VisualVM:
 
 Support/VisualVM/7u14/var/log/heapdump.hprof Compiler: HotSpot
 64-Bit Tiered Compilers Heap memory usage: initial 24.0MB maximum
 227.5MB Non heap memory usage: initial 23.4MB maximum 144.0MB 
 Garbage collector: PS Scavenge (Collections=8 Total time spent=0s) 
 Garbage collector: PS MarkSweep (Collections=0 Total time
 spent=0s) Classes: loaded=4506 total loaded=4506 unloaded 0 INFO
 [org.netbeans.core.ui.warmup.DiagnosticTask]: Total memory 
 8,589,934,592 INFO [null]: Total physical memory 8,589,934,592 INFO
 [com.sun.tools.visualvm.attach.AttachModelImpl]: printFlag 
 com.sun.tools.attach.AttachNotSupportedException: Unable to open 
 socket file: target process not responding or HotSpot VM not
 loaded at
 sun.tools.attach.BsdVirtualMachine.init(BsdVirtualMachine.java:90)

 
at
 sun.tools.attach.BsdAttachProvider.attachVirtualMachine(BsdAttachProvider.java:63)

 
at com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:213)
 at 
 com.sun.tools.visualvm.attach.AttachModelImpl.getVirtualMachine(AttachModelImpl.java:104)

 
Caused: java.io.IOException: Unable to open socket file: target
 process not responding or HotSpot VM not loaded at 
 com.sun.tools.visualvm.attach.AttachModelImpl.getVirtualMachine(AttachModelImpl.java:106)

 
[catch] at
 com.sun.tools.visualvm.attach.AttachModelImpl.printFlag(AttachModelImpl.java:69)

 
at
 com.sun.tools.visualvm.jvm.JVMImpl.isDumpOnOOMEnabled(JVMImpl.java:200)

 
at
 com.sun.tools.visualvm.heapdump.impl.HeapDumpOnOOMEAction.updateState(HeapDumpOnOOMEAction.java:63)

 
at
 com.sun.tools.visualvm.heapdump.impl.HeapDumpOnOOMEAction.isEnabled(HeapDumpOnOOMEAction.java:57)

 
at
 com.sun.tools.visualvm.heapdump.impl.HeapDumpOnOOMEAction.isEnabled(HeapDumpOnOOMEAction.java:26)

 
at
 com.sun.tools.visualvm.core.ui.actions.SingleDataSourceAction.updateState(SingleDataSourceAction.java:57)

 
at
 com.sun.tools.visualvm.heapdump.impl.HeapDumpOnOOMEAction.updateState(HeapDumpOnOOMEAction.java:78)

 
at
 

Re: Not able to connect to Tomcat via jconsole

2014-03-10 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

All,

On 3/10/14, 12:52 PM, Christopher Schultz wrote:
 I stopped Tomcat, completely removed my web application, restarted 
 Tomcat and I can connect without a problem.
 
 AFAIK, my application isn't doing anything with JMX.
 
 I'll try using my context.xml without any actual code involved.

Okay, I've discovered that if I deploy my web application but remove
WEB-INF/web.xml, I can still connect. Something my web application is
doing is breaking something.

I'll try to narrow-down what it is.

(Again, AFAIK, I'm not mucking-around with any of Tomcat's
internals... just a standard web application.)_

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBCAAGBQJTHe8mAAoJEBzwKT+lPKRYImUP/383s7nuRdFp5Jzafih1ZOue
yh9/FpyIZ9ym+dKwH/rH3NMJKCgpOYAr6PmHWnoW7IuOTY5miVfCdqWZWkG4MvIz
kuY6QsQqmSJU50FLk40A73bHk2TU5qbDnLKzBVvTmDnT9ptzQb6JoksteeOYKTQN
fToXZSqeL+QhMjnV5m9IIkg1s37JoXQUmFiRXswb1AlXbuY5wZ3rrFV8DS9BQg/z
+7mWE0MzjgNSE9gHZ5tFpQ/Pmz8bUMXeHEHa0ktdEiOqEEjjyzU38nmf+mM+Yiu/
JXC58AcZwKvFWrzpdAZy1qmSeYeYOjwDKNVdmhsBA3YnyzsxHF2EqWIrlqmaY3Pe
VBZ2ZLstgpM7TVzbXY0LxHfHkVaMPod0MRStJObJDSvGPzWnzAhpFsxHvtlT5DCD
gMydftpCQFjukbM8O7l4vIJfOAqOV5UqafX7L0z+VLjT990nNfdTV3NmZ6Ifmuor
i1xbi31X1+PybBFi0jJw6lEP5AQwntzcCxlGSN3Maj7/JR716umdL0ius703nnIp
oL+4Pt0sXfS1NqD4YsAfJE7EBEoVw7r9LJFn4x13kGXpc7kdUkMZTKBtzskrXIr+
WuX4MDj+9T9WXSAZx+gLvotn1fxw7BZrjf+52hSHB7r0Cd+9d+TQxATs9W+NinpJ
xaNgSbI10SaJv6Y7W8R1
=z7sz
-END PGP SIGNATURE-

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



Re: The Service Component

2014-03-10 Thread André Warnier

Christopher Schultz wrote:

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Jeffrey,

On 3/10/14, 10:26 AM, Jeffrey Janner wrote:

-Original Message- From: Leo Donahue
[mailto:donahu...@gmail.com] Sent: Friday, March 07, 2014 9:44
AM To: users@tomcat.apache.org Subject: The Service Component

Who uses more than one Service in their server.xml and why?  I
get that you can have multiple Connectors if you have multiple
Service components but why use multiple connectors?

Are there any docs on the use cases for these features?


Hi Leo, I may be the only person on this list who does this
consistently. I use it as an alternative method of virtual hosting,
i.e. each host gets its own Service and related sub-structure. 
The real reason?  The default host has to be set to something, and

I don't want to maintain some generic host to catch those that come
in.  Since I'm running an SaaS environment, really more ASP, a
business requirement is that each host appear to the outside world
as a unique physical host, so two customers don't get the same IP
address. I could add Alias tags for the IP address and all know
variations of the hostname, but there's nothing to keep some yahoo
admin at a customer site from configuring a DNS entry on an
internal DNS server with some name I'm not expecting.  Therefore,
each Engine in each Service gets a defaultHost entry pointing
to its one and only Host entry.


I'm interested in this use case.

Since you have to maintain a Connector for every IP address already,
how is that different from having a single Connector with a bunch of
Alias elements? How are those different? Or is it that you need
application isolation in the first place, so this is the best way to
do it in a single JVM?


As an added benefit, if I find I need to move a customer from a
shared Tomcat setup to a unique Tomcat, all I need to do is set up
a new blank Tomcat and move the Service structure from one Tomcat
to another. Naturally, there's more work needed if I find I need to
give them their own physical server, but that's to be expected.  In
general, not counting any hardware setup, I can move a host to
another tomcat instance with  2 minutes downtime.


Nice.



It is particularly nice to know that it works, and that the Service element really 
(apparently) corresponds to something real at the Tomcat level.  So it is apparently not 
just an element of order allowing to group Connectors with Engine.
Which is contrary to what I imagined, and which I believe definitely answers the original 
OP's question (at least the first part).


And I believe it is worth repeating what was already mentioned earlier regarding the 
Service/Connector relationship :
Even if you have only one Service, you can have multiple Connector's inside it, and 
there are plenty of use cases for that.
And if you have multiple Service's, you can also have more than 1 Connector per 
Service, but each Connector (even across Service's) will still need its own unique 
listening IP address:Port combination.


As to running multiple Service's within the same Tomcat instance, as opposed to running 
multiple single-Service Tomcat instances : in the multiple-Service scenario, they all 
share the same JVM, the same Heap, the same Stack etc.  So if you bring one Service 
down, they all go down.

Which is not the case for multiple Tomcat instances.




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



Re: Not able to connect to Tomcat via jconsole

2014-03-10 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

All,

On 3/10/14, 12:58 PM, Christopher Schultz wrote:
 All,
 
 On 3/10/14, 12:52 PM, Christopher Schultz wrote:
 I stopped Tomcat, completely removed my web application,
 restarted Tomcat and I can connect without a problem.
 
 AFAIK, my application isn't doing anything with JMX.
 
 I'll try using my context.xml without any actual code involved.
 
 Okay, I've discovered that if I deploy my web application but
 remove WEB-INF/web.xml, I can still connect. Something my web
 application is doing is breaking something.
 
 I'll try to narrow-down what it is.
 
 (Again, AFAIK, I'm not mucking-around with any of Tomcat's 
 internals... just a standard web application.)_

It looks like I can reproduce this with just Velocity and Velocity
Tools. I'll keep narrowing it down.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBCAAGBQJTHfRmAAoJEBzwKT+lPKRYEtgP/RMi9jRMuhe+HClixTkORP+G
5zh0DpTaiZO8BzI8sT/xZVApPU7GeZWeyVtV3n+k29dEKmb1AJtkq3TBbYV8ikXM
e/EGRkOW3qqcbNbjaiQ3KcIa8C9l6vfEuYtxB8Ieq/hMyIVMQoycYdops/ZY/tFT
hCdbIv90kkOT1Ipg6obuwqmr4G6SnpZmSfGe49E3IU66V6299cVk46N4tXVDy5hu
+PXE9ST07mPtXGNz22vpf58n7qKooa86VtIwTUIdi55HgsWq0Nc7i0IlRqwBsIUb
oPKM0h8c3xmBKEgiW7vnUxPO5wn5tiu4Z8IsmC7UM5dzohQj5oqwCzqrU2Q6K3BS
TbStKZGQ+VO/xwHqAN7cjlruwl+3JVKA36W1x/n4cQgLc4y6SVQZAhKnTzBviXR6
6kGw7c3Q1kIrEM1lPNoOKJoWJVbIGPzS1LaWICqfnS1xxLA0yITDfuU4PUp1x8UD
BrghOcMmlCvMAP5AjhTY66lzzRazE0HIXaVCrybInBb4AkpDG0EFRcDHZ0xurF00
hPn0Yl/ettQ1kVTmiuYEjZPu4IK3hhZORkew5bQqnzHAR7/i145dTCxrPEUtXevb
LVPNFhSVE96ck9rWBEuDi8ag7veh9djVZif+aJ+rrus1NiGzuznNKNCgukkEU68W
Lnoe1sCfL5d+Up7oPMIU
=HNtQ
-END PGP SIGNATURE-

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



Re: ApacheCon North America, Denver, April 7-11

2014-03-10 Thread Nick Williams

On Mar 10, 2014, at 11:17 AM, Christopher Schultz wrote:

 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA256
 
 Nick,
 
 On 3/10/14, 11:43 AM, Nick Williams wrote:
 
 On Mar 10, 2014, at 10:40 AM, Jeffrey Janner wrote:
 
 -Original Message- From: Rich Bowen
 [mailto:rbo...@rcbowen.com] Sent: Tuesday, March 04, 2014 2:59
 PM To: d...@tomcat.apache.org; users@tomcat.apache.org Subject:
 ApacheCon North America, Denver, April 7-11
 
 Hello Tomcat enthusiasts,
 
 as you are no doubt aware, ApacheCon North America will be held
 in Denver, Colorado starting on April 7th. Tomcat will be
 represented there by a full day of content in the following
 talks: 
 http://apacheconnorthamerica2014.sched.org/overview/type/tomcat
 
 
 
 We would love to see you in Denver next month. Register soon, as prices
 go up on March 14th. http://na.apachecon.com/
 
 -- Rich Bowen - rbo...@rcbowen.com - @rbowen
 http://apachecon.com/ - @apachecon
 
 Is it really April 7-11 or 7-9 as stated on the website
 homepage?
 
 Both are correct. The main events (official speaking schedule)
 encompasses April 7 - 9. April 10 and 11 are summits, unconferences
 (Apache BarCamp), and tutorials.
 
 Specifically, there is an Apache Tomcat summit on Friday the 11th. We
 hope to see as many of you there as can make it.
 
 Did anyone mention that there is a ton of free beer at ApacheCons?

I will be there because I 'm speaking there.

I am /definitely/ excited about all the free beer. :-)

N

smime.p7s
Description: S/MIME cryptographic signature


Re: ApacheCon North America, Denver, April 7-11

2014-03-10 Thread Mark Thomas
On 10/03/2014 17:28, Nick Williams wrote:
 On Mar 10, 2014, at 11:17 AM, Christopher Schultz wrote:

snip/

 Specifically, there is an Apache Tomcat summit on Friday the 11th. We
 hope to see as many of you there as can make it.

 Did anyone mention that there is a ton of free beer at ApacheCons?
 
 I will be there because I 'm speaking there.
 
 I am /definitely/ excited about all the free beer. :-)

If you haven't already (and assuming you want to attend) please remember
to add the Tomcat Summit to your registration (there is no additional
cost for this).

Cheers,

Mark

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



Re: Not able to connect to Tomcat via jconsole

2014-03-10 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

All,

On 3/10/14, 1:20 PM, Christopher Schultz wrote:
 All,
 
 On 3/10/14, 12:58 PM, Christopher Schultz wrote:
 All,
 
 On 3/10/14, 12:52 PM, Christopher Schultz wrote:
 I stopped Tomcat, completely removed my web application, 
 restarted Tomcat and I can connect without a problem.
 
 AFAIK, my application isn't doing anything with JMX.
 
 I'll try using my context.xml without any actual code 
 involved.
 
 Okay, I've discovered that if I deploy my web application but 
 remove WEB-INF/web.xml, I can still connect. Something my web 
 application is doing is breaking something.
 
 I'll try to narrow-down what it is.
 
 (Again, AFAIK, I'm not mucking-around with any of Tomcat's 
 internals... just a standard web application.)_
 
 It looks like I can reproduce this with just Velocity and Velocity
  Tools. I'll keep narrowing it down.

I have a minimal test which I've attached (sort of) to this Bugzilla
issue:
https://issues.apache.org/bugzilla/show_bug.cgi?id=56242

If anyone could give me some pointers at this stage, it would be
greatly appreciated.

Thanks,
- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBCAAGBQJTHgA8AAoJEBzwKT+lPKRYh/UP/ikpCvl2rrmJK2+gnHuiYEgx
rlIyJOzQDzECutbj5lwB/FEbTWwj3vmBGuakkn3BfZp1P77J9LqZiWx180Jvfo5n
Mu4m1qUobOAo6yjwc4sLQ77GDDm+g7wWZMFlW6icMbaoQu7U6DMY8cPK1ESlwJRr
KbE5TvsAAlDBEL1h6UsY0k3nTWzDbXGG/cN1q0JunypLQPdGOeueh+75z/R3q+sq
N+IBFGiVDg/YaKgYiu6skhbYMgnlbnSZTzsPD7DomrQDpoWUWp7rAUov4jYERIG2
W4TIq1jlYdwbLDZqrZS2eOHA+D9UU0FTacbTcCgY65VQbxpn4ozmeo8+3jI7Kia1
BOmSPJJuxsgi80QN4d+nkQQBw3lfH46g1zEuM4coyMLCSBVZYOBFQFCp/4n0dtvS
hEyaB9MmManv5dSwKEBjGTCJxZUps9eoKGzA/aiI9Jt4IK1IDxKduFzX/GN3Qt0O
v+ADKYfWtCFKezol2Db/hgDVa5avmihE86KcZFGVB48i4b8+QkeRzdesa3P17YmQ
BjwnNz4yowwcTOMXZR2BYh2XDEjScjA5LdS6iA5noiE1sQ4TWTsM9OH+t9XHerss
e92hMN4pj7xJFXK1hYsAjrNP0iEW4ETffoHFAuAStGUuDw1zuhKyvmHABcpjRrI8
MZXZQuvJbBlLJw/SsqAf
=Kv5J
-END PGP SIGNATURE-

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



Re: Not able to connect to Tomcat via jconsole

2014-03-10 Thread Konstantin Kolinko
2014-03-10 22:11 GMT+04:00 Christopher Schultz 
 On 3/10/14, 1:20 PM, Christopher Schultz wrote:
 On 3/10/14, 12:58 PM, Christopher Schultz wrote:
 All,

 On 3/10/14, 12:52 PM, Christopher Schultz wrote:
 I stopped Tomcat, completely removed my web application,
 restarted Tomcat and I can connect without a problem.

 AFAIK, my application isn't doing anything with JMX.

 I'll try using my context.xml without any actual code
 involved.

 Okay, I've discovered that if I deploy my web application but
 remove WEB-INF/web.xml, I can still connect. Something my web
 application is doing is breaking something.

 I'll try to narrow-down what it is.

 (Again, AFAIK, I'm not mucking-around with any of Tomcat's
 internals... just a standard web application.)_

 It looks like I can reproduce this with just Velocity and Velocity
  Tools. I'll keep narrowing it down.

 I have a minimal test which I've attached (sort of) to this Bugzilla
 issue:
 https://issues.apache.org/bugzilla/show_bug.cgi?id=56242

 If anyone could give me some pointers at this stage, it would be
 greatly appreciated.


Win7, 32-bit JDK 7u51
Tomcat 8.0.3
If I connect with jconsole, it displays an odd error message with the
following title, text and two buttons (I suppose some resource is
missing, so it displays message keys instead of actual text):

ConnectionFailedSSL1
ConnectionFailedSSL2
[Insecure] [Cancel]

If I press Insecure button, it connects successfully and shows
Catalina JMX beans.

The above happens regardless of whether your web application is deployed or not.

Best regards,
Konstantin Kolinko

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



Re: Tomcat and Spring Framework

2014-03-10 Thread Mark H. Wood
It's probably worth asking what full-fledged enterprise applications
means.  I'm not aware of any specification with that title.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Machines should not be friendly.  Machines should be obedient.


signature.asc
Description: Digital signature


RE: The Service Component

2014-03-10 Thread Jeffrey Janner
 -Original Message-
 From: André Warnier [mailto:a...@ice-sa.com]
 Sent: Monday, March 10, 2014 12:15 PM
 To: Tomcat Users List
 Subject: Re: The Service Component
 
 Christopher Schultz wrote:
  -BEGIN PGP SIGNED MESSAGE-
  Hash: SHA256
 
  Jeffrey,
 
  On 3/10/14, 10:26 AM, Jeffrey Janner wrote:
  -Original Message- From: Leo Donahue
  [mailto:donahu...@gmail.com] Sent: Friday, March 07, 2014 9:44 AM
  To: users@tomcat.apache.org Subject: The Service Component
 
  Who uses more than one Service in their server.xml and why?  I get
  that you can have multiple Connectors if you have multiple Service
  components but why use multiple connectors?
 
  Are there any docs on the use cases for these features?
 
  Hi Leo, I may be the only person on this list who does this
  consistently. I use it as an alternative method of virtual hosting,
  i.e. each host gets its own Service and related sub-structure.
  The real reason?  The default host has to be set to something, and I
  don't want to maintain some generic host to catch those that come
 in.
  Since I'm running an SaaS environment, really more ASP, a business
  requirement is that each host appear to the outside world as a
 unique
  physical host, so two customers don't get the same IP address. I
  could add Alias tags for the IP address and all know variations of
  the hostname, but there's nothing to keep some yahoo admin at a
  customer site from configuring a DNS entry on an internal DNS server
  with some name I'm not expecting.  Therefore, each Engine in each
  Service gets a defaultHost entry pointing to its one and only
  Host entry.
 
  I'm interested in this use case.
 
  Since you have to maintain a Connector for every IP address
 already,
  how is that different from having a single Connector with a bunch
 of
  Alias elements? How are those different? Or is it that you need
  application isolation in the first place, so this is the best way to
  do it in a single JVM?
 
  As an added benefit, if I find I need to move a customer from a
  shared Tomcat setup to a unique Tomcat, all I need to do is set up a
  new blank Tomcat and move the Service structure from one Tomcat to
  another. Naturally, there's more work needed if I find I need to
 give
  them their own physical server, but that's to be expected.  In
  general, not counting any hardware setup, I can move a host to
  another tomcat instance with  2 minutes downtime.
 
  Nice.
 
 
 It is particularly nice to know that it works, and that the Service
 element really
 (apparently) corresponds to something real at the Tomcat level.  So
 it is apparently not just an element of order allowing to group
 Connectors with Engine.
 Which is contrary to what I imagined, and which I believe definitely
 answers the original OP's question (at least the first part).
 
 And I believe it is worth repeating what was already mentioned earlier
 regarding the Service/Connector relationship :
 Even if you have only one Service, you can have multiple
 Connector's inside it, and there are plenty of use cases for that.
 And if you have multiple Service's, you can also have more than 1
 Connector per Service, but each Connector (even across
 Service's) will still need its own unique listening IP address:Port
 combination.
 
 As to running multiple Service's within the same Tomcat instance, as
 opposed to running multiple single-Service Tomcat instances : in the
 multiple-Service scenario, they all share the same JVM, the same
 Heap, the same Stack etc.  So if you bring one Service
 down, they all go down.
 Which is not the case for multiple Tomcat instances.

True, if you crash the JVM, everything goes away, but that's true for any 
virtual hosting setup with multiple hosts/Tomcat.
However, I have had an app hang and which caused its connector's queue to fill 
and thus appearing to crash, yet the other services were happily chugging 
away in the JVM.
(Yep, they got moved to their own Tomcat instance until the problem was 
corrected.)


RE: Executor thread pool

2014-03-10 Thread Jeffrey Janner
 -Original Message-
 From: Christopher Schultz [mailto:ch...@christopherschultz.net]
 Sent: Monday, March 10, 2014 11:22 AM
 To: Tomcat Users List
 Subject: Re: Executor thread pool
 
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA256
 
 John,
 
 On 3/10/14, 11:43 AM, John Smith wrote:
  How dumb am I being by not using an Executor with a named thread
 pool?
  Currently I just have a Connector in server.xml:
 
  Connector port=8080
  protocol=org.apache.coyote.http11.Http11NioProtocol
  connectionTimeout=2 redirectPort=8443 /
 
 An executor is being used under the covers... you just aren't
 configuring it yourself.
 
 If you don't configure it yourself you lose out on these benefits:
 
 1. Shared executor for multiple Connectors. If you only have a single
 connector, obviously this matters little.
 
 2. You have less control over the underlying Executor if you don't
 manually configure it and let the Connector auto-create one. Check the
 documentation for http://tomcat.apache.org/tomcat-7.0-
 doc/config/executor.html against the thread-related configuration
 attributes available for, say, the HTTP connector here
 http://tomcat.apache.org/tomcat-7.0-doc/config/http.html and you'll see
 what I mean.
 
  Assuming ~2000 simultaneous connections. Tomcat 7.0.42. RHEL6.
 
 2000 simultaneous connections really is quite a lot. Are you sure?
 2000 simultaneous sessions isn't a stretch, but 2k connections is a big
 deal. How long are your transactions? What is the incoming request
 rate?
 

How about the more likely 2 connector scenario, one for port 80 one for port 
443?
Any benefit of using the executor here?  Assuming sharing one between 
connectors, and web.xml configured to auto-route everything to SSL, i.e. time 
spent on 80 is minimal (redirect)?

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



Re: Tomcat and Spring Framework

2014-03-10 Thread Leo Donahue
On Mon, Mar 10, 2014 at 12:58 PM, Mark H. Wood mw...@iupui.edu wrote:

 It's probably worth asking what full-fledged enterprise applications
 means.  I'm not aware of any specification with that title.


That was a Spring term from the page I was reading, and the reason I
asked the question.

Tomcat itself is not a J(2)EE application server.  I have been under the
impression that one could successfully could implement *some* of the J(2)EE
stack carefully on Tomcat through other means.

Spring is one of those means?

From what I've been reading about Spring in the last three days is it is
essentially a bunch of design patterns turned into objects.  Dependency
Injection through patterns - I get that.  The AOP part of Spring is
basically a mechanism for applying object behavior to other objects without
composition.  I know i have that wording wrong, but essentially, AOP though
the use of point-cuts lets me applying object behavior of logging to other
objects without those objects being composed of my logging objects.  I
don't know how I would do that with a pattern, unless it is some kind of
front controller pattern - but I don't know.

So, Spring allows Tomcat to host full-fledged enterprise applications
that would normally require a J(2)EE application server like Glassfish?
That is what I was asking, without saying it specifically.


Re: Not able to connect to Tomcat via jconsole

2014-03-10 Thread Konstantin Kolinko
2014-03-10 23:51 GMT+04:00 Konstantin Kolinko knst.koli...@gmail.com:
 2014-03-10 22:11 GMT+04:00 Christopher Schultz 
 On 3/10/14, 1:20 PM, Christopher Schultz wrote:
 On 3/10/14, 12:58 PM, Christopher Schultz wrote:
 All,

 On 3/10/14, 12:52 PM, Christopher Schultz wrote:
 I stopped Tomcat, completely removed my web application,
 restarted Tomcat and I can connect without a problem.

 AFAIK, my application isn't doing anything with JMX.

 I'll try using my context.xml without any actual code
 involved.

 Okay, I've discovered that if I deploy my web application but
 remove WEB-INF/web.xml, I can still connect. Something my web
 application is doing is breaking something.

 I'll try to narrow-down what it is.

 (Again, AFAIK, I'm not mucking-around with any of Tomcat's
 internals... just a standard web application.)_

 It looks like I can reproduce this with just Velocity and Velocity
  Tools. I'll keep narrowing it down.

 I have a minimal test which I've attached (sort of) to this Bugzilla
 issue:
 https://issues.apache.org/bugzilla/show_bug.cgi?id=56242

 If anyone could give me some pointers at this stage, it would be
 greatly appreciated.


 Win7, 32-bit JDK 7u51
 Tomcat 8.0.3
 If I connect with jconsole, it displays an odd error message with the
 following title, text and two buttons (I suppose some resource is
 missing, so it displays message keys instead of actual text):

 ConnectionFailedSSL1
 ConnectionFailedSSL2
 [Insecure] [Cancel]

 If I press Insecure button, it connects successfully and shows
 Catalina JMX beans.

 The above happens regardless of whether your web application is deployed or 
 not.


The same SSL attachment failure
happens with JDK 7u51 + Tomcat 7.0.52.

Those meaningless messages are a known bug
https://bugs.openjdk.java.net/browse/JDK-8030878
but it does not explain why it fails in the first place.

I guess they somehow broke/tightened AttachAPI?

Removing -Djava.io.tmpdir from catalina.bat does not help.


2014-03-10 20:52 GMT+04:00 Christopher Schultz ch...@christopherschultz.net:

 I stopped Tomcat, completely removed my web application, restarted
 Tomcat and I can connect without a problem.

 AFAIK, my application isn't doing anything with JMX.


What is the state of Tomcat when you completely removed my web
application? Were there other web applications deployed on Tomcat?

I my test I had standard webapps (at least docs, manager, ROOT) there.

 AFAIK, my application isn't doing anything with JMX.

From a quick view, velocity 1.7 and velocity-tools 2.0 do not deal
with JMX either. The only imports of javax.* are those of Servlet API.

I wonder whether your issue is reproducible with Java 8 release
candidates, that some Oracle people were advertising on dev mailing
list.

Best regards,
Konstantin Kolinko

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



Re: Tomcat and Spring Framework

2014-03-10 Thread Daniel Mikusa
On Mar 10, 2014, at 4:16 PM, Leo Donahue donahu...@gmail.com wrote:

 On Mon, Mar 10, 2014 at 12:58 PM, Mark H. Wood mw...@iupui.edu wrote:
 
 It's probably worth asking what full-fledged enterprise applications
 means.  I'm not aware of any specification with that title.
 
 
 That was a Spring term from the page I was reading, and the reason I
 asked the question.
 
 Tomcat itself is not a J(2)EE application server.  I have been under the
 impression that one could successfully could implement *some* of the J(2)EE
 stack carefully on Tomcat through other means.

True.  You can use some parts of Java EE by simply including JAR files in your 
app.  Just to name a few JPA, JMS and / or Bean Validation can be included this 
way.  You don’t need Spring or even a container to do this though.

 Spring is one of those means?

Spring doesn't provide implementations of the Java EE specs, rather it aims to 
make using Java EE technologies easier.  This is true whether you deploy to a 
full stack Java EE container or Tomcat.

 From what I've been reading about Spring in the last three days is it is
 essentially a bunch of design patterns turned into objects.  Dependency
 Injection through patterns - I get that.  The AOP part of Spring is
 basically a mechanism for applying object behavior to other objects without
 composition.  I know i have that wording wrong, but essentially, AOP though
 the use of point-cuts lets me applying object behavior of logging to other
 objects without those objects being composed of my logging objects.  I
 don't know how I would do that with a pattern, unless it is some kind of
 front controller pattern - but I don't know.

By default, Spring does this with dynamic proxies.  Because you configure your 
beans and Spring creates them for you, it can easily wrap them in a proxy and 
through the proxy apply additional behaviors.  This works good in a lot of 
cases, but does have limitations.  Because of this Spring also support aspectj, 
which works through byte code manipulation.

 So, Spring allows Tomcat to host full-fledged enterprise applications
 that would normally require a J(2)EE application server like Glassfish?
 That is what I was asking, without saying it specifically.

Spring is a framework that aims to make your life as a developer easier when 
writing complicated or large applications (although it works nice for any size 
application).  I’m not sure I would call it a replacement for a JEE server like 
Glassfish though.  If you have an application that targets a JEE container like 
Glassfish or WebSphere, Spring is not magically going to make that application 
run in Tomcat.  Having said that, if you write the same application and use 
Spring instead of targeting a JEE container, many of the things that would have 
tied you to a full stack JEE container can be accomplished in smaller and 
lighter weight container like Tomcat.

Dan



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



Re: Not able to connect to Tomcat via jconsole

2014-03-10 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Konstantin,

On 3/10/14, 4:47 PM, Konstantin Kolinko wrote:
 2014-03-10 23:51 GMT+04:00 Konstantin Kolinko
 knst.koli...@gmail.com:
 2014-03-10 22:11 GMT+04:00 Christopher Schultz 
 On 3/10/14, 1:20 PM, Christopher Schultz wrote:
 On 3/10/14, 12:58 PM, Christopher Schultz wrote:
 All,
 
 On 3/10/14, 12:52 PM, Christopher Schultz wrote:
 I stopped Tomcat, completely removed my web application, 
 restarted Tomcat and I can connect without a problem.
 
 AFAIK, my application isn't doing anything with JMX.
 
 I'll try using my context.xml without any actual code 
 involved.
 
 Okay, I've discovered that if I deploy my web application
 but remove WEB-INF/web.xml, I can still connect. Something
 my web application is doing is breaking something.
 
 I'll try to narrow-down what it is.
 
 (Again, AFAIK, I'm not mucking-around with any of Tomcat's 
 internals... just a standard web application.)_
 
 It looks like I can reproduce this with just Velocity and
 Velocity Tools. I'll keep narrowing it down.
 
 I have a minimal test which I've attached (sort of) to this
 Bugzilla issue: 
 https://issues.apache.org/bugzilla/show_bug.cgi?id=56242
 
 If anyone could give me some pointers at this stage, it would
 be greatly appreciated.
 
 
 Win7, 32-bit JDK 7u51 Tomcat 8.0.3 If I connect with jconsole, it
 displays an odd error message with the following title, text and
 two buttons (I suppose some resource is missing, so it displays
 message keys instead of actual text):
 
 ConnectionFailedSSL1 ConnectionFailedSSL2 [Insecure] [Cancel]
 
 If I press Insecure button, it connects successfully and shows 
 Catalina JMX beans.
 
 The above happens regardless of whether your web application is
 deployed or not.
 
 
 The same SSL attachment failure happens with JDK 7u51 + Tomcat
 7.0.52.
 
 Those meaningless messages are a known bug 
 https://bugs.openjdk.java.net/browse/JDK-8030878 but it does not
 explain why it fails in the first place.

No, I have to attach insecurely no matter what. What happens to me
is *after* falling back to an insecure connection.

I gave up using jconsole after a while and used VisualVM exclusively
to track-down the cause because it would give me better information
(would connect with a mild error, JMX didn't work). I was able to
reproduce it with the small test case I attached to the BZ issue.

 I guess they somehow broke/tightened AttachAPI?
 
 Removing -Djava.io.tmpdir from catalina.bat does not help.


I'll see if I can get a Windows VM running to try another environment.
It's entirely possible this is a Mac / Oracle VM thing.

 2014-03-10 20:52 GMT+04:00 Christopher Schultz
 ch...@christopherschultz.net:
 
 I stopped Tomcat, completely removed my web application,
 restarted Tomcat and I can connect without a problem.
 
 AFAIK, my application isn't doing anything with JMX.
 
 
 What is the state of Tomcat when you completely removed my web 
 application? Were there other web applications deployed on
 Tomcat?

I removed everything in the webapps/ directory and restarted. I may or
may not have cleaned-out the work directory. There were no web
applications deployed at all. I can confirm that other web
applications (written by my team) can be deployed without causing this
problem.

 I my test I had standard webapps (at least docs, manager, ROOT)
 there.
 
 AFAIK, my application isn't doing anything with JMX.
 
 From a quick view, velocity 1.7 and velocity-tools 2.0 do not
 deal
 with JMX either. The only imports of javax.* are those of Servlet
 API.

I wouldn't have expected that they would. The only thing I could think
of was that maybe there was some kind of non-serializable object that
the remote client (jconsole) was attempting to access that for some
reason caused the whole thing to die. I would have expected a nicer
error... not something like can't connect using Attach API and
having both jconsole and YourKit fail utterly and VisualVM connecting
yet without JMX support.

 I wonder whether your issue is reproducible with Java 8 release 
 candidates, that some Oracle people were advertising on dev
 mailing list.

I could give that a try. I can also fall-back to Java 6, as Apple
still has packages for Java 6 i386 and x86_64 (both of which I have
installed and available).

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBCAAGBQJTHijxAAoJEBzwKT+lPKRY4vAQAJXROFkP430767lmFqA1TB8k
hQYoFvvj51MUYVt9Xoyv9GW0TYFWcBkVXeGRp5YhDMMr1pgueFaxcXmSEBwccTV3
OvIdqDm+eZFQcFGSm/6kzFMXIwJRcC0tym7PsmvUFYSAUkWGGGDpxpjbU5Yk79ZZ
4KB4c6DcAEUwxcaLi3TTcS6YB1/cZ6VoTy4onjqgMprQ6DhWFieWkfQKIlryamEi
APpw407K/qBt79YPoKBrld1Kcbvn3aKDFuJjs4JHMDLtjKRcrWITZXXCStAMe8rk
ugIXch0RP25H+XvK3nfmF8kw6MLNNSS3g7rDsYnIPIsQltD0HucL8+c7IoID8842
OuURHAUw1n+Cd6pW3wE+Av9Zivo3iPw72iAI8kZYn/z9T1lbc0M6w4/3e8bKysST
/gkExlj+CZ6SPy+qpl47ojX07ZktVosW4zJi7P+KtjxYOzLEnag+0tz0nTeB6kRs

Re: Tomcat and Spring Framework

2014-03-10 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Mark,

On 3/10/14, 3:58 PM, Mark H. Wood wrote:
 It's probably worth asking what full-fledged enterprise
 applications means.  I'm not aware of any specification with that
 title.

Those are applications you can charge more for. You know, because they
are enterprisey.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBCAAGBQJTHiklAAoJEBzwKT+lPKRYv+cP/0ndLOzYAc3wuXjgVCQeBHF4
fRM3IjJk33U3FP05TJneurVGwsLMMvpCVfjjMkawrw/bkRadvxzlK0noskl6YP5I
mWij+riT8E/iwMVYSqagl+jfJ1jF+Tca3kqtNvPq8b5h3Qcr/QlsYERIPzI0NpnD
hixELDm0KRBfuZOLVfOCIlkXy0rBlsplVrciUV0rROh7a3TOD2c7DTF2O36ik8sI
Bwbb0bgxa2VOuiUYQ/wGp3ow4+KLfl/+zP1XcQ/583/pAIOupgVHn8oOTF3QBTiZ
jdP8GbHVyLIoBh+xbSVlc9KURN3CtplSNpPxfAWkzxP7sCqV2vRTTIVIYqUec5vA
MxV5fvCI1MP2zcw3nK+N6sifmxPAQz26VtO6go834l9tfqxcvepW4Ny9xmX1zlg8
9YARLCaQl02lW9BnfILNrq6SB4Cfn7Y9BgSxetrkDHvYeeTMSYCzer0rO4+K5Sli
WcBfBrF5MZdRa2on6DJQEoKw3tE/J8/gREyIQoV8gUL1ZHJYKM56HDx31K8Rw22B
o/CktfkZV4t4ksA21SDJG2+hDldaN0ODOsIAV4Gvq5BjiuPRc7K8eESAoUdEPW62
Wfqbybcdj7WZixcQsxXoJnPKFi7atEQDcl/52NTu+Z6Kwa428zgrJtf7dn/5hxzZ
tZ7WUPlkfNUQ7bMIBWa/
=ky2v
-END PGP SIGNATURE-

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



Re: Tomcat and Spring Framework

2014-03-10 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Daniel,

On 3/10/14, 4:57 PM, Daniel Mikusa wrote:
 On Mar 10, 2014, at 4:16 PM, Leo Donahue donahu...@gmail.com
 wrote:
 
 On Mon, Mar 10, 2014 at 12:58 PM, Mark H. Wood mw...@iupui.edu
 wrote:
 
 It's probably worth asking what full-fledged enterprise
 applications means.  I'm not aware of any specification with
 that title.
 
 
 That was a Spring term from the page I was reading, and the
 reason I asked the question.
 
 Tomcat itself is not a J(2)EE application server.  I have been
 under the impression that one could successfully could implement
 *some* of the J(2)EE stack carefully on Tomcat through other
 means.
 
 True.  You can use some parts of Java EE by simply including JAR
 files in your app.  Just to name a few JPA, JMS and / or Bean
 Validation can be included this way.  You don’t need Spring or even
 a container to do this though.
 
 Spring is one of those means?
 
 Spring doesn't provide implementations of the Java EE specs, rather
 it aims to make using Java EE technologies easier.  This is true
 whether you deploy to a full stack Java EE container or Tomcat.
 
 From what I've been reading about Spring in the last three days
 is it is essentially a bunch of design patterns turned into
 objects.  Dependency Injection through patterns - I get that.
 The AOP part of Spring is basically a mechanism for applying
 object behavior to other objects without composition.  I know i
 have that wording wrong, but essentially, AOP though the use of
 point-cuts lets me applying object behavior of logging to other 
 objects without those objects being composed of my logging
 objects.  I don't know how I would do that with a pattern, unless
 it is some kind of front controller pattern - but I don't know.
 
 By default, Spring does this with dynamic proxies.  Because you
 configure your beans and Spring creates them for you, it can easily
 wrap them in a proxy and through the proxy apply additional
 behaviors.  This works good in a lot of cases, but does have
 limitations.  Because of this Spring also support aspectj, which
 works through byte code manipulation.
 
 So, Spring allows Tomcat to host full-fledged enterprise
 applications that would normally require a J(2)EE application
 server like Glassfish? That is what I was asking, without saying
 it specifically.
 
 Spring is a framework that aims to make your life as a developer
 easier when writing complicated or large applications (although it
 works nice for any size application).  I’m not sure I would call it
 a replacement for a JEE server like Glassfish though.  If you have
 an application that targets a JEE container like Glassfish or
 WebSphere, Spring is not magically going to make that application
 run in Tomcat.  Having said that, if you write the same application
 and use Spring instead of targeting a JEE container, many of the
 things that would have tied you to a full stack JEE container can
 be accomplished in smaller and lighter weight container like
 Tomcat.

Here's another plug for our friends over at TomEE, which adds
enterprisey-features to Tomcat's existing servlet, JSP, and EL spec
support by bundling and configuring other OSS components. Specifically:

CDI - Apache OpenWebBeans
EJB - Apache OpenEJB
JPA - Apache OpenJPA
JSF - Apache MyFaces
JTA - Apache Geronimo Transaction
Javamail - Apache Geronimo JavaMail
Bean Validation - Apache BVal

There's also a Plus version with some additional components for your
enterprising pleasure.

http://tomee.apache.org/apache-tomee.html

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBCAAGBQJTHinpAAoJEBzwKT+lPKRY94AQAJ2eSFHYMCIM0ajX7Qd8zSau
zhj5jn0yZSC7AfMtP5cMfTPY0Ah8i7nsfSTDjN7PccDDuTI2QwzHf6vu9ZHS0sH8
KRFSb5mtx8CofptjIoFjJcpmwVIE+OggBj5ldpbBNCeddvy42FBXBx1Mf56hL0io
/REGN6RHpt3DpshNEv63OzuLLDezBwBTcp44oRdaiozSRDEpyVLb4/yahbg41bLT
39ICcCq8wZ1dO8VWt9naLaQpYAYDSQxcwtqYbHJgWlL1tL9aBvMgFbo/Y9+aCCJa
EU5AiIzaaZLM04Yrhk3hYceajep1x5/JX3xKQt2jRo95N9ejHTQi9kBprdsGCTxq
5zQbdWD+9iDw8gg57mc1/qnUYTHXsz7shZh3aFTE70TTvUfNVj3fEMeKDrwdc5UJ
/lhsY1IIE3z6ZZcw23WpAg9g9lBfes0eYgwSSuEMAarI8IlLLFYTCskO6v5X+XNL
pYQ3iy52N7N/DxR0Rd7U+Ktyqi9oOIM6Aj9u7w/MgFBQAc+OPJlrAdi0PW5DE84x
QTa/9V46s8/qA9nhZvrJZ4NedN6PInPwtYs8kuU1HbpOv/Y9CVWh2lXLahPiAjzR
/Fznx41CrnDvE7kcN1P+yvo7jxhY+diaujW0p+MEUT9poqm9MbsW1+t8Pwq+uKw/
jsp3xWiKt68vAOIGM2wZ
=fU+F
-END PGP SIGNATURE-

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



Re: The Service Component

2014-03-10 Thread Leo Donahue
On Mon, Mar 10, 2014 at 10:15 AM, André Warnier a...@ice-sa.com wrote:


 It is particularly nice to know that it works, and that the Service
 element really (apparently) corresponds to something real at the Tomcat
 level.  So it is apparently not just an element of order allowing to
 group Connectors with Engine.
 Which is contrary to what I imagined, and which I believe definitely
 answers the original OP's question (at least the first part).


Yes, question answered.

So some use the multiple Service in server.xml for app isolation or in
place of virtual hosting.

Mr. Janner indicates he has to modify 7 values in his server.xml  I guess I
have that many as well.

I also find this is needed if running multiple instances of Tomcat but I
don't want to change the subject of this thread.

I have to change the following in server.xml when I add more Tomcat
instances or upgrade:

server shutdown port
connector port for HTTP
connector port for AJP
realm org.apache.catalina.realm.UserDatabaseRealm if digesting passwords in
tomcat-users.xml
host appbase (optional depending on config)
valve org.apache.catalina.valves.AccessLogValve (optional depending where
you like the root log to go)
cleaning up all the comments...

My down time is minimal, but I find I do some prep work before I remove
the old windows service and install the new.  My down time consists of the
time it takes to take one instance down and start the new one, and maybe 20
min of prep work glarring at the server.xml to make sure I didn't miss some
configuration.


Re: Executor thread pool

2014-03-10 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Jeffrey,

On 3/10/14, 4:15 PM, Jeffrey Janner wrote:
 -Original Message- From: Christopher Schultz
 [mailto:ch...@christopherschultz.net] Sent: Monday, March 10,
 2014 11:22 AM To: Tomcat Users List Subject: Re: Executor thread
 pool
 
 -BEGIN PGP SIGNED MESSAGE- Hash: SHA256
 
 John,
 
 On 3/10/14, 11:43 AM, John Smith wrote:
 How dumb am I being by not using an Executor with a named
 thread
 pool?
 Currently I just have a Connector in server.xml:
 
 Connector port=8080 
 protocol=org.apache.coyote.http11.Http11NioProtocol 
 connectionTimeout=2 redirectPort=8443 /
 
 An executor is being used under the covers... you just aren't 
 configuring it yourself.
 
 If you don't configure it yourself you lose out on these
 benefits:
 
 1. Shared executor for multiple Connectors. If you only have a
 single connector, obviously this matters little.
 
 2. You have less control over the underlying Executor if you
 don't manually configure it and let the Connector auto-create
 one. Check the documentation for
 http://tomcat.apache.org/tomcat-7.0- doc/config/executor.html
 against the thread-related configuration attributes available
 for, say, the HTTP connector here 
 http://tomcat.apache.org/tomcat-7.0-doc/config/http.html and
 you'll see what I mean.
 
 Assuming ~2000 simultaneous connections. Tomcat 7.0.42. RHEL6.
 
 2000 simultaneous connections really is quite a lot. Are you
 sure? 2000 simultaneous sessions isn't a stretch, but 2k
 connections is a big deal. How long are your transactions? What
 is the incoming request rate?
 
 
 How about the more likely 2 connector scenario, one for port 80 one
 for port 443? Any benefit of using the executor here?  Assuming
 sharing one between connectors, and web.xml configured to
 auto-route everything to SSL, i.e. time spent on 80 is minimal
 (redirect)?

+1

This allows you to handle N connections in-progress regardless of
which connector they connect through. Instead of having 50 threads for
HTTP and 500 threads for HTTPS, you can just drop the 50 threads for
HTTP and share all of them.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBCAAGBQJTHipaAAoJEBzwKT+lPKRY2TAP/jpcAioKUsOQ1lLVbLd7mFo0
F/Wq8OwpLnJtnUYQpMQXqNYvgyNF0PYj806rj2YZq1WQcAuzDiwsli+ox7GiSzv/
POEYiN7odnyKaoYIXbPTYt8SWP4xdd/5B/Qc+iVyzBvuHkK4eqoHeuyCZj9bmMEk
nLieDH9m+O3EHgvmEBLfjpe76seHFUzyGfFU62oh0eXcwe4Y4uUDnNTZtcVBf43b
MLTu5YsuYMJkGr9yB/egAqsVzrtN67czXEcrEzBl5ZDVdKRqbnaSfW3q+ntnJfGL
0iNdrKqJOLZnQNgOdfhCxxMCvD5XBlfntkRWvL+8BE2y5B5F0bH6Y7h7HUZPvA49
GNEuMiSaLILwAJP87lykQTiOhrOktCJzA5BvkVQPBDNCHg0b4+QONYOARRGAFhAQ
C+sLepOoj+XCr/2icZpuHOEFtr+OqCzzVxxOFCPy/dxsbVwlavWkq+dr6Wa4/lyf
UUetK4QBfaL4heoGHh5osW6aen/leZTHiYJvlPwlZxlJ0RZtqlhFkpOcNsLbky1R
6yT57Wivqa19HR7zWqvew0t0S0LmLB+FaILsN20W0nXCYMBFUGjsUislVsbXpSCD
R9wNykbM4BtR4I9RI5ltJ/npR63h4Yw0XYsVnsJewNgxeYEyiNPDK3t39Qpyxe2c
ciegPT6xwnyhCnwxnK3E
=e8Oj
-END PGP SIGNATURE-

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



Re: The Service Component

2014-03-10 Thread Leo Donahue
On Mon, Mar 10, 2014 at 7:26 AM, Jeffrey Janner jeffrey.jan...@polydyne.com
 wrote:

  -Original Message-
  From: Leo Donahue [mailto:donahu...@gmail.com]
  Sent: Friday, March 07, 2014 9:44 AM
  To: users@tomcat.apache.org
  Subject: The Service Component
 
  Who uses more than one Service in their server.xml and why?  I get that
  you can have multiple Connectors if you have multiple Service
  components but why use multiple connectors?
 
  Are there any docs on the use cases for these features?
 

 Hi Leo,
 I may be the only person on this list who does this consistently.
 I use it as an alternative method of virtual hosting, i.e. each host gets
 its own Service and related sub-structure.


You are lucky you have control over that.  I have no luck asking our data
center to add another host entry to our web server.  I always ask them,
isn't it easier than asking you for another vm?  :)


Re: [OT] The Service Component

2014-03-10 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Leo,

On 3/10/14, 5:10 PM, Leo Donahue wrote:
 I have to change the following in server.xml when I add more
 Tomcat instances or upgrade:
 
 server shutdown port connector port for HTTP connector port for
 AJP realm org.apache.catalina.realm.UserDatabaseRealm if digesting
 passwords in tomcat-users.xml host appbase (optional depending on
 config) valve org.apache.catalina.valves.AccessLogValve (optional
 depending where you like the root log to go) cleaning up all the
 comments...

I script all of this with ant. Since I segment all of my web
applications into separate JVM/Tomcat instances, I just need:

1. An appBase
2. A shutdown port
3. A normal port (usually AJP)
4. (optional) a loopback-only port for privileged applications that
want to access my instance locally without HTTPS, load-balancing, etc.

We have multiple devs using the same shared development environment,
so everyone has an app a and app b, and so on.

We create a parameterized server.xml file that basically says Server
shutdown=${tomcat-shutdown-port}, etc. and then ant takes a
user-specific configuration file and builds the configuration on the fly.

To deploy a new Tomcat instance, we just clone a started-project, give
it a name (in Ant's project name=... attribute) and it picks-up
the configuration from this user-config file.

$ ant install tomcat-start

That's all it takes us to build a properly-configured CATALINA_BASE,
install the web application under development and launch Tomcat. I've
been using this setup for over 10 years at this point, and it's been
fantastic.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBCAAGBQJTHjHGAAoJEBzwKT+lPKRYOqYQAI1kFtw2lR0IaqqCGnNwv3Mx
tO5gW2A0qpfsZozFx9he/e6wcJ7TWulFq4QIDhfY7lS2jluMln3txIw/kKE+ipfq
lS7+wecTjZ7tqcUzDtrIdKBiSigxhms3m4O9dgQ7HymYbLTG9nsCrS71tk96Rkhs
zLBUz/p8zyFtOvhqkbJfV0BwFmxnF8tFXGUJnV2fP642Ckp+7COdjzoNEISV9frD
nNl8upDpOKzg6m+Ap817fTzA2vPIpYmOpK7UbGLpInHO9fn91rSdhUQpKRweszFa
te6d6d5imD+S1GxdByt+PNaQkdAAdPcBUs8GtUA/dhvmVVRwEolHFG3p16CETX78
6PKC7fHAV+Ogu99MIAbg1Ny9faZ6/KHaUbb3pABceAuxbyP+CrE+Q5r5FijDUFBH
L3lDI4pjBqXxX+MZ1BsncVUiPyPxFeZJKx+e5EEWzX6j82cnplZ3VyUdaaocmXyE
h7Lg1s9nX+TztkriMHW+ysii3TLBESv68oND8dEoWwnJWtMC/R6mc8+IPTvydS4t
nbz/tWN+SW7jUt/gDh+HGgd67TfQ/PfkDGUyqLgJVMRhEt3vsjCXk18LnRfO6JzV
hsKRaAyLOoD163Vm8s0uyYzUyoNUCWm1OpH560cI5dAeGd0FFVzE9nBBhcIuyJcr
71pJ5GKKbZjBeE3QN37x
=XrG2
-END PGP SIGNATURE-

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



Re: Tomcat7w.exe

2014-03-10 Thread Howard W. Smith, Jr.
On Sun, Mar 9, 2014 at 3:53 PM, Leo Donahue donahu...@gmail.com wrote:

 On Fri, Mar 7, 2014 at 12:43 PM, Howard W. Smith, Jr. 
 smithh032...@gmail.com wrote:

 
  Actually, i hate clicking on things... I use Windows keyboard shortcuts
 as
  much as possible.
 

 Even when you run the following command, you still get a GUI.

 Tomcat7w //ES/Tomcat7


okay/true.



 Do you Ctrl + Tab your way through that dialog?


yes.



 Plus, I don't know what this is supposed to edit, but it doesn't change the
 values in the Tomcat7w.exe dialog:
 Tomcat7 //ES//Tomcat7 --Startup=Auto  (or Automatic)

 Running that command still shows Manual in the Startup type on the
 General tab.


okay. i never used/tried --Startup=..., because after creating the
Windows Service, I /simply/ use tomcat7w.exe (or Windows Start button 
Administratives Tools  Services) to change the value to 'Automatic'.


Re: Tomcat7w.exe

2014-03-10 Thread Howard W. Smith, Jr.
On Mon, Mar 10, 2014 at 10:37 AM, Jeffrey Janner 
jeffrey.jan...@polydyne.com wrote:

  -Original Message-
  From: Leo Donahue [mailto:donahu...@gmail.com]
  Sent: Friday, March 07, 2014 11:10 AM
  To: users@tomcat.apache.org
  Subject: Tomcat7w.exe
 
  Did I miss something in the documentation about renaming this if one is
  running multiple windows services of Tomcat?
 
  ex:
  #Prod port 80
  c:\apache-tomcat
  c:\apache-tomcat\apache-tomcat-7.0.52
  service install Tomcat7 (from bin directory here)
 
  #Dev port 8080
  c:\apache-tomcat-dev
  c:\apache-tomcat-dev\apache-tomcat-7.0.52
  service install Tomcat7dev (from bin directory here)
 
  If I run the Tomcat7w.exe from #Dev, all of those settings point to
  #Prod.
 
  Unless I change the name of Tomcat7w.exe in #Dev to Tomcat7devw.exe,
  then everything is fine.
 
  Was that listed in the docs somewhere and I missed it?

 Leo,
 If you use the Windows installer that the foundation thoughtfully
 provides, you'll see that the installer actually renames the executables to
 whatever you put in the Windows Service Name field.  So, if you use it to
 install one instance with the service name Prod, then in the bin
 directory, you will have Prod.exe and Prodw.exe.  If you second instance
 uses the service name Dev, then the bin directory will have Dev.exe and
 Devw.exe.  And when you go to look for those processes using Task Manager,
 or Process Explorer, or whatever tool you use, they will actually show up
 as those names.  No more trying to figure out which Tomcat.exe is which.
 Jeff



+1 that's good to know, as I may have a need to have multiple tomcat/tomee
instances. Thanks!



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




Re: [OT] The Service Component

2014-03-10 Thread Mark Eggers

On 3/10/2014 2:42 PM, Christopher Schultz wrote:

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Leo,

On 3/10/14, 5:10 PM, Leo Donahue wrote:

I have to change the following in server.xml when I add more
Tomcat instances or upgrade:

server shutdown port connector port for HTTP connector port for
AJP realm org.apache.catalina.realm.UserDatabaseRealm if digesting
passwords in tomcat-users.xml host appbase (optional depending on
config) valve org.apache.catalina.valves.AccessLogValve (optional
depending where you like the root log to go) cleaning up all the
comments...


I script all of this with ant. Since I segment all of my web
applications into separate JVM/Tomcat instances, I just need:

1. An appBase
2. A shutdown port
3. A normal port (usually AJP)
4. (optional) a loopback-only port for privileged applications that
want to access my instance locally without HTTPS, load-balancing, etc.

We have multiple devs using the same shared development environment,
so everyone has an app a and app b, and so on.

We create a parameterized server.xml file that basically says Server
shutdown=${tomcat-shutdown-port}, etc. and then ant takes a
user-specific configuration file and builds the configuration on the fly.

To deploy a new Tomcat instance, we just clone a started-project, give
it a name (in Ant's project name=... attribute) and it picks-up
the configuration from this user-config file.

$ ant install tomcat-start

That's all it takes us to build a properly-configured CATALINA_BASE,
install the web application under development and launch Tomcat. I've
been using this setup for over 10 years at this point, and it's been
fantastic.

- -chris


Yep,

I've done something similar with ant and property files. We version 
control the property files so if values need changing, we have a record.


The way we do upgrades is pretty handy.

1. create a new service with a new CATALINA_BASE and CATALINA_HOME
2. shut down the old service
3. move two links (to the new CATALINA_BASE and CATALINA_HOME)
4. start the new service

Step 1 has no impact on production, so we can do this well in advance.

Rollback is just as easy - repeat steps 2-4. It takes longer to do the 
bookkeeping than it does to do the actual upgrade (or downgrade).


The script also has the capability of adding (or deleting) Host nodes. 
Each Host node gets its own properties file.


This is done on Linux, so links work as expected.

In short, there are lots of ways to manage a bunch of Tomcat instances 
with little effort.


. . . . just my two cents.
/mde/

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



Re: Tomcat and Spring Framework

2014-03-10 Thread Neven Cvetkovic
On Mon, Mar 10, 2014 at 3:58 PM, Mark H. Wood mw...@iupui.edu wrote:

 It's probably worth asking what full-fledged enterprise applications
 means.  I'm not aware of any specification with that title.


Mark, you are right - there is no specification named full-fledged
enterprise JEE server. There is only one JEE specification (well few
different versions, e.g. JEE5, JEE6, JEE7 see links below), and other
related specifications (EJB, Servlet, etc...)

What I meant is that - historically, Tomcat implemented only a subset of
functionalities of a JEE application server. Namely, Tomcat implemented the
Servlet specification (e.g. Servlet 2.4, 2.5, 3.0, 3.1... ) - whereas,
full-fledged JEE appservers had to implement the entire stack of APIs
that were part of that JEE specification.

Dan provided some great discussion points and summary on comparing Spring
and JEE. If you search online, you will probably find a lot of heated
discussion which one is better, do they complement each other, how they
compare, how they differ, etc...

Bottom line, Spring framework is used by many and it makes it easier to
develop enterprise applications. Similarly, JEE (JEE5, JEE6, JEE7) is used
by many, and now, it makes it easier to develop enterprise applications,
finally (compared to previous J2EE implementations).

Historically, one of the main complaints when developing applications was
the server startup time on developer machines. Tomcat has traditionally
been very quick to startup, whereas (old) JEE servers took forever to
startup (I am looking at you WebSphere :) which caused major grief
redeploying, restarting, and managing appservers in development. Any change
would take forever to restart and test. Of course, that's been long fixed
now - JBoss/Wildfly, Glassfish, WebSphere (Liberty), etc... they all have
significantly reduced appserver startup time.

Please ask - if you have specific questions.

Links:
[1] JEE5 - https://jcp.org/en/jsr/detail?id=244
[2] JEE6 - https://jcp.org/en/jsr/detail?id=316
[3] JEE7 - https://jcp.org/en/jsr/detail?id=342


Re: Tomcat and Spring Framework

2014-03-10 Thread Rossen Stoyanchev
On Mon, Mar 10, 2014 at 3:58 PM, Mark H. Wood mw...@iupui.edu wrote:

 It's probably worth asking what full-fledged enterprise applications
 means.  I'm not aware of any specification with that title.



Indeed there is no such specification. The point is that Java enterprise
development is not always defined nor does it have to be defined by specs.
The spec development process is tricky at best. You have to do it not too
early (ahead of experience) and not too late either.

Open source is actually in a much better position to evolve continuously by
capturing developer feedback and providing results quickly. So certainly
don't discount just because it's not a spec.

Rossen