IBM WebSphere WebSphere Adapter for JDE, version 7.0.0.4_IF03 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 interim fix version 7.0.0.4 IF03.
Enhancements
#CRAPARTitleDetails
There are no enhancements in this interim fix.
Fixes
#CRAPARTitleDetails
16821Create EventStore to ActivationSpec mapping for ConnectionLeak issue in recovery
Symptom: Connection Leak during XARecovery
Resolution: AFC recovery implementation modified to handle the connection leak issue.
26818EventStoreBackedXAResource throws unhandled NullPointerException in Commit and Rollback calls for when event is null .
Symptom: NullPointerExceptions seen in the logs during Inbound processing of events .
Resolution: With the fix when an event for a requested Xid is not found in the EventStore, an XA exception will be thrown, which will be sent to the container. Depending on the error code set on the XAException based on one phase or two phase commit, the container will send an appropriate call. Example in case of two phase commit the container will reissue a commit call.
36816Error while formatting the Xid
Symptom: Format check for pending xids from adapter was failing, because of which recovery of pending transactions not taking place .
Resolution: Xid format check in XidImpl fixed to verify the correctness of the xid format .
46815Forget and Rollback calls are not setting xid to null, post recovery
Symptom: Events that have been rolled back during recovery are not picked up for future processing.
Resolution: Events that have been rolled back during recovery needs to be made eligible for future poll cycles to fetch them, this is done by updating these events in the event store such that they qualify as new events, that can be fetched by future poll cycles.
56744CheckIllegalXMLCharacter is using String instead of StringBuffer which will eventually lead to a high heap usage
Symptom: Use of String in CheckIllegalXMLCharacter leads to creation of large number of String objects as String is immutable, heap profiling showed increasing number of String objects that are not getting cleaned up, this has a potential to cause a problem when the input size is large.
Resolution: Changed the implementation to use StringBuffer instead of String.
66322EventManager is tried to be shutdown infinitely
Symptom: If an exception occurs while trying to shutdown the EventManager, EventManager is tried to be shutdown infinitely. This is because the JCA timer was not getting cancelled.
Resolution: Even if an exception occurs while EventManager is being tried to shutdown, the JCA timer is cancelled so as to make sure their life cycles are in sync
76928JR42026WorkRejectedException in logs, followed by adapter stopping to poll
Symptom: WorkRejectedException in logs, followed by adapter stopping to poll
Resolution: Work that was rejected was not getting removed from the workInPorgress list which was resulting in no new work to be added for submission, as a result of which adapter could not poll once a poll work was rejected.


This table lists the enhancements and fixes in interim fix version 7.0.0.4 IF02.
Enhancements
#CRAPARTitleDetails
There are no enhancements in this interim fix.
Fixes
#CRAPARTitleDetails
1IFix version updated to include AFC 7.0.0.4_IF05
Symptom: Fix version updated to include AFC 7.0.0.4_IF05
Resolution:


This table lists the enhancements and fixes in interim fix version 7.0.0.4 IF01.
Enhancements
#CRAPARTitleDetails
There are no enhancements in this interim fix.
Fixes
#CRAPARTitleDetails
1RTC 7051JR42456NullPointerException seen when XMLList BO is selected in EMD
Symptom: When XMLList BO is selected in EMD, NullPointerException is found in the .log file in the workspace/.metadata directory.
Resolution: Adapter was using wrong property name to locate the Filter property group for XMLLists. Resolved by using the correct property name.


