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. This section covers how to optimize the set of classes down to only those that are required for a particular application.

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, unless otherwise stated, each class will run on a J2SE runtime. Due to the differences between a J2SE and a J2ME runtime, some of the classes are not appropriate for a J2ME runtime. There are two columns that show which classes can be used on J2ME MIDP and J2ME CDC/Foundation runtimes.

Table 41.

Category Detail Classes required (com.ibm.mqe. ) Midp compliant CDC / Foundation compliant
Mandatory classes For all queue managers 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 X X
Registry type One option in this category must be selected


File registry Add required: Storage adapter registry.MQeFileSession registry.MQeRegistrySession X X
Private registry w/o credentials Add: File registry registry.MQePrivateRegistry registry.MQePrivateSession
X
Private registry with credentials Add: Private registry w/o credentials attributes.MQeMiniCertRequest attributes.MQeSharedKey attributes.MQeWTLSCertificate
X
Mini-certificate management functions attributes.MQeListCertificates registry.MQePrivateRegistryConfigure
X
Public registry Applicable to types of message-level security Add: Private registry with credentials registry.MQePublicRegistry
X
Queue manager type For all types add required: Administration Storage adapters Message store Authenticators Cryptors Compressors Rules Security


Standalone qMgr.
No additional classes

Client qMgr. Add required: Communications MQeTransporter adapters.MQeCommunicationsAdapter communications.MQeChannel communications.MQeChannelCommandInterface communications.MQeChannelControlBlock communications.MQeCommunicationsException communications.MQeCommunicationsManager communications.MQeConnectionDefinition communications.MQeListener communications.MQeListenerSlave X X
Server qMgr. Add: Client qMgr. Add required: Communications Note: whilst MQeListener is not used in the Client, they need to be included when preverifying a J2ME application
X
Gateway qMgr. Add: Server qMgr. Add required Communications Transformers MQeBridgeLoadable MQeBridgeManager mqbridge.*

Communications



TCP/IP w/o history & persistence
adapters.MQeTcpipAdapter adapters.MQeTcpipLengthAdapter
X
TCP/IP with history & persistence Add: TCP/IP w/o history and persistence adapters.MQeTcpipHistoryAdapter adapters.MQeTcpipHistoryAdapterElement
X
HTTP 1.0 Not to WES Proxy Authentication server
adapters.MQeTcpipAdapter adapters.MQeTcpipHttpAdapter
X
HTTP To WES Proxy Authentication server
adapters.MQeTcpipAdapter adapters.MQeWESAuthenticationAdapter
X
HTTP 1.1/1.0 J2ME MIDP only adapters.MQeMidpHttpAdapter X
UDP
adapters.MQeUdpipBasicAdapter$Initiator adapters.MQeUdpipBasicAdapter$InternalAdapter adapters.MQeUdpipBasicAdapter$Responder adapters.MQeUdpipBasicAdapter$Writer adapters.MQeUdpipBasicAdapter
X
Queue types For all queue types add required: Authenticators Cryptors Compressors Rules


Local Add: Storage adapter Message storage MQeAbstractQueueImplementation
MQeEventTrigger MQeMessageEvent MQeMessageListenerInterface
MQeQueue MQeQueueRule (or replacement)
X X
Remote Add: Local queue (storage adapter & msg. storage only if needed) MQeRemoteQueue X X
Home server Add: Remote queue (no storage adapter or msg. storage) MQeHomeServerQueue X X
Store and forward Add: Remote queue MQeStoreAndForwardQueue X X
Bridge queue Add: Remote queue mqbridge.MQeMQBridgeAdminMsg mqbridge.MQeBridgeServices mqbridge.MQeMQBridgeQueue mqbridge.MQeMQQMgrName mqbridge.MQeMQQName

Message storage



Base
MQeMessageStoreException MQeAbstractMessageStore messagestore.MqeIndexEntry X X
Standard Add: Base messagestore.MQeMessageStore X X
Short filename. Always use 8.3 file name for messages. Add: Standard messagestore.MQeShortFilenameMessageStore
X
4690 specific Add: Short filename messagestore.MQe4690ShortFilenameMessageStore

Message type



Basic
Support for MQeMsgObject is in Mandatory classes X X
MQSeries
mqemqmessage.*

Storage adapters



