users@glassfish.java.net

Re: how to eliminate SEVERE errors (No class name for worker...) when starting up domain?

From: Amy Roh <amy.roh_at_oracle.com>
Date: Mon, 13 Feb 2012 15:56:06 -0800

On 2/13/12 3:38 PM, modjklist_at_comcast.net wrote:
> Hi Amy, I'll add a workers.properties file as well (you might make a
> note to clarify this in the Administration Guide). I guess this opens
> the question -- should the glassfish-jk.properties file then contain
> everything the workers.properties file contains PLUS the additional
> attributes such as maxThreads (or just those additional attributes
> such as MaxThreads, and not worker.list=worker1,
> worker.worker1.type=ajp13, etc.)?
glassfish-jk.properties is for Connector attributes only so you
shouldn't put worker info there.

>
> Also, I previously used the GlassFish web-console (port 4850 for me)
> to manually adjust the "max thread pool size" for http-thread-pool
> from 5 to 200 (which didn't improve the thread size warning). Will
> your recommended command,
I didn't see that you already did this. If you'd done admin console to
update then asadmin set isn't necessary.

Amy

>
> asadmin set
> configs.config.server-config.thread-pools.thread-pool.http-thread-pool.max-thread-pool-size=newvalue'
>
> attempt to do the same thing (assuming I use 200 for "new value")? The
> max size for admin-thread-pool is 50 and thread-pool-1 is 200, so none
> of these 3 thread pools should be the issue (that is, unless the
> thread pool size is supposed to update from default values at a time
> later than the warning message issues).
>
> Lastly, I'll use the following commands as mentioned below unless you
> recommend otherwise:
>
> asadmin> delete-http-listener jk-connector
> asadmin> create-network-listener --protocol http-listener-1
> --listenerport 8009 --jkenabled true jk-connector --port 4850
> asadmin> set
> server-config.network-config.network-listeners.network-listener.jk-connector.jk-configuration-file=/home/glassfish/glassfish3/glassfish/domains/domain1/config/glassfish-jk.properties
> --port 4850
>
> Thanks, GKK
>
> ------------------------------------------------------------------------
> *From: *"Amy Roh" <amy.roh_at_oracle.com>
> *To: *modjklist_at_comcast.net
> *Cc: *users_at_glassfish.java.net
> *Sent: *Monday, February 13, 2012 3:18:40 PM
> *Subject: *Re: how to eliminate SEVERE errors (No class name for
> worker...) when starting up domain?
>
>
>
> On 2/13/12 2:14 PM, modjklist_at_comcast.netwrote:
>
> Thanks Amy, REALLY appreciate your input here. One question before
> I go through this process again... can you help me straighten out
> the use of workers.properties and/or glassfish.jk-properties
> files? This is my thinking process:
>
> The Administrator Guide
> (seehttp://docs.oracle.com/cd/E18930_01/html/821-2416/
> <http://www.java.net/external?url=http://docs.oracle.com/cd/E18930_01/html/821-2416/> and
> click on the PDF link, turn to page 151, specifically step 2 and
> bullet #2) says "apache2/conf/workers.properties or
> /domain-dir//conf/glassfish-jk.properties (to use non-default
> values of attributes described at
> http://tomcat.apache.org/tomcat-5.5-doc/config/ajp.html)". This
> could be interpreted two ways:
>
> Way 1:
>
> Configure apache2/conf/workers.properties file. Or, if you want to
> use non-default values of attributes described at
> http://tomcat.apache.org/tomcat-5.5-doc/config/ajp.html, then
> configure /domain-dir//conf/glassfish-jk.properties instead.
>
> Way 2:
>
> If you want to use non-default values of attributes described at
> http://tomcat.apache.org/tomcat-5.5-doc/config/ajp.html, then
> configure either /domain-dir//conf/glassfish-jk.properties
> or apache2/conf/workers.properties file.
>
> I interpreted this as Way 1, and since I want to adjust the
> default value of "maxThreads" described
> athttp://tomcat.apache.org/tomcat-5.5-doc/config/ajp.html from 200
> to 256, I am using glassfish-jk.properties file (and NOT using
> workers.properties file).
>
> Here's my glassfish-jk.properties file:
>
> worker.list=worker1
>
> worker.worker1.type=ajp13
>
> worker.worker1.host=localhost
>
> worker.worker1.port=8009
>
> maxThreads = 256
>
>
> You should still configure workers.properties file. If you want to
> configure additional non-default properties for connector, you can use
> glassfish.jk.properties in additional to workers.properties file.
>
> So I'd add workers.properties file with the following which should
> remove 'No class name for worker.worker1 worker' error.
> worker.list=worker1
> worker.worker1.type=ajp13
> worker.worker1.host=localhost
> worker.worker1.port=800
>
> Can you try 'asadmin set
> configs.config.server-config.thread-pools.thread-pool.http-thread-pool.max-thread-pool-size=newvalue'
> for the thread-pool warning?
>
> Amy
>
>
> This glassfish-jk.properties file is located in the
> /domain-dir//conf directory. I don't have any other properties
> files nor is this glassfish-jk.properties file located in the
> apache/conf directory or anywhere else. It is referenced in
> httpd.conf file here:
>
>
> LoadModule jk_module modules/mod_jk.so
>
> JkWorkersFile
> /home/glassfish/glassfish3/glassfish/domains/domain1/config/glassfish-jk.properties
>
>
> JkLogFile /etc/httpd/logs/mod_jk.log
>
> JkLogLevel warn
>
> JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
>
> JkOptions +ForwardKeySize +ForwardURICompat
> -ForwardDirectories
>
> JkRequestLogFormat "%w %V %T"
>
>
> Finally, when I bring up the domain again, based on your input
> below, I'll plan to use the following commands:
>
> asadmin> delete-http-listener jk-connector
> asadmin> create-network-listener --protocol http-listener-1
> --listenerport 8009 --jkenabled true jk-connector --port 4850
> asadmin> set
> server-config.network-config.network-listeners.network-listener.jk-connector.jk-configuration-file=/home/glassfish/glassfish3/glassfish/domains/domain1/config/glassfish-jk.properties
> --port 4850
>
> (note: I didn't set --listeneraddress 0.0.0.0, etc. when issuing
> create-network-listener, but let me know if I should)
>
> Does this look OK? If not, what would you change? Then, I'll try
> again.
>
> Thanks, GKK
>
> ------------------------------------------------------------------------
> *From: *"Amy Roh" <amy.roh_at_oracle.com>
> *To: *users_at_glassfish.java.net
> *Sent: *Monday, February 13, 2012 1:33:30 PM
> *Subject: *Re: how to eliminate SEVERE errors (No class name for
> worker...) when starting up domain?
>
>
>
> On 2/13/12 11:40 AM, modjklist_at_comcast.netwrote:
>
> Hello, I just joined the mailing list and coincidently saw one
> of my forum posting
> <http://www.java.net/forum/topic/glassfish/glassfish/need-help-glassfish-install-front-ended-apache2-modjk#comment-822065>
> appear at users_at_glassfish.java.net after I edited it. I now
> realize people on the mailing list may reply to the forum
> posting having only viewed the last posting in the forum. Thus
> I'm writing this email to try to summarize the complete
> question in one email. I'll continue to update my forum
> posting based on whatever I learn. One thing I don't know is
> if this email will trigger a new forum posting (in which case
> I'll close the original forum posting).
>
> I have a new CentOS 6.2 server with fresh installs of
> GlassFish 3.1.1, Apache 2.2.21, mod_jk 1.2.32, and using the
> bug fix grizzly tar file (see here
> <http://java.net/jira/browse/GLASSFISH-17068?page=com.atlassian.jira.plugin.system.issuetabpanels%3Aall-tabpanel>)
> to get mod_jk working. I'm using the recommended hello.war
> file to verify correct operation. This application runs fine
> when accessed externally over the internet.
>
> However, I notice one type of SEVERE error in my server.log
> file, which occurs multiple times. The error appears every
> time I restart the domain (that is, asadmin> restart-domain
> --port 4850). At the bottom of this email, I cut-and-pasted a
> snippet of the server.log file showing this error, and I've
> attached the domain.xml file as well in case it helps.
>
> QUESTION 1: How to eliminate the SEVERE errors for...
>
> |No class name for worker.worker1 worker|
>
> QUESTION 2: How to remove the WARNING related to:
> |threadpool.max_threads_too_low|.
>
> Which thread pool are they referring to? If I type: # asadmin>
> list-threadpools server
>
> admin-thread-pool
> http-thread-pool
> thread-pool-1
>
> I changed the http-thread-pool max size from 5 to 200 in the
> admin web-console then restarted the domain, but this had no
> effect on the WARNING message in server.log shown below. How
> to remove this warning?
>
> QUESTION 3: The official Administration Guide uses the
> following lines to bring up GlassFish:
>
> asadmin> deploy /path/to/file/hello.war --port 4850
> asadmin> create-http-listener --listenerport 8009 --listeneraddress 0.0.0.0 --defaultvs server gf_listener --port 4850
> asadmin> create-network-listener --protocol http-listener-1 --listenerport 8009 --jkenabled true jk-connector --port 4850
> asadmin> set server-config.network-config.network-listeners.network-listener.jk-connector.jk-configuration-file=/home/glassfish/glassfish3/glassfish/domains/domain1/config/glassfish-jk.properties --port 4850
> asadmin> restart-domain --port 4850
>
> I obtained the above lines from: go
> tohttp://docs.oracle.com/cd/E18930_01/html/821-2416/
> <http://www.java.net/external?url=http://docs.oracle.com/cd/E18930_01/html/821-2416/> and
> click on the PDF link, turn to page 151 and see Steps 5 and 6,
> which shows the above sequence. However, Amy's blog
> <http://weblogs.java.net/blog/amyroh/archive/2009/06/running_glassfi.html> (http://weblogs.java.net/blog/amyroh/archive/2009/06/running_glassfi.html)
> only creates http-listener (not a network-listener), and the
> set command is different between the two. I assume the 3.1.1
> documentation to be more relevant than Amy's blog, since this
> blog was written in 2009. Would LOVE to know which method is
> officially recommended. Here is Amy's sequence:
>
> asadmin> deploy /path/to/file/hello.war --port 4850
> asadmin> create-http-listener --listenerport 8009 --listeneraddress 0.0.0.0 --defaultvs server jk-connector --port 4850
> asadmin> set configs.config.server-config.network-config.network-listeners.network-listener.jk-connector.jk-enabled=true --port 4850
> asadmin> restart-domain --port 4850
>
>
> I read the doc again and I agree it could be misleading to use
> both create-http-listener and create-network-listener. You should
> use either and not both. I've talked to the doc person and he
> will update this section to be more clear in the 3.1.2 release.
>
> All you need to do is the following with 3.1.1 if you're not using
> glassfish-jk.properties file.
>
> (1) asadmin create-network-listener--protocol http-listener-1
> --listenerport 8009 --jkenabled true jk-connector
> (2) restart GF
>
> That's it.
>
> If I use the 3.1.1 documentation, I'm not quite sure why I
> need to issue a create-http-listener as well as a
> create-network-listener. Could someone explain when one is
> used versus the other and if they're always both required,
> etc.? I couldn't find information regarding this anywhere, so
> I'm following the 3.1.1 Administrative Guide document to the
> letter. Anyway, I tried both methods, and they both result in
> the same problems noted above, except the 3.1.1
> documentation's method duplicates the SEVERE errors twice
> (once for each of http-listener and network-listener), whereas
> Amy's method simply has SEVERE errors for the http-listener.
>
> Here's what I placed in httpd.conf:
>
> LoadModule jk_module /etc/httpd/modules/mod_jk.so
> JkWorkersFile /home/glassfish/glassfish3/glassfish/domains/domain1/config/glassfish-jk.properties
> JkLogFile /etc/httpd/logs/mod_jk.log
> JkLogLevel debug
> JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
> JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
> JkRequestLogFormat "%w %V %T"
> ...
> Listen 0.0.0.0:80
>
> The glassfish-jk.properties file is:
>
> worker.list=worker1
> worker.worker1.type=ajp13
> worker.worker1.host=localhost
> worker.worker1.port=8009
> maxThreads=256
>
>
> I didn't see that you set
> network-listener.jk-configuration-file=glassfish-jk.properties
> above. This isn't necessary and you can just put workers info in
> apache/conf.
>
> Do you have the following workers.properties in apache/conf?
>
> worker.list=worker1
> worker.worker1.type=ajp13
> worker.worker1.host=localhost
> worker.worker1.port=8009
>
>
> I'd suggest the following -
>
> * Copy the above workers.properties in apache/conf
> * Restart Apache
> * Delete all jk listeners you created (or start with clean
> domain.xml)
> * asadmin create-network-listener--protocol http-listener-1
> --listenerport 8009 --jkenabled true jk-connector
> * Restart GF
>
> Let me know if you still get errors.
>
> Amy
>
> I followed Amy's method to bring up the GlassFish domain (see
> above), and as soon as GlassFish comes up, I look at the
> server.log file. Here's a snippet showing SEVERE error for "No
> class name for worker..." and WARNING for
> threadpool.max_threads_too_low (and my desperate plea for help):
>
> [#|2012-02-13T09:58:34.900-0800|INFO|glassfish3.1.1|org.glassfish.ha.store.spi.BackingStoreFactoryRegistry|_ThreadID=10;_ThreadName=Thread-2;|Registered
> org.glassfish.ha.store.adapter.cache.ShoalBackingStoreProxy
> for persistence-type = replicated in Bac
>
> kingStoreFactoryRegistry|#]
>
> [#|2012-02-13T09:58:35.676-0800|INFO|glassfish3.1.1|javax.enterprise.system.core.com.sun.enterprise.v3.services.impl|_ThreadID=13;_ThreadName=Thread-2;|Grizzly
> Framework 1.9.36 started in: 48ms - bound to [0.0.0.0:8080]|#]
>
> [#|2012-02-13T09:58:35.676-0800|INFO|glassfish3.1.1|javax.enterprise.system.core.com.sun.enterprise.v3.services.impl|_ThreadID=12;_ThreadName=Thread-2;|Grizzly
> Framework 1.9.36 started in: 15ms - bound to [0.0.0.0:3700]|#]
>
> [#|2012-02-13T09:58:35.676-0800|INFO|glassfish3.1.1|javax.enterprise.system.core.com.sun.enterprise.v3.services.impl|_ThreadID=14;_ThreadName=Thread-2;|Grizzly
> Framework 1.9.36 started in: 26ms - bound to [0.0.0.0:4850]|#]
>
> [#|2012-02-13T09:58:35.676-0800|INFO|glassfish3.1.1|javax.enterprise.system.core.com.sun.enterprise.v3.services.impl|_ThreadID=11;_ThreadName=Thread-2;|Grizzly
> Framework 1.9.36 started in: 10ms - bound to [0.0.0.0:7676]|#]
>
> [#|2012-02-13T09:58:35.676-0800|INFO|glassfish3.1.1|javax.enterprise.system.core.com.sun.enterprise.v3.services.impl|_ThreadID=15;_ThreadName=Thread-2;|Grizzly
> Framework 1.9.36 started in: 31ms - bound to [0.0.0.0:8181]|#]
>
> [#|2012-02-13T09:58:35.747-0800|INFO|glassfish3.1.1|javax.enterprise.system.core.com.sun.enterprise.v3.admin.adapter|_ThreadID=10;_ThreadName=Thread-2;|The
> Admin Console is already installed, but not yet loaded.|#]
>
> [#|2012-02-13T09:58:36.098-0800|INFO|glassfish3.1.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=10;_ThreadName=Thread-2;|WEB0169:
> Created HTTP listener [http-listener-1] on host/port
> [0.0.0.0:8080]|#]
>
> [#|2012-02-13T09:58:36.111-0800|INFO|glassfish3.1.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=10;_ThreadName=Thread-2;|WEB0169:
> Created HTTP listener [http-listener-2] on host/port
> [0.0.0.0:8181]|#]
>
> [#|2012-02-13T09:58:36.121-0800|INFO|glassfish3.1.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=10;_ThreadName=Thread-2;|WEB0169:
> Created HTTP listener [admin-listener] on host/port
> [0.0.0.0:4850]|#]
>
> [#|2012-02-13T09:58:36.140-0800|INFO|glassfish3.1.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=10;_ThreadName=Thread-2;|WEB0170:
> Apache mod_jk/jk2 attached to virtual-server [server]
> listening on port [8,009]|#]
>
> [#|2012-02-13T09:58:36.178-0800|INFO|glassfish3.1.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=10;_ThreadName=Thread-2;|WEB0171:
> Created virtual server [server]|#]
>
> [#|2012-02-13T09:58:36.181-0800|INFO|glassfish3.1.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=10;_ThreadName=Thread-2;|WEB0171:
> Created virtual server [__asadmin]|#]
>
> [#|2012-02-13T09:58:36.829-0800|INFO|glassfish3.1.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=10;_ThreadName=Thread-2;|WEB0172:
> Virtual server [server] loaded default web module []|#]
>
> [#|2012-02-13T09:58:37.005-0800|SEVERE|glassfish3.1.1|org.apache.jk.server.JkMain|_ThreadID=10;_ThreadName=Thread-2;|No
> class name for worker.worker1 worker|#]
>
> [#|2012-02-13T09:58:37.005-0800|SEVERE|glassfish3.1.1|org.apache.jk.server.JkMain|_ThreadID=10;_ThreadName=Thread-2;|No
> class name for worker.worker1 worker|#]
>
> [#|2012-02-13T09:58:37.005-0800|SEVERE|glassfish3.1.1|org.apache.jk.server.JkMain|_ThreadID=10;_ThreadName=Thread-2;|No
> class name for worker worker|#]
>
> [#|2012-02-13T09:58:37.006-0800|SEVERE|glassfish3.1.1|org.apache.jk.server.JkMain|_ThreadID=10;_ThreadName=Thread-2;|No
> class name for worker.worker1 worker|#]
>
> [#|2012-02-13T09:58:37.006-0800|INFO|glassfish3.1.1|org.apache.jk.common.ChannelSocket|_ThreadID=10;_ThreadName=Thread-2;|JK:
> ajp13 listening on /0.0.0.0:8009|#]
>
> [#|2012-02-13T09:58:37.012-0800|WARNING|glassfish3.1.1|org.apache.tomcat.util.threads.ThreadPool|_ThreadID=10;_ThreadName=Thread-2;|threadpool.max_threads_too_low|#]
>
> [#|2012-02-13T09:58:37.026-0800|INFO|glassfish3.1.1|org.apache.jk.server.JkMain|_ThreadID=10;_ThreadName=Thread-2;|Jk
> running ID=0 time=0/32 config=null|#]
>
> [#|2012-02-13T09:58:37.603-0800|INFO|glassfish3.1.1|javax.enterprise.system.core.com.sun.enterprise.v3.services.impl|_ThreadID=10;_ThreadName=Thread-2;|core.start_container_done|#]
>
> [#|2012-02-13T09:58:37.892-0800|INFO|glassfish3.1.1|javax.enterprise.system.core.security.com.sun.enterprise.security|_ThreadID=10;_ThreadName=Thread-2;|SEC1002:
> Security Manager is OFF.|#]
>