IBM WebSphere Adapter for JDBC, version 7.0.0.4 notes

This document contains the following sections:
Enhancements and fixes
New and modified connector properties
Upgrade notes

This table lists the enhancements and fixes in fix pack version 7.0.0.4.
Enhancements
#CRAPARTitleDetails
There are no enhancements in this fix pack.
Fixes
#CRAPARTitleDetails
1102357JR38018JDBC Adapter to provide backward compatibility with the Wrapper business object in v6.1.
Symptom: The runtime behavior of Wrapper business object JDBC Adapter are not compatibile with v6.1.
Resolution: JDBC Adapter provide backward compatibility with the Wrapper business object in v6.1.
2102584JR38387JDBC Adapter has performance issue while processing large hierachy business objects.
Symptom: When process large and deep hierarchy BO, there is performance issue for the reason of original adapter's cursor mechanism. Accompany with high CPU utility, the performance issue caused the low efficiency on processing BO.
Resolution: Provide the fix on the cursor mechanism and the cursor usage in JDBC Adapter to improve the performance on large and deep hierarchy BO.
3101835JR37501JCA JDBC adapter failed in heavy workload multiple threads environment.
Symptom: When JCA JDBC adapter runs in heavy workload multiple threads environment,it return a 'Cannot call cleanup on a ManagedConnection while it is still in a transaction' error message.
Resolution: Fixed. Make sure to close WAS datasource connection after JCA JDBC adapter cleanup method is invoked.
4100685JR35739,JR35591Standalone adapter failed to work in a sequence of local global transaction.
Symptom: Firstly run local transaction, secondly run global transaction PI file and then run local transaction PI file, there's some transaction related errors happen.
Resolution: With this fix, the sequence of local global transaction can work well.
5102613JR38019Enable JCA timer capability for inbound polling
Symptom: Adapter uses a polling thread in the runtime, which will poll as per the pollperiod. The polling thread will be only submitted once and always being in the runtime environment. When there are no events for a longer duration, the polling thread will be hung and throws a warning message from the JCA container.
Resolution: Use JCA timer to schedule the polling thread, so the polling thread would be submitted according to the JCA scheduler, which will solve the thread hang issue.
6101456Detecting illegal XML characters in SDO DESPI of Adapters.
Symptom: A runtime exception is thrown during the BOXML serialization if the business object generated by the Adapter contains invalid xml characters.
Resolution: Adapter provides options to let the user to make choices and add validation in SDO DESPI of Adapters. Currently user can choose any of the 3 options: (a) Do not validate business object content for illegal XML characters (default); (b) Throw exceptions if business object content contains illegal XML charaters;(c) Discard illegal XML characters in business object content and log.
7103438Provide implementation for SkipTo method in CursorMap Implementation.
Symptom: Adapter encounters performance issue while processing large hierachy business objects.
Resolution: Adapter has been optimised for handling the large business objects by using the skipTo() method.
8103162JR39129Duplicate messages are created in the event table by Flat file Adapter due to unexpected database outage.
Symptom: During Adapter Inbound operation, after several unplanned database outages during event processing duplicate messages can be observed. This is due to the fact that the event is delivered but the overall transaction is marked failure and no rollback is called by the transaction manager.
Resolution: If the event is already delivered to the downstream components but the overall transaction is marked failure due to issues in downstream component, the event is deleted if no rollback is issued.


This table lists the enhancements and fixes in fix pack version 7.0.0.3.
Enhancements
#CRAPARTitleDetails
There are no enhancements in this fix pack.
Fixes
#CRAPARTitleDetails
1101325When there is a column with an identity, there is a need to edit UID ASI manully to support the column.
Symptom: When there is a column with an identity (auto-increased value), after EMD, to manually edit UID ASI in business object definition is needed in order to support the column.
Resolution: JDBC Adapter is able to support a column with an identity without need to edit UID ASI manually.