Assured disk Independence from OS lazy writes adapters.MQeDiskFieldsAdapter
X
Non-assured disk Dependence on OS lazy writes Add: Assured disk adapters.MQeReducedDiskFieldsAdapter
X
Case-Insensitive Add: Assured disk adapters.MQeCaseInsensitiveAdapter
X
Long to Short Filename Mapping
adapters.MQeMappingAdapter
X
Midp RMS Storage MIDP Only adapters.MQeMidpFieldsAdapter com.ibm.mqe.adapters.MQeMidpFieldsAdapter$RMSFile X
Memory Volatile storage adapters.MQeMemoryFieldsAdapter X X
Administration



Basic administration capability Add: Local queue MQeAdministrator MQeAdminMsg MQeAdminQueue MQeAdminQueue$1 MQeAdminQueue$Timer X X
Manage queue manager Add: Basic administration capability administration.MQeQueueManagerAdminMsg X X
Manage connection definitions Add: Basic administration capability administration.MQeConnectionAdminMsg X X
Manage communications listeners Add: Basic administration capability administration.MQeCommunicationsListenerAdminMsg X X
Manage local queue Add: Basic administration capability administration.MQeQueueAdminMsg X X
Manage administration queue Add: Manage local queue administration.MQeAdminQueueAdminMsg X X
Manage remote queue Add: Manage local queue administration.MQeRemoteQueueAdminMsg X X
Manage home server queue Add: Manage remote queue administration.MQeHomeServerQueueAdminMsg X X
Manage store and forward queue Add: Manage remote queue administration.MQeStoreAndForwardQueueAdminMsg X X
Manage bridge queue Add: Manage remote queue mqbridge.MQeMQBridgeQueueAdminMsg mqbridge.MQeCharacteristicLabels
X
Manage a bridge to MQSeries Add: Remote queues mqbridge.*AdminMsg mqbridge.MqeCharacteristicLabels mqbridge.MqeRunState mqbridge.MqeBridgeServices mqbridge.MQeBridgeExceptionCodes

Queue manager creation and deletion
MQeQueueManagerConfigure X X
Authenticators



mini-certificate
attributes.DHk (source may be generated) attributes.MQeSharedKey attributes.MQeRandom attributes.MQeWTLSCertificate attributes.MQeWTLSCertAuthenticator
X
Compressors



GZIP
attributes.MQeGZIPCompressor
X
LZW
attributes.MQeLZWCompressor attributes.MQeLZWDictionaryItem X X
RLE
attributes.MQeRleCompressor X X
Cryptors



triple DES
attributes.MQe3DESCryptor
X
DES
attributes.MQeDESCryptor
X
MARS
attributes.MQeMARSCryptor
X
RC4
attributes.MQeRC4Cryptor
X
RC6
attributes.MQeRC6Cryptor
X
XOR
attributes.MQeXorCryptor X X
Application security services



Local security Add required: Cryptors attributes.MQeLocalSecure X X
Message-level security Add required: Cryptors attributes.MQeMAttribute
X
Message-level security with digital signature & validation Add: Public registry. Add required: Cryptors attributes.MQeMTrustAttribute
X
Trace



Collect binary trace in J2SE/CDC
trace.MQeTraceToBinary trace.MQeTraceToBinaryFile
X
Collect binary trace to Midp RMS Store And or send to MIDP Trace servlet
trace.MQeTraceToBinary trace.MQeTraceToBinaryMidp X
Base trace renderer
trace.MQeTracePoint trace.MQeTracePointGroup trace.MQeTraceRenderer
X
Decode a binary file to readable form Add: Base trace renderer trace.MQeTraceToReadable trace.MQeTraceFromBinaryFile
X
Trace to a readable output stream Add: Base trace renderer trace.MqeTraceToReadable
X
Servlet collection of Midp binary trace Add Base trace renderer trace.MQeTraceToReadable examples.trace.MQeServlet

Miscellaneous



Cryptographic support Application or installation use only attributes.MQeCL (footnote?) attributes.MQeGenDH (generates a version of attributes.MQeDHk.java)
X
Mini-certificate server SupportPac ES03 MQe_MiniCertServer (or command line tool) See ES03 installation instructions


MQe_Explorer SupportPac ES02 MQe_Explorer See ES02 installation instructions


Bindings Access to Java classes from other languages


C language
bindings.*

JMS Support for the Java Message Service API jms.*
transaction.*

X X





User-defined MQe extensions





Authenticators Communications adapters Compressors Cryptors Logging classes Message classes Rule classes Security control Storage adapters Trace handler



© IBM Corporation 2002, 2003. All Rights Reserved