可以给出输出的 InteractionSpec 和 ConnectionSpec 属性,以便在执行事务之后 Java™ 应用程序可以获取属性值。要给出输出的 InteractionSpec 属性,必须创建新的输出类并修改 J2C Java bean 的接口文件和实现文件才能在应用程序中使用。
package sample.cics.data; public class WrapperBean { protected CustomerInfo customerInfo; protected String funcName; /** * @return Returns the functionName. */ public String getFuncName() { return funcName; } /** * @param functionName The functionName to set. */ public void setFuncName(String functionName) { this.funcName = functionName; } /** * @return Returns the customerInfo. */ public CustomerInfo getCustomerInfo() { return customerInfo; } /** * @param customerInfo The customerInfo to set. */ public void setCustomerInfo(CustomerInfo customerInfo) { this.customerInfo = customerInfo; } }
以下是经过更新的方法。需要进行的更改是用粗体标记的,而已经更改的已生成代码是用斜体标记的:
/** * @j2c.interactionSpec class="com.ibm.connector2.cics.ECIInteractionSpec" * @j2c.interactionSpec-property name="functionName" value="TADERC99" * @j2c.interactionSpec-returnProperty name="functionName" outputBinding="funcName" * @generated */ public WrapperBean getCustomer(sample.cics.data.CustomerInfo arg) throws javax.resource.ResourceException { ConnectionSpec cs = getConnectionSpec(); InteractionSpec is = interactionSpec; if (is == null) { is = new com.ibm.connector2.cics.ECIInteractionSpec(); ((com.ibm.connector2.cics.ECIInteractionSpec) is).setFunctionName("TADERC99"); } sample.cics.data.CustomerInfo output = new sample.cics.data.CustomerInfo(); invoke(cs, is, arg, output); WrapperBean bean = new WrapperBean(); bean.setCustomerInfo(output); bean.setFuncName(((com.ibm.connector2.cics.ECIInteractionSpec) is).getFunctionName()); return bean; }