Optimizing footprint

In many cases the supplied jar files can be used without change, however there are instances where this is not the case. In particular, on some environments where footprint is limited, the set of classes that are deployed must be reduced to the smallest possible size. The supplied jar files are general purpose and contain more than is necessary for an optimized environment.

The table below separates the classes into groups associated with a particular function or configuration and will help determine which classes will be required to optimize an applications footprint. Using this table the minimum required set of classes can be deduced by taking the mandatory classes for the required categories and then adding in required optional classes for that category.

Due to the wide ranging set of Java runtimes that are now available, not all classes can run on all runtimes. The table lists all classes, and unless otherwise stated, each class will run on a J2SE runtime. Because of the differences between a J2SE and a J2ME runtime, some of the classes are not appropriate for a J2ME runtime. There are two columns marked with an X to show a class that can be used on J2ME MIDP or J2ME CDC/Foundation runtimes.

Table 1. Class optimization
CategoryDetail
 TypeDetailsMidp CDC
  Classes required (com.ibm.mqe)
 
Mandatory classes 
  For all queue managersXX
 
MQe
MQeAdapter
MQeAttribute
MQeAttributeDefaultRule
MQeAttributeRule
MQeAuthenticator
MQeCompressor
MQeCryptor
MQeEnumeration
MQeException
MQeExceptionCodes
MQeField
MQeFields
MQeKey
MQeLoaderMQeProperties
MQePropertyProvider
MQeQueueControlBlock
MQeQueueProxy
MQeQueueManager
MQeQueueManagerRule
MQeResourceControlBlock
MQeRule
MQeRunnable
MQeRunnableInstance
MQeThread
MQeThreadPool$1
MQeThreadPool$PooledThread
MQeThreadPool$Target
MQeThreadPool
MQeTrace
MQeTraceHandler
MQeTraceInterface
registry.MQeRegistry
Registry typeOne option in this category must be selected
 File registryAdd required: Storage adapterXX
 
registry.MQeFileSession 
registry.MQeRegistrySession
Private registry w/o credentialsAdd: File registry X
 
registry.MQePrivateRegistry
registry.MQePrivateSession
Private registry with credentialsAdd: Private registry w/o credentials X
 
attributes.MQeMiniCertRequest
attributes.MQeSharedKey
attributes.MQeWTLSCertificate
 Mini-certificate management functions X
attributes.MQeListCertificates
registry.MQePrivateRegistryConfigure
Public registryApplicable to types of message-level security, Add: Private registry with credentials X
 
registry.MQePublicRegistry
Queue manager typeFor all types add required: Administration Storage adapters Message store Authenticators Cryptors Compressors Rules Security
 Standalone qMgr.No additional classes  
Client qMgr.Add required: CommunicationsXX
 
MQeTransporter
adapters.MQeCommunicationsAdapter
communications.MQeChannel
communications.MQeChannelCommandInterface
communications.MQeChannelControlBlock
communications.MQeCommunicationsException
communications.MQeCommunicationsManager
communications.MQeConnectionDefinition
communications.MQeListener
communications.MQeListenerSlave
Server qMgr.Add: Client qMgr. Add required: Communications X
 Note: whilst MQeListener is not used in the Client, they need to be included when preverifying a J2ME application
Gateway qMgr.Add: Server qMgr. Add required Communications Transformers  
 
MQeBridgeLoadable
MQeBridgeManager
mqbridge.*
Communications 
 TCP/IP w/o history & persistence  X
 
adapters.MQeTcpipAdapter
adapters.MQeTcpipLengthAdapter
TCP/IP with history & persistenceAdd: TCP/IP w/o history and persistence X
 
adapters.MQeTcpipHistoryAdapter
adapters.MQeTcpipHistoryAdapterElement
HTTP 1.0 Not to WES Proxy Authentication server  X
 
adapters.MQeTcpipAdapter
adapters.MQeTcpipHttpAdapter
HTTP To WES Proxy Authentication server  X
 
adapters.MQeTcpipAdapter
adapters.MQeWESAuthenticationAdapter
HTTP 1.1/1.0 J2MEMIDP onlyX 
 
adapters.MQeMidpHttpAdapter
UDP  X
 
adapters.MQeUdpipBasicAdapter$Initiator
adapters.MQeUdpipBasicAdapter$InternalAdapter
adapters.MQeUdpipBasicAdapter$Responder
adapters.MQeUdpipBasicAdapter$Writer
adapters.MQeUdpipBasicAdapter
Queue TypesFor all queue types add required: Authenticators Cryptors Compressors Rules
 LocalAdd: Storage adapter Message storageXX
 
MQeAbstractQueueImplementation
MQeEventTrigger
MQeMessageEvent
MQeMessageListenerInterface
MQeQueue
MQeQueueRule (or replacement)
RemoteAdd: Local queue (storage adapter & msg. storage only if needed)XX
 
MQeRemoteQueue
Home serverAdd: Remote queue (no storage adapter or msg. storage)XX
 
MQeHomeServerQueue
Sore and forwardAdd: Remote queueXX
 
MQeStoreAndForwardQueue
Bridge queueAdd: Remote queue  
 
mqbridge.MQeMQBridgeAdminMsg
mqbridge.MQeBridgeServices
mqbridge.MQeMQBridgeQueue
mqbridge.MQeMQQMgrName
mqbridge.MQeMQQName
Message storage 
 Base XX
 
MQeMessageStoreException
MQeAbstractMessageStore
messagestore.MqeIndexEntry
StandardAdd: BaseXX
 
