2.4 Java Service Manager Console

Each Java Service Manager instance can have a HTTP web Console interface that allows a web browser or Studio application to perform administration tasks on the currently active service manager.

The following manager.properties entries control the Console address and port. If no Console interface is required comment out these entries in the manager.properties file.

 

console.tcp.port=4561

console.tcp.backlog=5

console.tcp.interface=*all

 

To control which clients can connect to the Console server use the following entries.

 

console.client.address=*all

studio.client.address=*all

 

 

To access the Console from a web browser, use the http://host:port URL.

The Active service count command returns the number of service threads currently running.

The Refresh resources command instructs the service manager to reload manager.properties, service.properties, structure.properties and list.properties files.

The System information command returns a table of information about the service manager environment.

The Perform garbage collection command instructs the service manager to perform a JVM garbage collection cycle.

The Controlled shutdown command instructs the service manager to stop accepting new JSM client connections. Currently running service threads will not be influenced. When no more service threads are running or when the shutdown wait time is reached the service manager ends.

The Close console server command ends the Console listener and no further Console and Studio connections are possible.

When the JSM instance starts and the Console interface has been enabled, a start entry is appended to the Console-log.txt file.

When a web browser or Studio application sends a request to the Console server thread, this request is written to the console-log.txt file in the system directory.

The console-log.txt entry is made up of a date time stamp, IP address of client program and the request. This provides an audit log of all requests made using the Java Service Manager Console.

Example

 

[2005-02-03 01:57:56 +0000] =======================================================

[2005-02-03 01:58:50 +0000] [10.2.1.55] Request for download [/jsm/instance/order.txt; ]

[2005-02-03 01:58:55 +0000] [10.2.1.55] Request for thread count

[2005-02-03 01:59:01 +0000] [10.2.1.55] Request for refresh

 

The console.timezone property can be used to adjust GMT to local time, if the Java 'user.timezone' has been set differently.

 

# A custom time zone like GMT+10:00 does not include daylight savings time 

# console.timezone=GMT+10:00

# console.timezone=Australia/Sydney

console.timezone=AET

 

The console.authentication property controls basic authentication with the client web browser. If the console.authentication property has a value of *yes then client authentication is done.

 

# If console.authentication is commented out, then no authentication.

console.authentication=*yes

console.authentication.person1=6aae268520b50b6b4c28194631de5a24

 

If console authentication is turned on then client web browsers will prompt with an authentication dialog box.

A cached lookup of manager.properties for property console.authentication.{username} is done and the property value compared to the digest token created from the web browser authentication response.

If the user entry does not exist then the following will be logged.

 

[2005-04-01 03:04:37 +0000] No console authentication user : jack

 

If the user entry exists, but the digests do not match then the following will be logged.

 

[2005-04-01 03:02:31 +0000] Console authentication digest for person1 is 6aae268520b50b6b4c28194631de5a24

[2005-04-01 03:02:31 +0000] Client user has failed authentication check

 

The logged digest has been created by the client application, so update the manager.properties entry with this digest so they match on the next login attempt.

 

console.authentication.person1=6aae268520b50b6b4c28194631de5a24

 

If the user is authenticated then the log events include the user name

 

[2005-04-01 03:02:47 +0000] [10.2.1.55] [person1] GET /REQUEST-SYSTEM-REFRESH

 

The console.client.address can be used to control what web browser client addresses can connect, if more than one client address is needed then comma separate the multiple addresses.

 

console.client.address=*all

# console.client.address=*none

# console.client.address=10.2.1.7

# console.client.address=10.2.1.7,10.2.1.8

 

The studio.authentication property controls authentication with the client Studio application. If the studio.authentication property has a value of *yes then client authentication is done.

 

# If studio.authentication is commented out, then no authentication.

studio.authentication=*yes

studio.authentication.person1=6aae268520b50b6b4c28194631de5a24

 

If studio authentication is turned on then client Studio applications will prompt with an authentication dialog box.

A cached lookup of manager.properties for property studio.authentication.{username} is done and the property value compared to the digest token send by the client Studio application.

If the user entry does not exist then the following will be logged.

 

[2005-04-01 03:04:37 +0000] No studio authentication user : jack

 

If the user entry exists, but the digests do not match then the following will be logged.

 

[2005-04-01 03:02:31 +0000] Studio authentication digest for person1 is 6aae268520b50b6b4c28194631de5a24

[2005-04-01 03:02:31 +0000] Client user has failed authentication check

 

Use Studio to create and add authorized users to the manager.properties section file. Console and Studio users belong to the JSM realm.

 

studio.authentication.person1=6aae268520b50b6b4c28194631de5a24

console.authentication.person1=6aae268520b50b6b4c28194631de5a24

 

Publish the modified manager.properties section file and use the instance refresh menu item to reload the manager.properties file.

 

If the user is authenticated then the log events include the user name

 

[2005-04-01 03:03:23 +0000] [10.2.1.55] [person1] Request for download [/devjsm/instance/rehau1.xml;]

 

The studio.client.address can be used to control what studio client address can connect, if more than one client address is needed then comma separate the multiple addresses.

 

studio.client.address=*all

# studio.client.address=*none

# studio.client.address=10.2.1.7

# studio.client.address=10.2.1.7,10.2.1.8

 

The studio.include.trace.directory can be used to control the depth of the trace directory being sent to the Studio client. By default all child directories in the trace directory are sent.

 

# studio.include.trace.directory=*all | *active | *none | *client