1 schuur 1.1
2 Java Manageability Programming Interface - JMPI
3
4 Author: Adrian Schuur, schuur@de.ibm.com - 30 Apr 2004 -
5
6 First installment
7
8 This installment of JMPI has been committed to the 2.4 branch.
9 This installment has been build and tested on Suse 9.0 with Sun's j2sdk 1.4.2_04.
10
11
12 Environment settings
13
14 In order to build this support a few environment variables have to used.
15 The following script has been proven useful for setting up the build and execution environment.
16 You might need to adjust this to your system layout.
17
18 export PEGASUS_HOME=`pwd`
19 export PEGASUS_PLATFORM=LINUX_IX86_GNU
20 export ENABLE_PROVIDER_MANAGER2=1
21 export ENABLE_CMPI_PROVIDER_MANAGER=1
22 schuur 1.1 export ENABLE_JMPI_PROVIDER_MANAGER=1
23 export PEGASUS_DEBUG=1
24 export JAVA_SDK=/usr/java/j2sdk1.4.2_04
25 export JAVA_SDKINC=$JAVA_SDK/include
26 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
27 export PATH=$JAVA_SDK/bin:$PATH
28 export CLASSPATH=$PEGASUS_HOME/src/Pegasus/ProviderManager2/JMPI
29 export PATH=$PEGASUS_HOME/bin:$PATH
30 export PEGASUS_ROOT=$PEGASUS_HOME
31 export LD_ASSUME_KERNEL=2.2.5
32 cd $PEGASUS_HOME
33
34 When using this script, place a copy of this script above your PEGASUS_HOME directory.
35 "cd" to PEGASUS_HOME, and issue ". ../setJPeg". Then do a normal make.
36
37
38 This installent has a number of restrictios:
39
40 The provider interfaces follow the SNIA OpenWBEM APIs
41 Only Instance and Association providers are supported at the moment.
42 SetProperty and GetProperty CIM operations will crash cimserver
43 schuur 1.1 Jar support is not yet implemented - all classes must be accessable via the CLASSPATH variabe.
44 The Makefiles are not yet Pegasus conforming.
45 cimmofl must be used for provider registration.
46
47 Unloading of idle providers is not supported and Java will increase the memory footprint.
48
49
50 poststarttests
51
52 This installment has a set of tests modelled after wetest/static. All tests work properly except
53 the Property tests. I had to modify "diff" to "diff -w", why that is needed I do not understand.
54
55
56 Building poststarttests:
57
58 cd to .../src/Pegasus/ProviderManager2/JMPI/org/pegasus/jmpi/tests/Load
59 Issue "make"
60
61 This will load a schema to the repository and register the provider.
62
63
64 schuur 1.1 Running poststarttests:
65
66 cd to .../src/Pegasus/ProviderManager2/JMPI/org/pegasus/jmpi/tests
67 Issue "find -name "*.rsp" -exec rm {} \;" to clean up *.rsp files
68 Issue "make poststarttests"
69
70
71 Samples
72
73 The provider used for posstarttest,
74 .../JMPI/org/pegasus/jmpi/test/JMPI_TestPropertyTypes/JMPI_TestPropertyTest.java is a working
75 example of how to code an JMPI tyle instance provider.
76 This directors also constains the required Makefile.
77
78 .../JMPI/org/pegasus/jmpi/sample contains more samples, one of which is an incomplete CIMClient
79 sample.
80
81 Notice that all provider classes must be accessibe via the CASSPATH environment setting.
82
83
84 Provider Registration
85 schuur 1.1
86 JMPI providers are registered as usual. The Location property in P_ProviderModule has a special format.
87 The format is: <jar-file-name>:<provider-class-name>
88
89 Although jar support is not yet working correctly, this format must be used. You should use cimmofl
90 for registration untill cimmof is prepared for JMPI.
91
92 instance of PG_ProviderModule
93 {
94 Name = "JMPI_TestPropertyTypesModule";
95 Location = "JMPI_TestPropertyTypes.jar:"
96 "org/pegasus/jmpi/tests/JMPI_TestPropertyTypes/JMPI_TestPropertyTypes";
97 Vendor = "Pegasus Community";
98 Version = "2.0.0";
99 InterfaceType = "JMPI";
100 InterfaceVersion = "1.0.0";
101 };
102
103
104 Bug reports
105
106 schuur 1.1 Use normal Pegasus bugzilla procedures to report malfunctions. However, I will be out of town and
107 offline though 5/14/2004.
108
109
110 Regards, Adrian Schuur.
111
112
|