Свойства InteractionSpec и ConnectionSpec можно экспортировать в качестве выходных данных, предоставляя приложению Java возможность получать значения свойств после выполнения транзакции. Для экспорта свойств InteractionSpec в качестве выходных данных требуется создать новый класс выходных данных и внести изменения в файлы интерфейса и реализации JavaBean J2C.
package sample.cics.data; public class WrapperBean { protected CustomerInfo customerInfo; protected String funcName; /** * @return Returns the functionName. */ public String getFuncName() { return funcName; } /** * @param functionName Параметр functionName, который требуется задать. */ public void setFuncName(String functionName) { this.funcName = functionName; } /** * @return Возвращает customerInfo. */ public CustomerInfo getCustomerInfo() { return customerInfo; } /** * @param customerInfo Параметр customerInfo, который требуется задать. */ 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; }