Consultor Eletrônico



Kbase 18597: java.lang.NullPointerException: No Multicast Implemented
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   6/5/2002
Status: Unverified

FACT(s) (Environment):

Apptivity 3.0

SYMPTOM(s):

On MOAB (JVM 1.1.5) only a warning:

unable to send multicast packet java.net.SocketException doesn't shutdown the distribution manager

On SCO-Unix SCO_SV (JVM 1.1.3):

Unhandled Exception. java.lang.NullPointerException: no multicast implemented crashes the distribution manager.

These problems arise when starting the distribution manager within the apptivity.dmanger.host property.

These issues are seen on platforms using an older JVM, below 1.1.6; like 1.1.3 on SCO_SV or 1.1.5 on MOAB.

FIX:

The multicast between Explorer and the servers uses raw multicast
sockets. If an Apptivity Distribution Manager is started, it
broadcasts its presence, so existing administration clients can
dynamically connect to it. Only Distribution Managers and
Component Managers broadcast their presence, and only if Distribution
Managers are not started with apptivity.dmanager.host=localhost.

There is also a switch to avoid Distribution Managers broadcasts over multicast sockets. The property to set to avoid crashing the distribution manager on the above mentioned platform is:

apptivity.multicast=off

This property is applicable for Apptivity Explorer clients, Component
Managers and Distribution Managers. Multicasting may be used by an Apptivity Explorer client to dynamically "discover" existing
Component Managers and Distribution Managers.

When multicasting is enabled, multicast objects are created which
listen for multicast broadcasts. When a Component Manager or
Distribution Manager receives a multicast broadcast from a new
Apptivity Explorer client, it broadcasts information back to that
Apptivity Explorer client. This allows the Apptivity Explorer client
to create the necessary information structures and directly connect
to the broadcast recipient(s).

Although the apptivity.multicast is set to off it is still possible
to connect to it from the application clients using the hostname and
port number as from the Apptivity Explorer clients as well