Saturday, January 4, 2014

WebLogic Startup Mode: Development or Production


Differences

Startup Mode
Development                    Production
Auto deployment
(to admin server only)
YesNo
Automatically created
boot.properties for Admin server only under
$DOMAIN_HOME/servers/$SERVER_NAME/security 
YesNo
Nodemanger username and password
default admin
credentials
randomly
generated
SSL demo certificates cause warning in log files
NoYes
Log file are rotated at server startup
YesNo
On demand deployment of internal applications as default
YesNo
Availability of web service test client
YesNo
Availability of Classloader Analysis Tool
YesNo
Availability of Fast Swap
YesNo
Change Center Enabled
NoYes
Default start parameters
when using Sun JDK and the default
startWebLogic script 
java
-client
-Xms256m
-Xmx512m
-XX:CompileThreshold=
8000
-XX:PermSize=128m
-XX:MaxPermSize=256m
java
-server
-Xms256m
-Xmx512m
-XX:MaxPermSiz=256m
The following settings in the weblogic.xml deployment descriptors default to -1:
NoYes
Differences in previous WebLogic versions:
Up to WebLogic 11:
Default JDK used for new domain
SunJRockit
Up to WebLogic 8 only:
Default number of execute threads
1525
Up to WebLogic 8 only:
maximum number of JDBC connections default setting
1525




Configuration

There is different ways to configure the WebLogic startup mode:
  1. The startup mode can be configured with the admin console, as shown on the screenshot below (requires a restart). Once it’s set to production mode it cannot be reverted with the admin console.
  2. Supply the -Dweblogic.ProductionModeEnabled=true switch as startup parameter
  3. Set the PRODUCTION_MODE variable in the setDomainEnv script in the directory DOMAIN_NAME/bin.

What you should know

Some issues to be aware of:
  • The differences between the two settings depend on the WebLogic version. This can be a bit confusing when you are running different environments with different versions. See the table above: For WebLogic 8 the maximum number of connections in a JDBC connection pool defaults to 25 in production mode (but 15 in development mode); for WebLogic 12c it defaults to 15 in both cases.
  • You cannot revert to development mode from the WebLogic admin console. It’s like the child-proof lock in the back of your car. I understand that is makes sense to protect the children in the back seat your car from themselves but you are are logged with the admin role – still you cannot revert to development mode using the admin console.
  • Autodeployment is not used that much anymore since it only deploys to the admin server – so it doesn’t make sense for a production domain. What if you are a developer? Then your IDE is deploying to the admin server, that is correct – but your IDE is typically not using autodeployment.
  • Note, that there will be a randomly set user and password for nodemanager when creating your domain in production mode with config.sh (see comments from Jacco).
  • You cannot disable the change center in production mode

No comments: