users@glassfish.java.net

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

From: <modjklist_at_comcast.net>
Date: Thu, 16 Feb 2012 23:03:28 +0000 (UTC)

Thanks so much Amy, this is VERY helpful. When I was searching around for advice a lot of people were still using your 2009 blog for setting things up in v3, and I wondered why things were so different than the official documentation. Your new blog will really help people.

The only comment I have is I never could figure out why the server.log file reports "WARNING JK properties file ... does not exist". I searched the domain.xml file and glassfish-jk.properties file isn't mentioned there. I also tried your recommended command:

asadmin> set server-config.network-config.network-listeners.network-listener.jk-connector.jk-configuration-file=

but it didn't remove the warning. In the end I just left it alone because I didn't think it'd break anything. No worries. Thanks again! GKK


----- Original Message -----
From: "Amy Roh" <amy.roh_at_oracle.com>
To: users_at_glassfish.java.net
Sent: Thursday, February 16, 2012 1:11:14 PM
Subject: Re: how to eliminate SEVERE errors (No class name for worker...) when starting up domain?

FYI, since the question with mod_jk setup comes up frequently on the alias, I've posted a new blog with full instruction - http://weblogs.java.net/blog/amyroh/archive/2012/02/15/running-glassfish-312-apache-http-server .

Amy

On 2/13/12 9:10 PM, Amy Roh wrote:



On 2/13/12 7:53 PM, modjklist_at_comcast.net wrote:


Hi Amy,


If I skip this line,




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


during the install process, it complains in the server.log file (even though I've deleted the network listener (jk-connector) then created a new one)"



[#|2012-02-13T19:42:06.458-0800|WARNING|glassfish3.1.1|javax.enterprise.system.container.web.com.sun.enterprise.web.connector.coyote|_ThreadID=10;_ThreadName=Thread-2;|WEB0343: JK properties file /home/glassfish/glassfish3/glassfish/domains/domain1/config/glassfish-jk.properties does not
exist |#]
This is just a warning that you have jk-configuration-file defined but the file doesn't exist to let you know that it's missing.







I'm guessing the settings for glassfish-jk.properties survived this process. Is there a way to undo that set jk.configuration-file command above to eliminate glassfish-jk.properties (since I can set maxThreads from admin console instead of using this file)? You can either edit the domain.xml or "asadmin set server-config.network-config.network-listeners.network-listener.jk-connector.jk-configuration-file=" should do it.

Amy








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 6:47:58 PM
Subject: Re: how to eliminate SEVERE errors (No class name for worker...) when starting up domain?



On 2/13/12 6:18 PM, modjklist_at_comcast.net wrote:



Hi Amy,


Thanks for all the help! The SEVERE errors disappeared by including the apache/conf/workers.properties file as you expected (yay!).

Great!







I even eliminated the WARNING for threadpool.max_threads_too_low because I had mistakenly increased the Default configuration rather than the Server configuration's settings in the web console (after I increased the server configuration's settings the warning went away).


Some follow-up questions:


1. Do my final (and complete) configuration settings below look OK?




asadmin> start-domain --port 4850
asadmin> deploy /home/glassfish/apps/hello.war --port 4850


asadmin> create-networ k-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> create-jvm-options -Dcom.sun.enterprise.web.connector.enableJK.propertyFile=/home/glassfish/glassfish3/glassfish/domains/domain1/config/glassfish-jk.properties --port 4850

asadmin> restart-domain --port 4850



We didn't talk about the 2nd to last line above (e.g. create-jvm-options), but it's mentioned in step 7 here: http://docs.oracle.com/cd/E18930_01/html/821-2416/gfaad.html
You don't need the create-jvm-option step. The jvm-option was needed before since http-listener (unlike network-listener) didn't support jk-configuration-file attribute.








2. Can you give specific details on how to exactly set maxThreads using the admin console? For example, how to navigate to the screen where the setting may be input, and which fields to fill out what, etc.?
Go to Configurations ->server-config -> Thread Pools -> http-thread-pool -> and edit Max Thread Pool Size.

Amy








Thanks so much, -GKK


From: "Amy Roh" <amy.roh_at_oracle.com>
To: users_at_glassfish.java.net
Sent: Monday, February 13, 2012 5:09:37 PM
Subject: Re: how to eliminate SEVERE errors (No class name for worker...) when starting up domain?



On 2/13/12 4:37 PM, modjklist_at_comcast.net wrote:


Hi Amy,


Over the last week I tried to find examples for setting connector attributes using glassfish-jk.properties, but could find much. Most of the time I see things like this (scroll down to bottom):


http://code.google.com/p/eid-archetype/wiki/UsageJavaEE6


where the ONLY thing inside the glassfish-jk.properties file are worker info.


Example 6-5 here http://docs.oracle.com/cd/E18930_01/html/821-2416/gfaad.html is also misleading when it says "This example shows a workers.properties or glassfish-jk.properties file that is set for mod_jk ."


I see where you're getting mislead. There should be two properties files. One for workers (referenced by JkWorkersFile from httpd.conf) and another one for Connector (referenced by server-config.network-config.network-listeners.network-listener.jk-connector.jk-configuration-file). The above example uses glassfish-jk.properties as the file name for JkWorkersFile to define workers info where I was using glassfish-jk.properties name to refer to the other (Connector attributes).

Try adding the following to apache/conf/httpd.conf and add worker info in workers.properties

JkWorkersFile conf/workers.properties

Add maxThreads=256 to glassfish-jk.properties and set it either using admin console or asadmin set command.

set server-config.network-config.network-listeners.network-listener.jk-connector.jk-configuration-file=/home/glassfish/glassfish3/glassfish/domains/domain1/config/glassfish-jk.properties

You can find the format of Properties from http://docs.oracle.com/javase/6/docs/api/java/util/Properties.html . See load for key/element examples.

I will relay this input to the docs team to update the docs to be more clear in the next release.

Thanks,
Amy







Do you have an example glassfish-jk.properties file you could send me? I want to see the correct syntax for setting attributes.



For example, should the glassfish-jk.properties file be:


protocol=AJP/1.3
maxThread=256


or,


protocol="AJP/1.3"
maxThreads="256"


or something else(?).


Maybe I missed this in the documentation somewhere? Thanks, GKK




From: "Amy Roh" <amy.roh_at_oracle.com>
To: users_at_glassfish.java.net
Sent: Monday, February 13, 2012 3:56:06 PM
Subject: Re: how to eliminate SEVERE errors (No class name for worker...) when starting up domain?



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:



asad min> 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