This table lists the enhancements and fixes in fix pack version 7.0.0.1.
Enhancements
#CRAPARTitleDetails
There are no enhancements in this fix pack.
Fixes
#CRAPARTitleDetails
1100918When there has VIEW business objects in the generated artifacts, "Object not found..." error message shown in iterative development.
Symptom: When there has VIEW business objects in the generated artifacts, "Object not found..." error message shown in iterative development. Also, in the right side of object discovery window, the VIEW business object will be filtered.
Resolution: Adapter fixed this issue, the error message will not show, and the VIEW business object can be displayed in the right side of object discovery window.
2100622When "assuredOnceDelivery" is false and adapter works in dynamic inbound mode, adapter can not poll events.
Symptom: When "assuredOnceDelivery" is false and adapter works in dynamic inbound mode, adapter can not poll events.
Resolution: Adapter can support "assuredOnceDelivery=false" and work in dynamic inbound mode.
3100586When using XA Datasource connection to establish database connection is selected and the "join global transaction" option is disabled,JDBC Adapter can not rollabck transaction.
Symptom: When using XA Datasource connection to establish database connection is selected and the "join global transaction" option is disabled,JDBC Adapter can not rollabck transaction.
Resolution: Adapter may rollback the transaction correctly when using XA Datasource connection is selected and "join global transaction" option is disabled.
4100712In the process of inbound, adapter can not support the ARRAY type with a complex type (STRUCT/ARRAY) for table business object.
Symptom: In the process of inbound, adapter can not support the ARRAY type with a complex type (STRUCT/ARRAY) for table business object.
Resolution: Adapter could support the ARRAY type with a complex type (STRUCT/ARRAY) in table business object.
577686In the database selection screen of enterprise service discovery, the port number shown as 50000 is not the default value of db2 iSeries.
Symptom: In the database selection screen of enterprise service discovery, the port number shown as 50000 is not the default value of db2 iSeries.
Resolution: Remove the wrong default port number 50000 on DB2 iSeries in the database selection screen of enterprise service discovery.
6100615JDBC endpoint configuration "event query type for processing events" comes back to "Standard" even if you change to "user-Defined(Dynamic)" and save it.
Symptom: On JDBC inbound endpoint configuration in WID edit environment, the value of "event query type for processing events" gets back to default "Standard" even if you change to "User-Defined(Dynamic)" and save it.
Resolution: The value of "event query type for processing events" is changed to the desired value after saving changes.
7100345Remove the WAS private API call in adapter code(transaction related code).
Symptom: WAS private API is deprecated and they should be removed.
Resolution: fixed.Remove the WAS private API call in adapter code(transaction related code).
8100383When "assuredOnceDelivery" is false and there is a event delivery failure, the status of the event is "0" and not changed to "-1".
Symptom: When "assuredOnceDelivery" is false and there is a event delivery failure, the status of the event is "0" and not changed to "-1" and the event will be polled infinitely.
Resolution: When "assuredOnceDelivery" is false and there is a event delivery failure, the status of the event becomes "-1" successfully.
9100262Ambiguous semantics of the max connection number in the event delivery config.
Symptom: Adapter will not use connection pool for event delivery if max connection number is 1 and delivery mode is "UNORDERED". In this situation, multiple thread will share one connection without thread safe mechanism,which will cause exception.
Resolution: The fix makes connection pool be used when max connection number is 1, connection pool keep thread safe and thus is recommended to use under "UNORDERED" and "ORDERED BY KEY" delivery mode; If user preferred not to use connection pool, he/she could set max connection number to 0, while thread safe will not be guaranteed.
1077930Printing out the AdapterFoundationClasses version in the Logs/traces.
Symptom: Currently with all the adapters , The AFC version is not printed out in the logs/traces. It would be really helpful to have this information printed out to the logs/traces especially in debugging issues due to conflicting AFC being loaded at runtime.
Resolution: print AFC version in the trace.
11100356When adapter creates 2 or more different modules with business object having same name but different namespace and structure, inbound and outbound operations of those modules will throw NullPointerException.
Symptom: When adapter creates 2 or more different modules with business object having same name but different namespace and structure, inbound and outbound operations of those modules will throw NullPointerException.
Resolution: Redefined the methods of "hashCode()" and "equals()" in the SDOV1Type class. Then individual adapter can distinguish those business object correctly by "namespace + name" if those BOs name are equal.
12100406For Adapter inbound and outbound operation(standalone deployment), after the application is restarted, the NullPointerException will appear when the adapter tries to query the ASI Infor from cache.
Symptom: For Adapter inbound and outbound operation(standalone deployment), after the application is restarted, the NullPointerException will appear when the adapter tries to query the ASI Infor from cache.
Resolution: The BO's namespace and name has been preserved as business object instance's fields. After the application is restarted, adapter can still get them from those instance's field rather than the stale data cache.
1393532The method of "getMaxLength" doesn't work fine for the XSMetaData as it can't be resolved by the lastest WPS version(0947.08). So the XSMode utility API of XSMetaData should be replaced with new API of "SDOUtil.getMaxLength".
Symptom: The method of "getMaxLength" doesn't work fine for the XSMetaData as it can't be resolved by the lastest WPS version(0947.08). So the XSMode utility API of XSMetaData should be replaced with new API of "SDOUtil.getMaxLength".
Resolution: Replaced the WAS utility API from the class "com.ibm.xml.sdo.spi.XSMetaData" with new WAS API "com.ibm.websphere.sdox.SDOUtil.getMaxLength()".
1499888When adapter gets ARM transaction factory name to process ARM transaction, a WAS internal private API is used for it, which need to be replaced with public interfaces.
Symptom: When adapter gets ARM transaction factory name to process ARM transaction, a WAS internal private API is used for it, which need to be replaced with public interfaces.
Resolution: Switched to Invoke PmiRmJmxService MBean, a set of public interfaces exposed by WAS to get ARM transaction fatory name.


This table lists new and modified connector properties
#VersionAdded or ModifiedPropertyLocation
There is no new connector property introduced/modified for this version of fix pack.


To upgrade to the fix pack version 7.0.0.4, do the following.
1. Ensure that you have followed the "Installation Instructions" section in the download link before proceeding.
2. If you need to use the Interim Fix for EMD, delete the connector project in WebSphere Integration Developer, import the new RAR file, and apply the enterprise information system (EIS) specific dependency files.
   a. Open the Java build path for the SCA module and remove the Connector project that is selected on Projects tab.
   b. Open the dependency editor and remove the connector project.
   c. Delete the connector project from the workspace.
   d. Import the new RAR file. Add any dependency files from EIS specific application-specific information as needed.
   e. Open the Java build path for the SCA module and select the Connector project that is selected on the Projects tab.
   f. Open the dependency editor and add the connector project if it is not already present and select Deploy with Module.
3. If you need to update deployed applications on WebSphere Process Server, do the following:
   a. Stop the deployed application.
   b. Select Update for the corresponding application on the WebSphere Process Server administrative console.
   c. Select Replace or add a single file with a relative path as name of the RAR file - CWYBC_JDBC.rar.
   d. Click Browse on the local file system to select the updated RAR file that has the changes.
   e. Select the default values in the remaining steps and click Finish. This will ensure that existing configurations, for example, are not changed and that only JAR files will be updated.
   f. Start the application again.


July 08, 2011 6:00 PM
(C) Copyright 2011 IBM Corporation. Proprietary and Confidential. All Rights Reserved.