This section provides WebLogic Integration 8.1.x or 8.5.x to Oracle WebLogic Integration 10g Release 3 (10.3.1) upgrade information for the following components:
Oracle WebLogic Integration upgrades only Oracle WebLogic Integration controls used as a control factory from a JPD. WLI updates the source as follows:
@com.bea.wli.common.ControlFactory
@ org.apache.beehive.controls.api.bean.Control
private SampleControlExtension sampleControlExtCF;
public <Control Extension type> create();
public SampleControlExtension create();
@com.bea.wli.common.ControlFactoryEventHandler
annotation to the event handler method in the JPD. For example, @ com.bea.wli.common.ControlFactoryEventHandler(field = "sampleControlExtCF", eventSet = SampleControlExtension.Callback.class, eventName = "response")
public void receive(SampleControlExtension bean, String data)
Timer control does not have a control extension. In case of timer control used from a control factory, the upgrader creates a TimerControlFactory control extension class in the same package as the JPD.
For non-Oracle Weblogic Integration controls used as a control factory from JPD, user must take the following steps after upgrade to be able to use the control from the control factory:
@com.bea.wli.common.ControlFactory
annotation to the control field declaration in the JPDpublic <Control Extension type> create();
public SampleControlExtension create();
@com.bea.wli.common.ControlFactoryEventHandler
annotation to the event handler method in the JPD. For example, @ com.bea.wli.common.ControlFactoryEventHandler(field = "sampleControlExtCF", eventSet = SampleControlExtension.Callback.class, eventName = "response")
public void receive(SampleControlExtension bean, String data)
Oracle WebLogic Integration upgrades XQuery files through the upgrade of DTF files. The DTF file contains references to XQuery files that are upgraded along with the DTF file. When the XQuery file is upgraded, Oracle WebLogic Integration includes a comment, at the beginning of the file, that indicates that the file belongs to version 2002.
For example, an XQuery file before the upgrade contains the following:
{-- Project3/SwitchAssignTransformation.dtf#forAssign2Copy01 --}
xs:boolean( 'false' )
The XQuery file after the upgrade contains the following:
{-- Project3/SwitchAssignTransformation.dtf#forAssign2Copy01 --}
{-- version=2002 --}
xs:boolean( 'false' )
Note: | Oracle WebLogic Integration displays a warning message in case you select an upgrade action on an XQuery file stating that the file cannot be upgraded. |
Caution: | The Xquery within the XQuery files are not upgraded to version 2004: they remain in the version of the original file before the upgrade. |
Oracle WebLogic Integration upgrades control declarations using @Control
according to the Apache Beehive standard. The JPD callback field is annotated with @Callback
. The callback interface is annotated with @CallbackInterface
. The Callback interface declaration remains a part of the JPD definition and extends the ServiceBrokerControl
.
According to the Apache Beehive standards, Oracle WebLogic Integration also annotates control callback handler methods using @EventHandler()
.
All the methods in the process definition that are referenced from the <controlReceive\>
XML snippet are annotated during the upgrade with the @EventHandler
annotation.
Note: | Control callbacks can be sent to a JPD only by using ControlHandle.sendEvent . |
Note: | For example, add the following code to the MyCustomControlImpl.java file after upgrade: |
Note: | System.out.println("Before sending event to jpd in MyCustomControlImpl event |
Note: | handler"); |
Note: | ControlHandle controlHandle = context.getControlHandle(); |
Note: | try { |
Note: | Method m = MyCustomControl.Callback.class.getMethod("response", |
Note: | XmlObject.class); |
Note: | EventRef event = new EventRef(m); |
Note: | controlHandle.sendEvent( event, new Object[]{payload}); |
Note: | } |
Note: | catch(Exception e) { |
Note: | e.printStackTrace(); |
Note: | } |
In WebLogic Integration 8.1.x and 8.5.x applications, the entire process language was specified using @jpd:process
. However, for Oracle WebLogic Integration 10g Release 3 (10.3.1) the process language is upgraded to @com.bea.wli.jpd
. The Process annotation has a process
attribute that contains the entire process language string.
When the DTF files are upgraded, they are renamed with a .java
extension. All the DTF files in WebLogic Integration 8.1 annotations are upgraded to JSR-175-based annotations. All the controls are converted to Apache Beehive controls.
The DTF files in WebLogic Integration 8.1 have similar functions as other Oracle WebLogic Integration controls, but they are abstract classes unlike other controls, which are interfaces. The DTF class contain metadata-specified methods, and well coded methods that are specified by actual Java method bodies that are called by the XQuery engine.
DTF annotations that contained xquery
and xquery-ref
attributes indicating XQuery version 2002 have a new xqueryVersion
attribute in Oracle WebLogic Integration 10g Release 3 (10.3.1).
Oracle WebLogic Integration 10g Release 3 (10.3.1) upgrades all import statements and adds new import statements where required. For example, a WebLogic Integration 8.1 DTF file that contains an annotation is as follows:
/**
* @dtf:transform xquery-ref="switchXqAssign2defaultAssign_1Copy01.xq"
*/
When this DTF file is upgraded to Oracle WebLogic Integration 10g Release 3 (10.3.1), it is as follows:
@XQueryTransform(value = "switchXqAssign2defaultAssign_1Copy01.xq",
transformType = XQueryTransform.TransformMethodType.xquery_ref,
@com.bea.wli.common.XQuery(version= com.bea.wli.common.XQuery.Version.v2002)
There are no changes to the definition of Channel files. Channel files do not get upgraded during the upgrade process. However, they are moved into the Utility project in the Oracle WebLogic Integration application.