messagestore.MQeMessageStore
Short filename. Always use 8.3 file name for messages.Add: Standard X
 
messagestore.MQeShortFilenameMessageStore
4690 specificAdd: Short filename  
 
messagestore.MQe4690ShortFilenameMessageStore
Message type 
 Basic XX
 Support for MQeMsgObject is in Mandatory classes
MQSeries   
 
mqemqmessage.*
Storage adapters 
 Assured diskIndependence from OS lazy writes X
  
adapters.MQeDiskFieldsAdapter
 Non-assured diskDependence on OS lazy writes Add: Assured disk X
  
adapters.MQeReducedDiskFieldsAdapter
 Case-InsensitiveAdd: Assured disk X
  
adapters.MQeCaseInsensitiveAdapter
 Long to Short Filename Mapping  X
  
adapters.MQeMappingAdapter
 Midp RMS StorageMIDP OnlyX 
  
adapters.MQeMidpFieldsAdapter
com.ibm.mqe.adapters.MQeMidpFieldsAdapter$RMSFile
 MemoryVolatile storageXX
  
adapters.MQeMemoryFieldsAdapter
Administration 
 Basic administration capabilityAdd: Local queueXX
 
MQeAdminMsg
MQeAdminQueue
MQeAdminQueue$1
MQeAdminQueue$Timer
Manage queue managerAdd: Basic administration capabilityXX
 
administration.MQeQueueManagerAdminMsg
Manage connection definitionsAdd: Basic administration capabilityXX
 
administration.MQeConnectionAdminMsg
Manage communications listenersAdd: Basic administration capabilityXX
 
administration.MQeCommunicationsListenerAdminMsg
Manage local queueAdd: Basic administration capabilityXX
 
administration.MQeQueueAdminMsg
Manage administration queueAdd: Manage local queueXX
 
administration.MQeAdminQueueAdminMsg
Manage remote queueAdd: Manage local queueXX
 
administration.MQeRemoteQueueAdminMsg
Manage home server queueAdd: Manage remote queueXX
 
administration.MQeHomeServerQueueAdminMsg
Manage store and forward queueAdd: Manage remote queueXX
 
administration.MQeStoreAndForwardQueueAdminMsg
Manage bridge queueAdd: Manage remote queue X
 
mqbridge.MQeMQBridgeQueueAdminMsg
mqbridge.MQeCharacteristicLabels
Manage a bridge to MQSeriesAdd: Remote queues  
 
mqbridge.*AdminMsg
mqbridge.MqeCharacteristicLabels
mqbridge.MqeRunState
mqbridge.MqeBridgeServices
mqbridge.MQeBridgeExceptionCodes
Queue manager creation and deletion
MQeQueueManagerConfigure
XX
Authenticators 
 mini-certificate  X
 
attributes.DHk (source may be generated)
attributes.MQeSharedKey
attributes.MQeRandom
attributes.MQeWTLSCertificate
attributes.MQeWTLSCertAuthenticator
Compressors 
 GZIP
attributes.MQeGZIPCompressor
 X
LZW
attributes.MQeLZWCompressor
attributes.MQeLZWDictionaryItem
XX
RLE
attributes.MQeRleCompressor
XX
Cryptors 
 triple DES
attributes.MQe3DESCryptor
 X
 DES
attributes.MQe3DESCryptor
 X
 MARS
attributes.MQeDESCryptor
 X
 RC4
attributes.MQeRC4Cryptor
 X
 RC6
attributes.MQeRC6Cryptor
 X
 XOR
attributes.MQeXorCryptor
XX
Application security services 
 Local securityAdd required: CryptorsXX
 
attributes.MQeLocalSecure
Message-level securityAdd required: Cryptors X
 
attributes.MQeMAttribute
Message-level security with digital signature & validationAdd: Public registry. Add required: Cryptors X
 
attributes.MQeMTrustAttribute
Trace 
 Collect binary trace in J2SE/CDC  X
 
trace.MQeTraceToBinary
trace.MQeTraceToBinaryFile
Collect binary trace to Midp RMS Store And or send to MIDP Trace servlet X 
 
trace.MQeTraceToBinary
trace.MQeTraceToBinaryMidp
Base trace renderer  X
 
trace.MQeTracePoint
trace.MQeTracePointGroup
trace.MQeTraceRenderer
Decode a binary file to readable formAdd: Base trace renderer X
 
trace.MQeTraceToReadable
trace.MQeTraceFromBinaryFile
Trace to a readable output streamAdd: Base trace renderer X
 
trace.MqeTraceToReadable
Servlet collection of Midp binary traceAdd Base trace renderer  
 
trace.MQeTraceToReadable
examples.trace.MQeServlet
Miscellaneous 
 Cryptographic supportApplication or installation use only X
 
attributes.MQeCL (footnote?)
attributes.MQeGenDH (generates a version of attributes.MQeDHk.java)
Mini-certificate server SupportPac ES03MQe_MiniCertServer (or command line tool) See ES03 installation instructions  
MQe_Explorer SupportPac ES02MQe_Explorer See ES02 installation instructions  
BindingsAccess to Java classes from other languages
 C language
bindings.*
  
JMSSupport for the Java Message Service API XX
  
jms.*
transaction.*
 
User-defined MQe extensions   
   Authenticators Communications adapters Compressors Cryptors Logging classes Message classes Rule classes Security control Storage adapters Trace handler  

Parent topic: Java deployment