![]() ![]() ![]() ![]() ![]() ![]() |
This section provides WebLogic Integration 8.1 to 9.2 upgrade information for the following components:
The WebLogic Integration upgrader upgrades only WebLogic Integration controls used as a control factory from a JPD. The upgrader makes the following source changes:
@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-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)
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, WebLogic Integration includes a comment, at the top 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: | WebLogic Integration displays a warning message in case you select an upgrade action on an XQuery file. This warning message states 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. |
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, 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.x applications, the entire process language was specified using @jpd:process
. However, for WebLogic Integration 9.2 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 re-named 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 WebLogic Integration controls, but they are abstract classes unlike other controls, which are interfaces. The DTF class contain metadata-specified methods, and fully-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 WebLogic Integration 9.2.
WebLogic Integration 9.2 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 WebLogic Integration 9.2, 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)
Channel files do not get upgraded during the upgrade process. They are moved into the Utility projects in Eclipse.
![]() ![]() ![]() |