version 1.2, 2004/09/02 18:35:40
|
version 1.8, 2006/04/20 15:42:30
|
|
|
|
//%2006//////////////////////////////////////////////////////////////////////// |
|
// |
|
// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development |
|
// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. |
|
// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.; |
|
// IBM Corp.; EMC Corporation, The Open Group. |
|
// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.; |
|
// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. |
|
// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.; |
|
// EMC Corporation; VERITAS Software Corporation; The Open Group. |
|
// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.; |
|
// EMC Corporation; Symantec Corporation; The Open Group. |
|
// |
|
// Permission is hereby granted, free of charge, to any person obtaining a copy |
|
// of this software and associated documentation files (the "Software"), to |
|
// deal in the Software without restriction, including without limitation the |
|
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or |
|
// sell copies of the Software, and to permit persons to whom the Software is |
|
// furnished to do so, subject to the following conditions: |
|
// |
|
// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN |
|
// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED |
|
// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT |
|
// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR |
|
// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT |
|
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN |
|
// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION |
|
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
|
// |
|
//============================================================================== |
| |
Java Manageability Programming Interface - JMPI | Java Manageability Programming Interface - JMPI |
| |
|
|
export JAVA_SDKINC=$JAVA_SDK/include | export JAVA_SDKINC=$JAVA_SDK/include |
export LD_LIBRARY_PATH=$PEGASUS_HOME/lib:$JAVA_SDK/jre/lib/i386/server:$JAVA_SDK/jre/lib/i386/native_threads:$JAVA_SDK/jre/lib/i386 | export LD_LIBRARY_PATH=$PEGASUS_HOME/lib:$JAVA_SDK/jre/lib/i386/server:$JAVA_SDK/jre/lib/i386/native_threads:$JAVA_SDK/jre/lib/i386 |
export PATH=$JAVA_SDK/bin:$PATH | export PATH=$JAVA_SDK/bin:$PATH |
export CLASSPATH=$PEGASUS_HOME/src/Pegasus/ProviderManager2/JMPI |
export CLASSPATH=$PEGASUS_ROOT/src/Pegasus/ProviderManager2/JMPI |
export PATH=$PEGASUS_HOME/bin:$PATH | export PATH=$PEGASUS_HOME/bin:$PATH |
export PEGASUS_ROOT=$PEGASUS_HOME | export PEGASUS_ROOT=$PEGASUS_HOME |
export LD_ASSUME_KERNEL=2.2.5 | export LD_ASSUME_KERNEL=2.2.5 |
cd $PEGASUS_HOME | cd $PEGASUS_HOME |
| |
|
There is now a new variable to determine which JVM to link with. The choices are as follows: |
|
PEGASUS_JVM sun Sun's jvm (ex: j2sdk1.4.2_07) |
|
PEGASUS_JVM ibm IBM's jvm (ex: IBMJava2-142) |
|
PEGASUS_JVM bea Suse's IBM jvm (ex: BEAJava2-1.4.2) |
|
So, pick one and export that variable to the environment. For example, |
|
export PEGASUS_JVM=sun |
|
NOTE: This is currently listened to for Linux builds. |
|
|
|
There are a couple of optional environment variables to determine how the JRE is initialized. These are |
|
as follows (the variable name and what JRE option that it corresponds to): |
|
|
|
PEGASUS_JMPI_MAX_HEAP -Xmx |
|
PEGASUS_JMPI_INITIAL_HEAP -Xms |
|
PEGASUS_JMPI_JAVA_THREAD_STACK_SIZE -Xss |
|
|
|
So, for example, you would perform the following if you want to change the maximum heap size to 128 megabytes. |
|
|
|
export PEGASUS_JMPI_MAX_HEAP=128m |
|
|
|
There is a new environment variable that tells the JVM to output more debugging information. The variable name |
|
is called PEGASUS_JMPI_VERBOSE. An example usage is as follows: |
|
|
|
export PEGASUS_JMPI_VERBOSE="jni,class" |
|
|
|
This will tell the JVM to output debug information on the JNI layer and class loading. |
|
|
When using this script, place a copy of this script above your PEGASUS_HOME directory. | When using this script, place a copy of this script above your PEGASUS_HOME directory. |
"cd" to PEGASUS_HOME, and issue ". ../setJPeg". Then do a normal make. | "cd" to PEGASUS_HOME, and issue ". ../setJPeg". Then do a normal make. |
| |
| |
This installent has a number of restrictios: |
This installment has a number of restrictios: |
| |
The provider interfaces follow the SNIA OpenWBEM APIs | The provider interfaces follow the SNIA OpenWBEM APIs |
Only Instance and Association providers are supported at the moment. | Only Instance and Association providers are supported at the moment. |
SetProperty and GetProperty CIM operations will crash cimserver |
|
Jar support is not yet implemented - all classes must be accessable via the CLASSPATH variabe. |
|
The Makefiles are not yet Pegasus conforming. |
|
cimmofl must be used for provider registration. |
|
|
|
Unloading of idle providers is not supported and Java will increase the memory footprint. | Unloading of idle providers is not supported and Java will increase the memory footprint. |
| |
| |
poststarttests | poststarttests |
| |
This installment has a set of tests modelled after wetest/static. All tests work properly except |
This installment has a set of tests modelled after wetest/static. |
the Property tests. I had to modify "diff" to "diff -w", why that is needed I do not understand. |
For the tests, I had to modify "diff" to "diff -w", why that is needed I do not understand. |
| |
| |
Building poststarttests: | Building poststarttests: |
|
|
JMPI providers are registered as usual. The Location property in P_ProviderModule has a special format. | JMPI providers are registered as usual. The Location property in P_ProviderModule has a special format. |
The format is: <jar-file-name>:<provider-class-name> | The format is: <jar-file-name>:<provider-class-name> |
| |
Although jar support is not yet working correctly, this format must be used. You should use cimmofl |
|
for registration untill cimmof is prepared for JMPI. |
|
|
|
instance of PG_ProviderModule | instance of PG_ProviderModule |
{ | { |
Name = "JMPI_TestPropertyTypesModule"; | Name = "JMPI_TestPropertyTypesModule"; |
Location = "JMPI_TestPropertyTypes.jar:" |
Location = "JMPI_TestPropertyTypes.jar:org/pegasus/jmpi/tests/JMPI_TestPropertyTypes/JMPI_TestPropertyTypes"; |
"org/pegasus/jmpi/tests/JMPI_TestPropertyTypes/JMPI_TestPropertyTypes"; |
|
Vendor = "Pegasus Community"; | Vendor = "Pegasus Community"; |
Version = "2.0.0"; | Version = "2.0.0"; |
InterfaceType = "JMPI"; | InterfaceType = "JMPI"; |
InterfaceVersion = "1.0.0"; | InterfaceVersion = "1.0.0"; |
}; | }; |
| |
|
JMPI providers now fall into two groups. |
|
1) Legacy providers use: |
|
InterfaceType = "JMPI" |
|
and use one of the 3 following based on existing JMPI samples: |
|
InterfaceVersion = "1.0.0"; |
|
InterfaceVersion = "2.0.0"; |
|
InterfaceVersion = "2.2.0"; |
|
Note that there is no difference in behavior in the three versions. |
|
2) New style providers use: |
|
InterfaceType = "JMPIExperimental" |
|
and: |
|
InterfaceVersion = "0.0.1"; |
|
|
| |
Bug reports | Bug reports |
| |