This table lists the enhancements and fixes in fix pack version 7.0.0.4.
Enhancements
#CRAPARTitleDetails
1101456Detecting 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.
Fixes
#CRAPARTitleDetails
1102613JR38019Enable 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.
2103162JR39129Duplicate 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.
3JR39773Inbound polling fails on WebSphere Message Broker (WMB) throwing java.lang.UnsupportedOperationException.
Symptom: Adapter fails during startup of the Inbound polling on WebSphere Message Broker. Adapter throws java.lang.UnsupportedOperationException will be thrown during the call to BootStrapContext.createTimer()
Resolution: WMB currently does not return a timer in createTimer() call. The issue has been resolved by handling the exception at the adapter end and creating a java.util.Timer instance to handle the inbound polling.
4102947JR38857When using adapter to pull data into WPS with special characters, a ResourceException is thrown.
Symptom: When using JDE adapter to pull data into WPS with special characters, a ResourceException is thrown. For an accent on the E in HELLO, the string in the XML reads H\u00C9LLO.
Resolution: Encoding input xml using "UTF-8" by default. Then adapter can process special characters.
5102125"Folder of failed events" will lead some security risk, and mistake.
Symptom: "Folder of failed events",the whole BO schema and data will be put into the folder. This assumes application having privilege to read and write local file of the broker. This has security risks.
Resolution: Remove the "Folder of failed events", and save the event data to the Event Data column of the persistent event store.
6102075Hide or remove the Timeout and MaxRecord properties when no XML List BO is selected.
Symptom: Timeout and MaxRecord are interaction specification properties only valid for XML List RetrieveAll operations. However they are shown when no XML List BO is selected.
Resolution: Hide or remove the Timeout and MaxRecord properties when no XML List BO is selected.
7102658JR38506JDE Adapter does not acknowledge and delete some events from Event Store.
Symptom: JDE adapter does not acknowledge and delete processed event from event store on adapter restart.
Resolution: Acknowledge and delete processed event from event store on adapter restart.
8093352Support the broker WMB.
Symptom: To support outbound and inbound interaction on broker WMB.
Resolution: Support the broker WMB by masking some EMD properties not applicable for WMB.
9101554JR37204JDE Adapter does not support a container type Real-Time event with only one child
Symptom: JDE Adapter does not support a container type Real-Time event with only one child.
Resolution: Modify the logic to support a container type Real-Time event with only one child
10102019JR37670BeginDoc TransID ref is not migrated
Symptom: The migration code is not migrating JDE key references from first method call in a batched group to the rest of the group.
Resolution: Convert the JDE WBI attribute "use_attribute_valaue" to "Reference" ASI for JCA
11101402JR36794StringIndexOutOfBound Exception" in migration tool
Symptom: Migration tool throws StringIndexOutOfBound exception when doing migration.
Resolution: Resolved by updating the migration code.
12102913JR38754JDE Adapter migration failed due to missing attributes
Symptom: Customer upgraded their WICS environment to WPS 7.0 and the JDE Adapter failed to generate some of attributes.
Resolution: Resolved by updating the migration code.
13103447Migrate adapter PI from 6.2 to 7.0 failed with exception
Symptom: When customer migrates adapter PI from version 6.2 to 7.0, migration tool throws MigrationException.
Resolution: Resolved by updating the migration code.


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
1100356When adapter creates 2 or more different modules with BO 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 BO 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 BO correctly by "namespace + name" if those BOs name are equal.
2100406For 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 BO instance's fields. After the application is restarted, adapter can still get them from those instance's field rather than the stale data cache.
3100430When adapter caches some BeanTypes that have a great deal of properties, java OutOfMemmory Exception be thrown during performing inbound and outbound operation with some events (persisting 20-50 times in WAS broker).
Symptom: When adapter caches some BeanTypes that have a great deal of properties, java OutOfMemmory Exception be thrown during performing inbound and outbound operation with some events (persisting 20-50 times in WAS broker).
Resolution: The BeanType's class names are preserved as key of cache, rather than BeanType's instance. When broker is WAS, adapter can get BeanType structure referred to its class name.
499888When 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.
5100262Ambiguous 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.
677930Printing 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


This table lists new and modified connector properties
#VersionAdded or ModifiedPropertyLocation
No connector properties were introduced or modified for this version of the interim fix.


To upgrade to the interim fix version 7.0.0.4_IF03, 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 fix pack for EMD, delete the connector project in WebSphere Integration Developer (WID), 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.
3. If you need to update deployed applications using embedded adapter on WebSphere Process Server (WPS) or WebSphere Enterprise Service Bus (ESB), do the following:
   a. Select Update for the corresponding application on the WPS or ESB administrative console.
   b. Select Single Module with a relative path as name of the RAR file - CWYBC_JDE.rar.
   c. Click Browse on the local file system to select the updated RAR file that has the changes.
   d. 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.
4. If you need to update deployed applications using stand-alone adapter on WPS or ESB, do the following:
   a. Stop all deployed applications using the stand-alone adapter on the WPS or ESB administrative console.
   b. Re-deploy the stand-alone resource adapter with the new RAR.
   c. Re-deploy all the applications using stand-alone adapter.


May 17, 2012 6:00 PM
(C) Copyright 2011 IBM Corporation